第4章 汇编语言程序设计4.4实用程序举例4.4.1延时在程序设计过程中,有时需要程序“等待”一会儿再去处理某些事情,称之为延时。计算机延时实际就是让计算机反复执行一些空操作,这样就能起到拖延时间的作用。需要执行空操作次数的多少,取决于延时时间的长短。丰讲昊政江
第4章 汇编语言程序设计 主讲;吴政江 4.4 实用程序举例 4.4.1 在程序设计过程中,有时需要程序“等待”一会儿 再去处理某些事情,称之为延时。计算机延时实际就 是让计算机反复执行一些空操作,这样就能起到拖延 时间的作用。需要执行空操作次数的多少,取决于延 时时间的长短
第4章汇编语言程序设计「例4.151编写一段延时程序。ORG 2000H;周期数×执行次数; 1×1MOV RO ,#MT; 1×MTDL : NOPNOP; 1×MT; 2×MTDJNZ RO ,DL丰讲昊政江
第4章 汇编语言程序设计 主讲;吴政江 [例4.15] 编写一段延时程序。 ORG 2000H ;周期数×执行次数 MOV R0,#MT ;1×1 DL:NOP ;1×MT NOP ;1×MT DJNZ R0,DL ;2×MT
第4章 汇编语言程序设计60该程序的延时时间与系统所用的晶振和程序中每条指令的机器周期及其执行次数MT有关。设系统晶振为12MHz,则可知一个机器周期为:T=1s/(12X106)×12=1 μs延时时间=T×(1×1+1XMT+1×MT+2×MT)(4-1)=1 μsX(1+MT+MT+2MT)丰讲昊政江
第4章 汇编语言程序设计 主讲;吴政江 该程序的延时时间与系统所用的晶振和程序中每条 指令的机器周期及其执行次数MT有关。设系统晶振为 12 MHz,则可知一个机器周期为: T=1s/(12×106 )×12=1 μs 延时时间=T×(1×1+1×MT+1×MT+2×MT) =1 μs×(1+MT+MT+2MT) (4-1)
第4章汇编语言程序设计HH开始RO一内循环数MR1一外循环数M空操作NOP空操作NOPNR1-1=0YNR0-1=0.7LY结束图4-6双重循环延时程序流程图丰讲昊政江
第4章 汇编语言程序设计 主讲;吴政江 开 始 R0←内 循 环 数 MI1 R1←外 循 环 数 MI2 空 操 作 NOP 空 操 作 NOP R1- 1= 0 ? R0- 1= 0 ? 结 束 N N Y Y 图4-6 双重循环延时程序流程图
第4章汇编语言程序设计OHH[例4.16]用双重循环完成延时程序程序如下:1×1MOV RO, #MT1; 1×MT1DL1: MOV R1, #MT2DL2: NOP; 1XMT2×MT1NOP; 1XMT2×MT1DJNZ R1, DL2: 2XMT2XMT1DJNZ RO, DL1; 2XMT1丰讲昊政江
第4章 汇编语言程序设计 主讲;吴政江 [例4.16] 用双重循环完成延时程序。 程序如下: MOV R0,#MT1 ;1×1 DL1:MOV R1,#MT2 ;1×MT1 DL2:NOP ;1×MT2×MT1 NOP ;1×MT2×MT1 DJNZ R1,DL2 ;2×MT2×MT1 DJNZ R0,DL1 ;2×MT1