分享

汇编语言延时时间的计算

 SkySeraph 2010-07-25
汇编语言延时时间的计算:

DELAY:    
MOV R0,#0FFH              ;当晶振为12MHz时
MOV R1,#0FFH              ;一个机器周期为1微秒
DLY_LP:
NOP                              ;1 周期
NOP                              ;1 周期
DJNZ R0,DLY_LP           ;2 周期
                                     ;内循环延时时间为(1+1+2)255
MOV R0,#0FFH             ;1 周期
DJNZ R1,DLY_LP           ;2 周期
                                     ;外循环延时时间=[内循环延时时间+1+2]255
RET


晶振为12MHz时:
延时时间=[(1+1+2)255+1+2]255×12/12=260.865ms

晶振为11.0592MHz时:
延时时间=[(1+1+2)255+1+2]255×12/11.0592=283.056ms

一个机器周期共有12个振荡器周期。
如果振荡器的频率为12MHz,一个振荡器周期为1/12微秒,一个机器周期为12/12=1微秒。
如果振荡器的频率为11.0592MHz,一个振荡器周期为1/11.0592微秒,一个机器周期为12/11.0592=1.085微秒。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多