单片机at89c51用C语言编写报警器

报警信号用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行。开关K1进行控制,当开关合上响警报信号,当开关断开警告信号停止。
我不要百度已有的,要有中断系统,
每句后面有解析的,AT89C51的
1506260101

#include<reg51.h>
#define uchar unsigned char
uchar time;
sbit spk=P1^0;
void t0isr() interrupt 1
{
TH0=t_h;
TL0=t_l;
spk=~spk;
}
void t1isr() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
time++;
time%=6;
if(time==0)
{
t_h=(65536-500)/256;
t_l=(65536-500)%256;
}
if(time==2)
{
t_h=(65536-1000)/256;
t_l=(65536-1000)%256;
}
}
main()
{
TMOD=0x11;
t_h=(65536-500)/256;
t_l=(65536-500)%256;
TH0=t_h;
TL0=t_l;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR0=1;
TR1=1;
ET0=1;
ET1=1;
EA=1;
while(1);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-02
百度哪有这个东西啊。都是现写的
第2个回答  2017-12-03
写这个程序,一般都要一个钟以上,
第3个回答  2017-12-04
这点分有人帮你写就不错了 还想再加解析,谁会浪费这个时间
相似回答