?? turn lamp.asm
字號(hào):
ORG 0000H
AJMP START1
ORG 0030H
SAME EQU 4EH
START1: MOV P1,#00H ;無(wú)輸入時(shí)無(wú)輸出
START: MOV A,P3 ;讀P3口數(shù)據(jù)
ANL A,#1FH ;取用P3口的低五位數(shù)據(jù)
CJNE A,#1FH,SHIY ;對(duì)P3口低五位數(shù)據(jù)進(jìn)行判斷
AJMP START1
SHIY: MOV SAME,A
LCALL YS ;延時(shí)
MOV A,P3 ;讀P3口的數(shù)據(jù)
ANL A,#1FH ;取用P3口的低五位數(shù)據(jù)
CJNE A,#1FH,SHIY1 ;對(duì)P3口的低五位數(shù)據(jù)進(jìn)行判斷
AJMP START1 ;開關(guān)沒有動(dòng)作時(shí)無(wú)輸出
SHIY1: CJNE A,SAME,START1
CJNE A,#17H,NEXT1 ;P3.3=0時(shí)進(jìn)入左轉(zhuǎn)分支
AJMP LEFT
NEXT1: CJNE A,#0FH,NEXT2 ;P3.4=0時(shí)進(jìn)入右轉(zhuǎn)分支
AJMP RIGHT
NEXT2: CJNE A,#1DH,NEXT3 ;P3.1=0時(shí)進(jìn)入緊急分支
AJMP EARGE
NEXT3: CJNE A,#1EH,NEXT4 ;P3.0=0時(shí)進(jìn)入剎車分支
AJMP BRAKE
NEXT4: CJNE A,#16H,NEXT5 ;P3.0=P3.3=0時(shí)進(jìn)入左轉(zhuǎn)剎車分支
AJMP LEBR
NEXT5: CJNE A,#0EH,NEXT6 ;P3.0=P3.4=0時(shí)進(jìn)入右轉(zhuǎn)剎車分支
AJMP RIBR
NEXT6: CJNE A,#1CH,NEXT7 ;P3.0=P3.1=0時(shí)進(jìn)入緊急剎車分支
AJMP BRER
NEXT7: CJNE A,#14H,NEXT8 ;P3.0=P3.1=P3.3=0時(shí)進(jìn)入左轉(zhuǎn)緊急剎車分支
AJMP LBE
NEXT8: CJNE A,#0CH,NEXT9 ;P3.0=P3.1=P3.4=0時(shí)進(jìn)入右轉(zhuǎn)緊急剎車分支
AJMP RBE
NEXT9: CJNE A,#1BH,NEXT10 ;P3.2=0時(shí)進(jìn)入停靠分支
AJMP STOP
NEXT10: AJMP ERROR ;其他情況進(jìn)入錯(cuò)誤分支
LEFT: MOV P1,#2AH ;左轉(zhuǎn)分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
RIGHT: MOV P1,#54H ;右轉(zhuǎn)分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
EARGE: MOV P1,#7FH ;緊急分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
BRAKE: MOV P1,#60H ;剎車分支
AJMP START
LEBR: MOV P1,#6AH ;左轉(zhuǎn)剎車分支
LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
RIBR: MOV P1,#6AH ;右轉(zhuǎn)剎車分支
LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
BRER: MOV P1,#7EH ;緊急剎車分支
LCALL Y1s
MOV P1,#60H
LCALL Y1s
AJMP START
LBE: MOV P1,#7EH ;左轉(zhuǎn)緊急剎車分支
LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
RBE: MOV P1,#7EH ;右轉(zhuǎn)緊急剎車分支
LCALL Y1s
MOV P1,#20H
LCALL Y1s
AJMP START
STOP: MOV P1,#66H ;停靠分支
LCALL Y100ms
MOV P1,#00H
LCALL Y100ms
AJMP START
ERROR: MOV P1,#80H ;錯(cuò)誤分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
YS: MOV R7,#20H ;延時(shí)
YS0: MOV R6,#0FFH
YS1: DJNZ R6,YS1
DJNZ R7,YS0
RET
Y1s: MOV R7,#04H ;延時(shí)
Y1s1: MOV R6,#0FFH
Y1s2: MOV R5,#0FFH
DJNZ R5,$
DJNZ R6,Y1s2
DJNZ R7,Y1s1
RET
Y100ms: MOV R7,#66H ;延時(shí)
Y100ms1:MOV R6,#0FFH
Y100ms2:DJNZ R6, Y100ms2
DJNZ R7, Y100ms1
RET
END
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -