在开关很多的情况下,一般采用矩阵式键盘,本程序使用4*4矩阵式键盘,共有16个按键,通过扫描方法控制显示器输出0~F 十六进制数。
硬件电路如下:
在单片机的P3端口接有4*4矩阵式键盘,矩阵式键盘有4条行线和4条列线组成,16个按键设置在行、列交点上.
ASM程序:
ORG 00H
START: MOV R4, #00H
L1: MOV R3, #0F7H
MOV R1, #00H
L2: MOV A, R3
MOV P3, A
MOV A, P3
MOV R4, A
SETB C
MOV R5, #04H
L3: RLC A
JNC KEY
INC R1
DJNZ R5, L3
MOV A, R3
SETB C
RRC A
MOV R3, A
JC L2
JMP L1
KEY: ACALL DELAY
D1: MOV A, P3
XRL A, R4
JZ D1
MOV A, R1
ACALL DISP
JMP L1
DISP: MOV DPTR,#TABLE
MOVC A, @a+DPTR
MOV P0,A
RET
DELAY: MOV R7, #60
MOV R6, #248
DLY1: DJNZ R6, $
DJNZ R7, DLY1
RET
TABLE: DB 0C0H,0F9H,0A4H,0B0H
DB 99H, 92H, 82H,0F8H
DB 80H, 90H, 88H, 83H
DB 0C6H,0A1H, 86H, 8EH
END
后记:
把程序烧入单片机后,从左到右按下键盘可以看到LED显示器上显示0~F.
用户158894 2008-8-14 18:05
用户925035 2008-8-13 23:31
用户101789 2008-8-13 16:00