单片机精确定时

2019-07-17 19:01发布

使用的单片机是STC89C52,晶振是12MHZ,延时函数如何精确地设置为20微秒?用for形式。跪求高手指导。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
周生gbk
1楼-- · 2019-07-17 20:01
延时函数通常不用做“精确定时”,程序执行也会消耗时间(一个机器周期1微妙,一条指令1到4毫秒),毫秒级定时的话用for就得实际调试程序。精确定时的话最好用定时器,赋相应初值就可以。
Daojia985
2楼-- · 2019-07-17 22:45
用定时器0.用中断。
竹叶莫凡
3楼-- · 2019-07-18 01:53
 精彩回答 2  元偷偷看……
CHNlyt
4楼-- · 2019-07-18 05:01
竹叶莫凡 发表于 2013-5-29 12:57
unsigned int i;
unsigned int j;
for(i=20;i>0;i--)

这个不是晶振为11.059MHZ的延时方案吗?能不能说说12MHZ的呢?还有就是这些i=20,i=110等等这些是怎么计算出到底延时了多久呢?也就是说延时的计算方法呢~~嘿嘿
伏尔加的鱼
5楼-- · 2019-07-18 06:12
不用for跟容易实现
CHNlyt
6楼-- · 2019-07-18 10:32
伏尔加的鱼 发表于 2013-6-10 00:10
不用for跟容易实现

跪求赐教,不用汇编,要用C语言的

一周热门 更多>