12M晶振下的ATmega16如何设计准确的毫秒级延时函数我写的是18B20的程序需要很准确的延时。

12M晶振下的ATmega16如何设计准确的毫秒级延时函数我写的是18B20的程序需要很准确的延时。,第1张

今天的程序,经过PROTEUS仿真,基本正常。只是在:

numtab 后面少了个DB。

即:

numtab: DB 040H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,00H,10H

END

-----------

昨天的程序,确实是不能正常工作,只是显示00。

在这两个函数参数的类型没多大关系的(延时us用Int可能是因为us到ms是1000就足够了,延时ms用uint可以在调用一次该函数时的最大延时时间能更久点)

用while(time!=0)的意思是在循环中time--后time等于0 时退出循环(用什么请根据时钟来决定,你也可以用time>1啊,但延时的时间可能没while(time!=0)更接近需要延时ms的时间,实际和单片机的时钟有关)

这个程序应该是板子上延时的程序。

a就是需要延迟的毫秒数(也可能是其他单位)。

就是说,执行 for(i=0;i<600;i++);的时间应该是一个单位长度(可能为1ms);

这样,你在调用的时候,赋值给a多少值,实际就是延时多少毫秒。

例如,延时10ms,就用

delay(10);

延时1ms,就用

delay(1);

以上就是关于12M晶振下的ATmega16如何设计准确的毫秒级延时函数我写的是18B20的程序需要很准确的延时。全部的内容,包括:12M晶振下的ATmega16如何设计准确的毫秒级延时函数我写的是18B20的程序需要很准确的延时。、AVR单片机毫秒和微秒延时程序为什么不同、c语言延时1ms程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9460051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存