传统51单片机,at89c52在只考虑软件,能否精确延时1s没有误差

2020-02-05 09:04发布

实在是想不明白,做了很多实验,用keil 软件模拟,没有发现没有误差,只能是相对比较小,我是用C语言编写的。
不过用汇编可能好一些,但不知道能不能实现精确延时。
哪位高人有好的算法,请指点

公司一长着说完全可以实现。题目要求用11.0592的晶振。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
sync765
1楼-- · 2020-02-05 09:25
不可能完全没有误差的
晶振本身还带有误差呢

就看你的精度要求了
sync765
2楼-- · 2020-02-05 15:03
本帖最后由 sync765 于 2012-6-16 15:27 编辑

网速卡
发重复了
ilikemcu
3楼-- · 2020-02-05 15:46
没有误差的说法本身就有误差,确切地讲,应该有一个允许的误差范围。用延时要达到高精度,必须在程序中没有任何中断,否则延时的时候,执行了中断程序,你很难扣除这段时间产生的误差。不过这样的话,貌似定时器全废了,把好好的定时器废掉,确用有限的CPU资源去执行一个需要高精度的延时?实在想不通
ilikemcu
4楼-- · 2020-02-05 18:14
 精彩回答 2  元偷偷看……
wojiushiwolxw
5楼-- · 2020-02-05 23:25
多多少少都会有误差,推荐你个单片机小精灵,算的还是比较准确的。
fuxg02
6楼-- · 2020-02-06 02:24
精确延时1S?
精确到什么程度???所谓的误差永远是相对存在的,只是大小的区别而已
具体看你的项目要求高低了
无源晶振需有适当值的电容配合
有源晶振相对会准确一点
也可以挂示波器实测晶振的频率后再去计算软件延时的参数
还可以根据延时的结果去反向调整延时参数
等等等等

一周热门 更多>