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

2024-11-07 11:30:30
有1个网友回答
网友(1):

什么叫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%的音频
}