12MHz晶振的单片机为什么只可以定时1ms以上?

2019-07-15 08:35发布

12MHz晶振的单片机为什么只可以定时1ms以上?
TH1 = 0XFF;
TH0 = 0XFF;这个不是1us的定时吗,为什么不行,要到1ms才行?
如果想要定时1us,要怎么弄?



补充内容 (2018-4-23 13:29):
上面写错了,TH0要改为TL1...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
GreatDream
2019-07-16 01:03
人中狼 发表于 2018-4-23 10:19
定时器的定时不是这样算的,标准51是12分频的,12M的晶振分频后只有1M,这是机器时钟频率,这时一个NOP汇编指令是1u秒,这是最快的指令,所以这种情况下无法定时到1u秒,定时器中断产生后进入中断程序需要一定的现场保护指令,然后还有用户在定时器中断里需要执行的代码,所以定时器所设定的定时时间要大于这些时间的总和 ...

要定时us级的,可以怎么弄?
还有就是要这个us级定时是可变的,就是你可以随便改数字,例如999,就是定时999us;555就是定时555us。这要怎么弄?

一周热门 更多>