1. 实验任务
用P1.0 输出1KHz 和500Hz 的音频信号驱动扬声器,作报警信号,要求1KHz
信号响100ms,500Hz 信号响200ms,交替进行,P1.7 接一开关进行控制,当
开关合上响报警信号,当开关断开告警信号停止,编出程序。
2.电路图
3.C 语言源程序
#include <AT89X51.H>
#include <INTRINS.H>
bit flag; //此定义有啥作用?
unsigned char count;
void dely500(void)
{
unsigned char a,b;
for(b=71;b>0;b--)
for(a=2;a>0;a--);
}
void main(void)
{
while(1)
{
if(P1_7==0)
{
for(count=200;count>0;count--) //此语句的作用?
{
P1_0=~P1_0;
dely500();
}
for(count=200;count>0;count--)
{
P1_0=~P1_0;
dely500();
dely500();
}
}
}
}
4.问题见上面程序红色字注解,由于才开始学,看不明白。希望有知道的帮忙解释一下。
|