51单片机控制蜂鸣器发出911声音c程序如下,求老师详细讲解,谢谢(最好可以详细讲解一下frq怎样使用的)

main()
{
TMOD = 0x01;
frq = 0x00;
TH0 = 0x00;
TL0 = 0xff;
TR0 = 1;
IE = 0x82;

while(1)
{
frq++;
delayms(1);
}
}
void timer0() interrupt 1 using 1
{
TH0 = 0xfe;
TL0 = frq;
SPK = ~SPK;
}

什么叫911声音??不明白

看程序应该是发出的声音频率越来越高,然后突然降低,再越来越高,如此循环
main()
{
TMOD = 0x01; //设定时方式1,16位定时器
frq = 0x00;
TH0 = 0x00; //赋初值
TL0 = 0xff; //赋初值
TR0 = 1; //开始计数
IE = 0x82; //允许中断

while(1)
{
frq++; //每个毫秒增加频率,直至frq=0,频率下降,如此循环
delayms(1);
}
}
void timer0() interrupt 1 using 1
{
TH0 = 0xfe;
TL0 = frq; //根据frq改变定时器的值
SPK = ~SPK; //发出占空比50%的音频
}
温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机控制蜂鸣器发出911声音c程序如下,求老师详细讲解,谢谢(最好可 ...
看程序应该是发出的声音频率越来越高,然后突然降低,再越来越高,如此循环 main(){ TMOD = 0x01; \/\/设定时方式1,16位定时器 frq = 0x00;TH0 = 0x00; \/\/赋初值 TL0 = 0xff; \/\/赋初值 TR0 = 1; \/\/开始计数 IE = 0x82; \/\/允许中断 while(1){ frq++; \/\/每...

求51单片机蜂鸣器程序
51单片机,编写延时程序,控制蜂鸣器发声:很简单的#include<reg52.h>#define uchar unsigned char#define uint unsigned int sbit fengmingqi=P0^0; \/\/声明IO口void delay(uint x)\/\/延时子函数{ uint i,j;for(i=x;i>0;i--)for(j=50;j>0;j--);}void main(void){while(1) \/\/循环{fe...

求51单片机蜂鸣器播放音乐的教程 C语言
define uint unsigned int define ulong unsigned long sbit BEEP=P2^0; \/\/喇叭输出脚uchar th0_f; \/\/在中断中装载的T0的值高8位 uchar tl0_f; \/\/在中断中装载的T0的值低8位 uchar key;\/*--- 函数声明 ---*\/ uchar keyscan(void);\/\/键盘扫描程序 void delay(uint i); \/\/延时子程序...

51单片机蜂鸣器程序是什么?
51单片机蜂鸣器程序为:include"reg52.h"typedef unsigned char u8;typedef unsigned int u16;sbit beep=P1^5;void delay(u16 i){ while(i--);} void main(){ while(1){ beep=~beep;delay(1000);\/\/控制音调频率 beep=~beep;\/控制声音大小 delay(10);} } ...

本人初学51单片机,请教大神这个驱动这个蜂鸣器响?谢啦,下面是原理图...
4口来控制的,当p1.4口为高电平时,UNL2003中的三级管就可导通,这个时候蜂鸣器的那个接OUT7的引脚就会变成低电平,这个时候蜂鸣器就有了工作电压了。UNL2003里边其实就是一组三级管组成的OC(集电级开路)门。目的是为了提高驱动电流的。因为单片机的引脚输出和输入电流有限。

怎样控制51单片机的蜂鸣器发出不同频率的声音?
TR0 = 1;\/\/启动定时器\\x0d\\x0a while(1);\/\/死循环等蜂鸣器响。\\x0d\\x0a}\\x0d\\x0avoid Timer0Interrupt(void) interrupt 1\\x0d\\x0a{\\x0d\\x0a TH0 = 0x0EE;\\x0d\\x0a TL0 = 0x00;\\x0d\\x0a BEEP=!BEEP;\/\/变换一次蜂鸣器\\x0d\\x0a} ...

有哪位大神知道51单片机蜂鸣器响1秒的c程序怎么写?
sbit key=P1^4;void t0isr() interrupt 1 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;cnt++;if(cnt>20){ TR0=0;cnt=0;fmq=1;} } main(){ TMOD=0x01;TH0=(65536-50000)\/256;TL0=(65536-50000)%256;ET0=1;EA=1;while(1){ if(key==0){ while(key==0);TR0=1;fmq...

求教,怎样控制51单片机的蜂鸣器发出不同频率的声音
蜂鸣器是不能发出不同频率的声音的,要发出不同频率的声音,你需要选择speaker,比如:include<reg51.h> define uchar unsigned char define uint unsigned int sbit SPK=P1^0;sbit K1=P1^7;\/\/发声函数 void Alarm(uchar t){ uchari,j;for(i=0;i<200;i++){ SPK=~SPK;for(j=0;j<t;j...

为什么我的51单片机蜂鸣器程序需要加延时才响呢?
迸一步判断有源蜂鸣器和无源蜂鸣器,还可以用万用表电阻档Rxl档测试:用黑表笔接蜂鸣器 "+"引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂鸣器;如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器。

使用51单片机蜂鸣器播放音乐 求keil程序
\/\/主程序查音符码,将不同的初值装入定时器,定时器每中断一次,P3.7取反一次,形成不同频率的方波 \/\/11代表低音哆 21代表高音哆 1代表中音哆 \/\/12代表低音来 22代表高音来 2代表中音来,是不是翻译乐谱很方便 include<reg52.h> sbit SPK = P3^7; \/\/P3.7外接扬声器,可以改成你所说的...

相似回答