#include <reg52.h>
unsigned int cnt = 0;
sbit led = P1^1;
// 初始化定时器
void TimerSetup(){
TMOD = 0x01; // 定时器的第1个模式
TH0 = 0xB8; // 定时器的初始值-高位
TL0 = 0x00; // 定时器的初始值-低位
TR0 = 1; //启动定时器
cnt = 0;
EA = 1; // 开启总中断
ET0 = 1; // 时间中断初始化
}
// 中断1-时间T0触发
void interrup() interrupt 1
{
TF1 = 0; // 定时器溢出归位
TH0 = 0xB8; // 定时器数值重置-高位
TL0 = 0x00; // 定时器数值重置-低位
cnt++;
// 中断的次数超过了50次, 50*0.02 = 1 秒
if(cnt > 50) {
led = ~led;
cnt = 0;
}
}
void main(){
led = 1; // 初始化LED是亮的
// 初始化定时器和中断配置
TimerSetup();
while(1){
;
}
}