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
1楼-- · 2019-07-16 03:14
人中狼 发表于 2018-4-23 14:11
要想能够定时us级,那么单片机的工作频率就要高于us级,假设不计算定时器中断程序的操作时间,那么定时1us,单片机的工作频率就要至少高于1M,当单片机达不到要求时,就要重新选单片机了,这不是如何做到us级定时的问题,而是单片机硬件是否能做到us定时的问题 ...

定时us级,要单片机的工作频率高于1M,而12MHz晶振的单片机的工作频率刚好是1M,所以定时不了,是这么说吗?
yhang18
2楼-- · 2019-07-16 03:48
烧程序的时候选6T试试
wulinwl
3楼-- · 2019-07-16 06:05
 精彩回答 2  元偷偷看……
GreatDream
4楼-- · 2019-07-16 09:19
wulinwl 发表于 2018-4-25 13:27
你这个问题是你上一个贴子问题的延续,以51单片机12MHz晶振为例,定时器可以设置1~65536us,也就是说精度可以达到1us,但小于10us的定时周期基本没有意义。cpu执行一条指令需要1~4us,这么点时间你能干嘛。“12MHz晶振的单片机为什么只可以定时1ms以上”的说法没有依据,我时常用到方式2的100~200us定时,从没遇到不正常。 ...

首先我用的是定时器定时,不知是什么是我代码的原因,还是什么原因吧,定时1ms以下好像不行吧。
还有就是10us以下时间虽然对实际没什么意义,但对于机械来说意义就很大了。
所以说,要想定时us要怎么做?会的话具体解释一下?
GreatDream
5楼-- · 2019-07-16 12:10
要用到什么单片机?什么频率的晶振?还有其他的什么?都具体地说一下吧。
ct1117
6楼-- · 2019-07-16 12:26
楼上蛮专业的,学习了。

一周热门 更多>