- #include
-
- 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){
- ;
- }
-
- }