定时器中断实现秒闪
《定时器中断实现秒闪》🕰️ 定时器初始化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]