第1个回答 2017-12-25
定时50ms中断一次,600次就是30s,这时将某管脚取反一次即可
sbit LED =P1^0;//定义管脚
uint a=0;//计中断次数的变量
TMOD=0x10; //定时器1工作在定时方式1
TH1=(65536-50000)/256; //定时50毫秒
TL1=(65536-50000)%256;
ET1=1;EA=1;
TR1=1;
void timer1(void) interrupt 3//中断子程序
{
TH1=(65536-50000)/256; //定时50毫秒
TL1=(65536-50000)%256;
a++;
if(a==600){a=0;LED=!LED;}//600次是30s LED就就是要输出高低电平的管脚
}