单片机原理实验3:矩阵键盘的识别与显示
实验3—-矩阵键盘的识别与显示
实验目的:理解矩阵键盘的组成,编程实现按键状态的识别,并掌握按键与显示联动的编程方法。
实验设备:计算机、Keil uVision4 软件、实验板
实验内容:
- 学习KEIL平台软件的使用、使用Keil软件,了解编译系统;
- 学习基本的调试工具、掌握观察变量、内存等基本工具;
- 根据实验板原理图,将P3.0-P3.3口作为矩阵键盘的行线,P3.4-P3.7口作为矩阵键盘的列线,S1-S16分别定义为数字0-9、A、b、C、d、E、F。识别按下的按键,并将键名显示在数码管个位(位6)上。
- 提高:在3的基础上,用按键依次输入5、2、0、5、2、0,数码管动态显示应显示“520520”,作为朋友的生日礼物。
步骤:1新建工程,命名jianpan3,选择at89c52
2.添加程序文件
3在option output中生成HEX文件,点击运行,在子文件夹里生成文件
4在STP-ISP中打开jianpan3.HEX文件,点击COM5接口,下载文件。
5.键盘显示效果0-9数字,A-F字母,按顺序从上往下,从左往右点击键盘,显示对应的字母。
程序代码: ORG 0000H
LJMP MAIN
ORG 30H
MAIN: MOV P3,#0F0H ;
MOV R1,#00 ;
MOV R7,#0FFH ;
KEY1: DJNZ R7,KEY1 ;
LOOP: MOV P3,#0F0H ;
MOV A,P3 ;
CPL A ;
ANL A,#0F0H ;
JZ EKEY ;
LCALL DEL20ms ;
MOV A,P3 ;
CPL A
ANL A,#0F0H ;
JZ EKEY ;
SKEY: MOV A,#00 ;
MOV R0,A ;
MOV R2,A ;
MOV R1,#00 ;
MOV R3,#0FEH ;
SKEY2: MOV A,R3
MOV P3,A ;
NOP
NOP
NOP ;
MOV A,P3 ;
MOV R1,A ;
CPL A ;
ANL A,#0F0H ;
S123: JNZ SKEY3 ;¸
INC R0 ;¸
SETB C ;
MOV A,R3 ;
RLC A ;
MOV R3,A
MOV A,R0
CJNE A,#04H,SKEY2 ;
EKEY: NOP
LCALL DISPLAY
AJMP LOOP
;
SKEY3: MOV A,R1
JNB ACC.4,SKEY5
JNB ACC.5,SKEY6
JNB ACC.6,SKEY7
JNB ACC.7,SKEY8
AJMP EKEY
SKEY5: MOV A,#00H
MOV R2,A ;´
AJMP DKEY
SKEY6: MOV A,#01H
MOV R2,A ;´
AJMP DKEY
SKEY7: MOV A,#02H
MOV R2,A ;
AJMP DKEY
SKEY8: MOV A,#03H
MOV R2,A ;
AJMP DKEY
;
DKEY: ACALL DECODE
AJMP EKEY
;
DECODE: MOV A,R0 ;
MOV B,#04H ;
MUL AB ;
ADD A,R2 ;
MOV R1,A ;
RET
DEL20ms:MOV R4,#040
D1: MOV R5,#0FFH
D2: DJNZ R5,D2
DJNZ R4,D1
RET
DISPLAY:
MOV A,R1
MOV DPTR,#TAB ;
MOVC A,@A+DPTR ;
MOV P0,A ;
SETB P2.6 ;
NOP
NOP
CLR P2.6
MOV A,#01FH ;
MOV P0,A ;
SETB P2.7 ;
NOP
NOP
CLR P2.7
RET
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
DB 6FH,77H,7CH,39H,5EH,79H,71H,40H,00H
;**************************************
END
我的其他专栏:
单片机原理
模式识别原理
数字电子技术实验
自动控制原理
模拟电子技术
数据结构
关注我了解更多
作者:福来登酒店前台接待员