#include <reg52.h>
#include <math.h>
#define uint unsigned int
#define uchar unsigned char
sbit fm=P1^7;//蜂鸣器
uint aa=0,c;
void Delay1ms(unsigned int i) //1ms延时程序
{
unsigned int j;
for(;i>0;i--)
{
for(j=0;j<125;j++)
{;}
}
}
void init()//初始化设置
{
TMOD=0x01;//定时器0作为定时器用
TH0=965536-5000)/256;//定时50ms
TL0=965536-5000)%256;
EA=1;//开总中断
ET0=1;//允许定时器1中断
TR0=1;//启动定时器
}
void main()//主程序很简单
{
init();//初始化
c=3600*8;
while(1)//循环程序
{
while(c!=0);
c=3600*8;
fm=1;//报警
Delay1ms(5000) ;
fm=0;//报警停止
}
}
void timer0()interrupt 1//定时器0的中断序号为1
{
aa++;
TH0=965536-5000)/256;//定时50ms
TL0=965536-5000)%256;
if(aa==20)//中断10次,共1S
{
aa=0;
c--;
}
}
温馨提示:答案为网友推荐,仅供参考