189 8069 5689

延时函数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秒
转载来源:http://cdxtjz.cn/article/dophijo.html

其他资讯