单片机中延时子程序的作用是什么

单片机中延时子程序的作用是什么,第1张

就是为了延时啊,譬如说你让数码管从1变到10,一秒跳一下这就需要用到延时啊当然你可能会说用定时器就行了,但是定时器有限,而且他是通过中断来控制,但我不需要延时时间那么精准的时候用起中断就不够直接用延时程序方便了

push cx先把cx推进栈以保存cx原来的值。然后用mov cx,0ffh赋值,loop循环每执行一次cx自减一,到cx为0为止,此时循环共执行0ffh次即255次。再将栈中cx原来的值d出给cx寄存器。

如果CUP主频为40mHz,则时钟周期为1/40=0.025微秒。

在808X中,一条LOOP指令如果实现跳转的话需要18个时钟周期,退出时需要5个时钟周期。所以这个延时子程序循环部分的延时(0.025*18*255+5)微秒,其他语句的延时基本可以忽略

几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响。

500ms延时子程序程序:(晶振12MHz,一个机器周期1us。)

void delay500ms(void)

{

  unsigned char i,j,k

  for(i=15i>0i--)

    for(j=202j>0j--)

       for(k=81k>0k--)

}

扩展资料

实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行。

在电子技术中,脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉冲信号。脉冲信号之间的时间间隔称为周期;而将在单位时间(如1秒)内所产生的脉冲个数称为频率。

频率是描述周期性循环信号(包括脉冲信号)在单位时间内所出现的脉冲数量多少的计量名称;频率的标准计量单位是Hz(赫)。电脑中的系统时钟就是一个典型的频率相当精确和稳定的脉冲信号发生器。

51单片机的指令有单字节、双字节和三字节的,它们的指令周期不尽相同,一个单周期指令包含一个机器周期,即12个时钟周期,所以一条单周期指令被执行所占时间为12*(1/ 晶振频率)= x μs。常用单片机的晶振为11.0592MHz,12MHz,24MHz。

其中11.0592MHz的晶振更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。


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

原文地址: http://outofmemory.cn/yw/8157282.html

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

发表评论

登录后才能评论

评论列表(0条)

保存