延时函数c语言1ms c语言延时函数delay延时1秒

单片机外接12M的晶振,1ms的基准延时函数用C语言怎么写?

/*-----------------------------------------------

10年积累的做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有监利免费网站建设让你可以放心的选择与我们合作。

名称:delay1ms()

功能:延时1ms

晶振:12MHz 机器周期1us

时间计算:t=2+1+995+2=1000us =1.000ms

-----------------------------------------------*/

void delay1ms(void) //延时1ms子程序

{

unsigned char i,j;

for(i=5;i0;i--)

for(j=98;j0;j--);

}

对应汇编

/*-----------------------------------------------

名称:delay1ms

功能:延时1ms

晶振:12MHz 机器周期1us

时间计算:t=2+1+995+2=1000us =1.000ms

-----------------------------------------------*/

LCALL DELAY1MS ;2us

DELAY1MS:

MOV R6,#5 ;1us

DEL1: MOV R7,#98 ;1us

DJNZ R7,$ ;2*98=196us

DJNZ R6,DEL1 ;2us DLE1执行完所用时间(1+196+2)*5=995us。

RET ;2us

c语言延时1ms程序

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

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

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

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

例如,延时10ms,就用

delay(10);

延时1ms,就用

delay(1);

51单片机c语言延时函数 Void delay 1ms(unsigned int ms){un

delay函数是一般自己定义的一个延时函数。

C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。

关于单片机C语言的精确延时,网上很多都是大约给出延时值没有准确那值是多少,也就没有达到精确高的要求,而本函数克服了以上缺点,能够精确计数出要延时值且精确达到1us,本举例所用CPU为STC12C5412系列12倍速的单片机,只要修改一下参数值其它系例单片机也通用,适用范围宽。

ms=1时,第一个for循环进入,然后在第二个for循环中执行100次

再回到第一个for循环中进行第二次循环.

就这样

你可以进入编辑器,添加断点,自行查看代码执行过程

新闻标题:延时函数c语言1ms c语言延时函数delay延时1秒
本文路径:https://www.cdcxhl.com/article20/dophijo.html

成都网站建设公司_创新互联,为您提供定制开发品牌网站制作网站收录网站内链建站公司关键词优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司