关于51单片机定时器问题

2025-03-12 23:57:31
推荐回答(2个)
回答1:

第一 ,变量 定义 uchar temp;a;b; 中间的 2个 冒号 应该是 逗号(uchar tmep,a,b;),使用 分号的俺还真没 试过;
第二,定时器的 2处 初始化值 均错误,TL1=(65536-50000)%256,是 % 运算,不是 / 运行,TH1 是正确的。
第三,按12MHz 晶振计算,定时器为 50ms 中断,程序 的内容 是 1s 数码管 更新一个数0-F,1s 流动 一个 LED灯,一个周期 是 8s 而不是 1s。想要 周期为 1s 的话,定时器的时间应该 是 125ms,一次性 都 定时不到,就只能是 定时 25ms,分5次,为一 颗灯 的时间,40次 为一个数码管 数值 的时间。

回答2:

只要TRX为1计数不会停止?

不会停。

执行中断服务程序后,各定时器是否继续计数?
不受影响。

在执行T0中断服务程序时,T1定时器溢出,由于优先级,不能执行T1中断服务程序,此时T1定时器各位如何变化?
继续。

定时器溢出后是否自动清零?
清。
希望能解决您的问题。