51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > ◆学习MCU > 详细内容
汇编延时子程序汇集
阅读次数:4048  字体大小: 【】 【】【

;延时5秒左右
DELAY5S:PUSH     04H                                
               PUSH     05H                        
               PUSH     06H                                
               MOV       R4,#50                          
DELAY5S_0:MOV   R5,#200                                                            
DELAY5S_1:MOV   R6,#245                                                            
               DJNZ     R6,$                                                  
               DJNZ     R5,DELAY5S_1
               DJNZ     R4,DELAY5S_0                                                  
               POP       06H                                    
               POP       05H                                    
               POP       04H                                    
               RET                                                                                    



;513微秒延时程序
DELAY:   MOV         R2,#0FEH
DELAY1: DJNZ       R2,DELAY1
  RET


;10毫秒延时程序
DL10MS: MOV         R3,#14H
DL10MS1:LCALL     DELAY
               DJNZ       R3,DL10MS1
               RET


;0.1s延时程序12mhz
DELAY: MOV R6,#250
DL1: MOV R7,#200
DL2: DJNZ R6,DL2
  DJNZ R7,DL1
  RET


;延时1046549微秒(12mhz)
;具体的计算公式是:
;((((r7*2+1)+2)*r6+1)+2)*r5+1+4 = ((r7*2+3)*r6+3)

*r5+5
DEL : MOV   R5,#08H
DEL1: MOV   R6,#0FFH
DEL2: MOV   R7,#0FFH
               DJNZ   R7,$
               DJNZ   R6,DEL2
               DJNZ   R5,DEL1
               RET


;1秒延时子程序是以12MHz晶振
Delay1S:mov   r1,#50
del0:   mov r2,#91
del1:     mov r3,#100  
               djnz r3,$  
               djnz r2,del1  
               djnz r1,del0
     Ret


;1秒延时子程序是以12MHz晶振为例算指令周期耗时
KK: MOV       R5,#10       ;1指令周期1
K1: MOV       R6,#0FFH       ;1指令周期10
K2: MOV       R7,#80H       ;1指令周期256*10=2560
K3: NOP                 ;1指令周期

128*256*10=327680
  DJNZ       R7,K3       ;2指令周期

2*128*256*10=655360
  DJNZ       R6,K2       ;2指令周期

2*256*10=5120
  DJNZ       R5,K1       ;2指令周期2*10=20
  RET            
;2指令周期21+10+2560+327680+655360+5120+20+2=990753
;约等于1秒1秒=1000000微秒



;这个算下来也只有0.998抄
T_0:   MOV     R7,#10;
D1:   MOV     R6,#200;
D2:   MOV     R5,#248;
   DJNZ     R5,$
   DJNZ     R6,D2;
   DJNZ     R7,D1;
   RET


;这样算下来应该是1.000011秒
T_0:   MOV     R7,#10;
D1:   MOV     R6,#200;
D2:   NOP
   MOV     R5,#248;
   DJNZ     R5,$
   DJNZ     R6,D2;
   DJNZ     R7,D1;
   RET


我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
  • 评论人:[匿名] 时间: [2012/7/22 2:09:23] IP:[201.198.10.9*]
  • Vu7A3U , [url=http://nwumexmkswha.com/]nwumexmkswha[/url], [link=http://pycmikfaugdz.com/]pycmikfaugdz[/link], http://hstlpaxlqfmv.com/
  • 评论人:[匿名] 时间: [2012/7/21 3:45:19] IP:[132.68.13.3*]
  • Rsbg33 <a href="http://jiqxmllwxqbf.com/">jiqxmllwxqbf</a>
  • 评论人:[匿名] 时间: [2012/7/20 19:47:29] IP:[209.15.236.15*]
  • wEW4Ri , [url=http://lhnhhcooetha.com/]lhnhhcooetha[/url], [link=http://idmfizrgaiad.com/]idmfizrgaiad[/link], http://fjjyjtnvtuzx.com/
  • 评论人:[匿名] 时间: [2012/7/19 20:03:22] IP:[76.173.189.17*]
  • bvrPNC <a href="http://iojrvkjbqsat.com/">iojrvkjbqsat</a>
  • 评论人:[匿名] 时间: [2012/7/19 10:22:42] IP:[194.204.38.21*]
  • Extremely helpful aritlce, please write more.

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号