您的位置 首页 模拟

单片机中1S延时程序的编写

大家在用单片机搞电路设计时经常会用到延时,有些地方不用考虑太精确的延时时间,但有些场合却必须对延时时间斤斤计较!今天就和大家…

咱们在用单片机电路规划时经常会用到延时,有些当地不必考虑太准确的延时时刻,但有些场合却有必要对延时时刻“锱铢必较”!今日就和咱们讨论一下关于延时程序的编写。

在单片机延时程序中应考虑所运用晶振的频率,在51系列的单片机中,咱们常用的是11.0592MHz和12.0000MHz的晶振,在AVR单片机上常用的有8.000MHz和4.000MH的晶振,而MSP430系列单片机中却选用两个时钟输入。

这儿以51单片机为例,介绍单片机延时程序的编写。咱们一般选用122.0000MHz的晶振,那么一个机器周期便是1us,咱们看下面这个程序(留意程序的注释):

DELAY: MOV R5,#8 ;1个机器周期。1+[1+(1+2*255)*244+2*244]*8+2*8 us

D1:MOV R6,#244 ;1个机器周期。1+(1+2*255)*244+2*244 us

D2: MOV R7,#255 ;1个机器周期。1+2*255 us

DJNZ R7,$ ;2个机器周期。

DJNZ R6,D2 ;2个机器周期。

DJNZ R5,D1 ;2个机器周期。

RET;2个机器周期。

上面这个程序的延时时刻为:

1+[1+(1+2*255)*244+2*244]*8+2*8+2 us=1001401us=1.001403us。

当然,此类延时程序也能够选用守时中止进行编写,具体程序请咱们自己编写。期望咱们能在单片机规划中大步开展!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/273070.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部