?? 6-1.asm
字號:
;簡單的輸入輸出控制實驗程序
ORG 1000H
AJMP LOOP ;開始主循環(huán)
LOOP: MOV A ,#0FFH
MOV P1,A ;將所有的燈關(guān)掉
ANL A,#0EFH ;點第1個燈,EFH表示成二進(jìn)制為11101111。
SETB C ;初始化C的值為1
LIGHT:MOV P1,A ;點第1個燈(P1.4對應(yīng)的燈)
ACALL DELAY ;開始延時
RLC A ;將A右移1位,將A的最低位移出給C
JC LIGHT ;判斷C的值,如果不為0,標(biāo)志一個點燈循環(huán)還沒有結(jié)束
MOV P1,A ;如果C為0,表示4個燈已經(jīng)點亮,A=0xFF,關(guān)閉所有的燈
ACALL DELAY ;調(diào)用延時
CLR P1.4 ;點亮第1個燈
CPL P1.5 ;點亮第2個燈
ANL P1,#3F ;點亮第3個燈和第4個燈
ACALL DELAY ;調(diào)用延時
AJMP LOOP ;重新循環(huán)
;延時子程序
DELAY: MOV R6,#20 ;設(shè)置R6的初始值
TIMER1: MOV R5,#0FF ;設(shè)置R5的初始值
TIMER2: MOV R4,#0FF ;設(shè)置R4的初始值
DJNZ R4,$ ;檢查R4是否已經(jīng)遞減為0?
DJNZ R5,TIMER2 ;檢查R5是否已經(jīng)遞減為0?
DJNZ R6,TIMER1 ;檢查R6是否已經(jīng)遞減為0?
RET ;返回
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -