C51 汇编 双层循环延时代码
生活随笔
收集整理的這篇文章主要介紹了
C51 汇编 双层循环延时代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
---------------------------------------------
-- 時間:2018-10-29
-- 創建人:Ruo_Xiao
-- 郵箱:xclsoftware@163.com
---------------------------------------------
一、ASM
DELAY:MOV R3,#7FH DEL2: MOV R4,#0FFH DEL1: NOP DJNZ R4 ,DEL1 DJNZ R3 ,DEL2 RET二、解釋
1、DJNZ的功能有兩點,首先是將R4減1,然后看等于0否,二是轉移,減1后結果不是0,則轉移到指定的地址,如EDL1,DEL2,結果=0,則往下執行。就這么簡單的事。
2、整個子程序是個兩層循環的延時程序,開始,R3=7FH,是127,再是:R4=FFH,是255,下面開始循環,一條NOP空操作,就是為了延時的,然后DJNZ,R4減1,不為0,轉移到EDL1,又是NOP延時,如此,循環255次后,R4=0,內層循結束,往下,R3減1,R3不為0,轉移到DEL2,重新開始R4=FFH,再循環255次。這樣,外層循環是R3的127次,內層是R4的255次,一共循環是255*127次,結束返回。
?
(SAW:Game Over!)
總結
以上是生活随笔為你收集整理的C51 汇编 双层循环延时代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C51 汇编指令英文全称
- 下一篇: C51单片机其他名词英文全称