📄 8255_1_2.asm
字号:
ORG 0000H
LJMP START
ORG 0030H
START: MOV DPTR,#7FFFH ;送控制字
MOV A,#90H ;A口为输入,B口、C口为输出
MOVX @DPTR,A
;读A口,消抖
MOV DPTR,#7FFCH
MOVX A,@DPTR
CPL A
ANL A,#0FH
JZ START
LCALL D10MS
MOVX A,@DPTR
CPL A
ANL A,#0FFH
JZ START
MOV B,A
KEY: MOVX A,@DPTR
CPL A
ANL A,#0FFH
JNZ KEY ;判断是那个键按下,并执行相应操作
LCALL D10MS
MOV A,B
JZ NEXT
MOV DPTR,#7FFDH ;写B口,LED输出
MOV A,#0FFH
MOVX @DPTR,A
MOV DPTR,#7FFEH ;写C口,蜂鸣
MOV A,#00H
MOVX @DPTR,A
NEXT: LJMP START
SJMP $
D10MS: MOV R7,#10 ;10MS延时程序
DS11: MOV R6,#50
DS22: DJNZ R6,DS22
DJNZ R7,DS11
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -