soma 发表于 2024-9-29 10:07:50

liuzonggong 发表于 2024-9-29 09:23
好好看看文档,有的计时器不支持重载。必须在中断中重新写数据。
看了数据手册定时器0支持重装载,只有在模式1时需软件重装,
上面软件tmod寄存器设置是16位自动重装载
故不需要在定时器中断内重新加载th0,tl0。

梁工 发表于 2024-9-29 10:09:50

liuzonggong 发表于 2024-9-29 09:23
好好看看文档,有的计时器不支持重载。必须在中断中重新写数据。

所有定时器均支持16位自动重装

前行者 发表于 2024-9-29 17:39:27

乘风飞扬 发表于 2024-9-29 09:00
你是如何判断定时器中断是否产生的?
如果是靠观察P0口是否取反的话,那就是变量 a 的定义问题。
你的 a 是 ...

加了静态变量static可以了,还是在定义变量的时候大意了{:4_198:}多谢{:4_196:}

前行者 发表于 2024-9-29 17:44:21

谢谢大家的指导,把定时器中断里的变量a改成了静态变量static可以了,其他程序都没动,可以正常运行了,感谢论坛里的大神们,还要多向你们学习{:4_196:}

jwd 发表于 2024-9-29 20:54:04

这种仿真一下应该可以发现问题

小坤 发表于 2024-9-30 08:08:49

a的问题,设置成全局变量或者静态static
页: 1 [2]
查看完整版本: 8051U的定时器竟然用不好了 | 加了静态变量static可以了