📄 汽车.asm
字号:
ORG 0000H
AJMP START1
ORG 0030H
SAME EQU 4EH
START1: MOV P1,#00H ; 无输入时无输出
START: MOV A,P3 ; 读P3口的数据
ANL A,#1FH ; 取用P3口的低五位数据
CJNE A,#1FH,SHIY ; 对P3口低五位进行判断
AJMP START1 ; 开关没有动作时无输出
SHIY: MOV SAME,A
LCALL YS ; 延时
MOV A,P3 ; 读P3口的数据
ANL A,#1FH ; 取用P3口的低五位数据
CJNE A,#1FH,SHIY1 ; 对P3口低五位进行判断
AJMP START1 ; 开关没有动作时无输出
SHIY1: CJNE A,SAME,START1
CJNE A,#17H,NEXT1 ; P3.3=0时进入左转分支
AJMP LEFT
NEXT1: CJNE A,#0FH,NEXT2 ; P3.4=0时进入右转分支
AJMP RIGHT
NEXT2: CJNE A,#1DH,NEXT3 ; P3.1=0时进入紧急分支
AJMP EARGE
NEXT3: CJNE A,#1EH,NEXT4 ; P3.0=0时进入刹车分支
AJMP BRAKE
NEXT4: CJNE A,#16H,NEXT5 ; P3.0=P3.3=0时进入左转刹车分支
AJMP LEBR
NEXT5: CJNE A,#0EH,NEXT6 ; P3.0=P3.4=0时进入右转刹车分支
AJMP RIBR
NEXT6: CJNE A,#1CH,NEXT7 ; P3.0=P3.1=0时进入紧急刹车分支
AJMP BRER
NEXT7: CJNE A,#14H,NEXT8 ; P3.0=P3.1=P3.3=0时进入左转紧急刹车分支
AJMP LBE
NEXT8: CJNE A,#0CH,NEXT9 ; P3.0=P3.1=P3.4=0时进入右转紧急刹车分支
AJMP RBE
NEXT9: CJNE A,#1BH,NEXT10 ; P.3.2=0时进入停靠分支
AJMP STOP
NEXT10:AJMP ERROR ; 其它情况进入错误分支
LEFT: MOV P1,#2AH ; 左转分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
RIGHT: MOV P1,#54H ; 右转分支
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 ; 左转刹车分支
LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
RIBR: MOV P1,#74H ; 右转刹车分支
LCALL Y1s
MOV P1,#20H
LCALL Y1s
AJMP START
BRER: MOV P1,#7EH ; 紧急刹车分支
LCALL Y1s
MOV P1,#60H
LCALL Y1s
AJMP START
LBE: MOV P1,#7EH ; 左转紧急刹车分支
LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
RBE: MOV P1,#7EH ; 右转紧急刹车分支
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 ; 错误分支
LCALL Y100ms
MOV P1,#00H
LCALL Y100ms
AJMP START
YS: MOV R7,#20H ; 延时
YS0: MOV R6,#0FFH
YS1: DJNZ R6,YS1
DJNZ R7,YS0
RET
Y1s: MOV R7,#04H ; 延时
Y1s1:MOV R6,#0FFH
Y1S2:MOV R5,#0FFH
Y1S3:DJNZ R5,Y1S3
DJNZ R6,Y1s2
DJNZ R7,Y1s1
RET
Y100ms: MOV R7,#066H ; 延时
Y100ms1: MOV R6,#0FFH
Y100ms2: DJNZ R6,Y100ms2
DJNZ R7,Y100ms1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -