一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
12
返回列表 发新帖
楼主: blueruby
收起左侧

[51单片机] 51大家都用的是什么样的延时程序?

[复制链接]
发表于 2016-3-9 14:08 来自手机 | 显示全部楼层
楼主看下反汇编吧,就清楚了
发表于 2016-3-9 14:11 来自手机 | 显示全部楼层
sln.1550 发表于 2016-3-9 13:03
代码如果写的好,就只有晶振的误差,温度会影响。当然DS1302之类的也是靠晶振来计时的,如果晶振温漂一样, ...

代码再好也没用,c就不可能做到精确,除非用汇编,一条一条指令的精确计算,如果有中断的话,被中断打断,汇编也没用了
发表于 2016-3-9 15:13 | 显示全部楼层
C语言里面的延时普遍不太准,我用的延时函数就是下面这个:
void delay(unsigned int Dtime)
{
        while(Dtime--);
}
精确延时我一般使用nop,或者动用定时器。
发表于 2016-3-12 14:17 | 显示全部楼层
我用的延时实际上是等待  os_wait2(2,x);
等待1-255个T0溢出
需要rtx51系统支持
发表于 2016-3-12 14:51 | 显示全部楼层
定时器。。。
发表于 2016-3-13 16:34 来自手机 | 显示全部楼层
用操作系统吧
发表于 2016-3-13 16:34 来自手机 | 显示全部楼层
用操作系统吧

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-19 14:19 , Processed in 0.048084 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表