你好!!
你在蜂鸣器一直再响,是因为你的单片机程序一直在重新启动;
你的程序少了while 的循环,在程序的结尾加上:
while(1){}
完整的代码是:
#include
sbit Beep = P1^5 ;
void delay(unsigned int i) ;
void main()
{
unsigned int m,n=1;
for(m=0;m<2000; m++)
{
Beep= 1;
delay(5);
Beep= 0;
delay(5);
while(1){}
}
void delay(unsigned int i)
{
char j;
for(i; i > 0; i--)
for(j = 200; j > 0; j--);
}
目测是delay时间太短,导致声响还没结束,下一声又响了,加到足够大的延时(几秒)再看