说明
用开关控制报警器,程序控制P1.0输出两种不同频率的声音,模拟逼真的报警效果
Proteus仿真
使用到的元器件:
单片机:AT89C51
电容:CAP
极性电容:CAP-ELEC
电阻:RES、RESPACK-8
晶振:CRYSTAL
开关:SW-SPDT
蜂鸣器:SOUNDER
C51代码
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit Beep = P1^0;
sbit Switch = P1^7;
//发声函数
void Alarm(uchar t)
{
uchar i,j;
for(i=0;i<200;i++)// 控制 蜂鸣器持续时间
{
Beep = ~Beep;// 使蜂鸣器 每次循环反转状态,实现 振荡发声
for(j=0;j<t;j++);// 使蜂鸣器 每次循环反转状态,实现 振荡发声
}
}
void main()
{
while(1)
{
if(Switch == 1)//开关打开
{
//产生两个频率的声音
Alarm(90);
Alarm(120);
}
}
}