请问以下这个程序段为什么可以使蜂鸣器响??

void beep()
{
unsigned char i , j;
for (i=0;i<100;i++)
{

BEEP=!BEEP; //BEEP取反
for (j = 0 ; j<250 ; j++) //需要产生方波
_nop_();
}
BEEP=1; //关闭蜂鸣器
}

第1个回答  2014-02-01
真乃神人也~
第2个回答  2014-02-02

首先_nop_()是汇编语言中能够产生精确延时的语句,这里嵌入到C语言中使用;

然后就是这个函数是不能是蜂鸣器发出声音的,这里只是对BEEP的取值在时间上进行控制,

你的程序里需要一个库函数beep(int a ,int b),这个函数能够发出频率位a HZ,时长为b 毫秒的声音。 

本回答被提问者和网友采纳
相似回答