📄 jianpan.asm
字号:
ORG 0000H
;START:
;AJMP MAIN
;ORG 0003H
;AJMP SCAN
MAIN:
;SETB IT0
;SETB EX0
;SETB EA
KEY EQU 50H
;HERE:
;AJMP HERE
SCAN: ;键扫描子程序
MOV P2,#0FH ;线反转法 先给列赋值
MOV A,P2
ANL A,#0FH
MOV B,A
MOV P2,#0F0H ;给行赋值
MOV A,P2
ANL A,#0F0H
ORL A,B ;行列做或运算
CJNE A,#0FFH,READ ;若A不为0FFH则有键按下进入键值读取子程序
AJMP SCAN ;否则继续扫描
READ: ;键值读取程序
MOV KEY,A
MOV DPTR,#KEYDB ;查表
MOV R4,#0FFH
REW: INC R4
MOV A,R4
MOVC A,@A+DPTR
CJNE A,KEY,REW ;没找到键值则继续
;RETI
DIS: ;显示程序
MOV A,R4 ;键值查表的偏移值为此处的偏移量
MOV DPTR,#TAB ;数码管显示值表基址
MOVC A,@A+DPTR
MOV P1,#0F0H ;选择数码管
MOV P0,A ;显示值
RET
KEYDB:
DB 07EH,07DH,07BH,77H
DB 0EBH,0DBH,0BBH,0B7H
DB 0DEH,0DDH,0DBH,0D7H
DB 0EEH,0EDH,0EBH,0E7H
TAB:
DB 0C0H,0F9H,0A4H,0B0H
DB 99H,92H,82H,0F8H
DB 80H,90H,0A0H,0C3H
DB 0C6H,0A1H,86H,8EH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -