eiaydxyb 发表于 2026-4-3 14:43:56

定时器2中断测试 | 可以了

定时器2中断可以这样写吗?烧录进去不计时。应该是没有启动定时器。芯片型号是STC8G1K08。


void Timer2_Init(void)                //50毫秒@11.0592MHz
{
      AUXR &= 0xFB;                        //定时器时钟12T模式
      T2L = 0x00;                              //设置定时初始值
      T2H = 0x4C;                              //设置定时初始值
      AUXR |= 0x10;                        //定时器2开始计时
      IE2 |= 0x04;      // 使能定时器2中断
}
void Timer2_ISR(void) interrupt 12
{
    t2_count++;
                if(t2_count == 20)                // 秒加1
                {
                        t2_count = 0;
                        second++;         PIR_PIN = !PIR_PIN;               
                }
                if(second == 60)                // 分加1
                {
                        second = 0;
                        minute++;
                        if(minute==600)
                        {
                              minute=0;
                              IE2 |= 0x00;
                              AUXR |= 0x00;                        //定时器2关闭
                        }
                }
}


AI芯 发表于 2026-4-3 15:39:24

用的是8脚的芯片吗?8脚无定时器2。20脚有定时器2。

eiaydxyb 发表于 2026-4-3 15:47:18

AI芯 发表于 2026-4-3 15:39
用的是8脚的芯片吗?8脚无定时器2。20脚有定时器2。

可以了,谢谢。用的是16脚的

_奶咖君_ 发表于 2026-4-3 16:45:15

没看到main函数,,估计是忘开EA了吧{:4_187:}
页: [1]
查看完整版本: 定时器2中断测试 | 可以了