单片机报警声设计用AT89S51设计一种声音报警灯,对于这种报警声,嘀0.2秒钟,然后断0.2秒钟,如此循环下去,假设嘀
1个回答

//定义管脚

sbit pause= P1^0;

unsigned char t1_cnt;

void main(void)

{

TMOD|=0X11;

TH0=(65536-500)/256; //定时500微秒

TL0=(65536-500)%256;

TR0=1;

ET0=1;

TH1=(65536-50000)/256; //定时50000微秒

TL1=(65536-50000)%256;

TR1=1;

ET1=1;

EA=1;

t1_cnt=0;

while(1);

}

void int_t0(void) interrupt 1//定时器0中断

{

TH0=(65536-500)/256; //定时500微秒

TL0=(65536-500)%256;

pause=~pause;

}

void int_t1(void) interrupt 3 //定时器1中断

{

TH1=(65536-50000)/256; //定时50000微秒

TL1=(65536-50000)%256;

t1_cnt++;

if(t1_cnt >=4)

{

t1_cnt=0;

ET0=~ET0;

}

}