MCU专家 发表于 2025-6-24 15:29:13

定时器中断实现秒闪

《定时器中断实现秒闪》
🕰️ 定时器初始化c


复制


下载





TMOD = 0x01;// 定时器0模式1TH0 = 0x3C;   // 50ms初值(12MHz晶振)TL0 = 0xB0;    ET0 = 1;      // 允许定时器0中断EA = 1;       // 总中断允许TR0 = 1;      // 启动定时器
🔢 中断服务程序c


复制


下载





void timer0() interrupt 1 {    static unsigned char count = 0;    TH0 = 0x3C;// 重装初值    TL0 = 0xB0;    if(++count >= 20) { // 20*50ms=1s      count = 0;      LED = !LED;   // 每秒翻转    }}
⚠️ 避坑提醒
[*]必须手动重装初值(模式1不会自动重载)
[*]中断号不能写错(定时器0对应interrupt 1)

页: [1]
查看完整版本: 定时器中断实现秒闪