📄 t2.asm
字号:
NAME T2 ;P1口输实验
CSEG AT 0000H
LJMP START
CSEG AT 4100H
START: SETB P1.0
SETB P1.1 ;用于输入时先置位口内锁存器
MOV A,P1
ANL A,#03H ;从P1口读入开关状态,取低两位
MOV DPTR,#TAB ;转移表首地址送DPTR
MOVC A,@A+DPTR
JMP @A+DPTR
TAB: DB PRG0-TAB
DB PRG1-TAB
DB PRG2-TAB
DB PRG3-TAB
PRG0: MOV P1,#0FFH ;向P1口输出0FFH,发光二极管全灭
;此时K1=0,K2=0
JMP START
PRG1: MOV P1,#0F3H ;只点亮L1、L2,表示左转弯
ACALL DELAY ;此时K1=1,K2=0
MOV P1,#0FFH ;再熄灭0.5秒
ACALL DELAY ;延时0.5秒
JMP START
PRG2: MOV P1,#0CFH ;只点亮L5、L6,表示右转弯
ACALL DELAY ;此时K1=0,K2=1
MOV P1,#0FFH
ACALL DELAY
JMP START
PRG3: MOV P1,#00H ;发光二极管全亮,此时K1=1,K2=1
JMP START
DELAY: MOV R1,#5 ;延时0.5秒
DEL1: MOV R2,#200
DEL2: MOV R3,#126
DEL3: DJNZ R3,DEL3
DJNZ R2,DEL2
DJNZ R1,DEL1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -