实验五 键盘扫描实验 实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

键盘扫描实验实验报告
一、实验目的
1. 掌握线反转法键盘扫描原理。

2. 了解单片机的输入和输出过程,理解单片机的数据采集过程。

二、实验内容
单片机外接4x4键盘,通过线反转法判断按下的键,并在数码管上显示按键对应的数字。

第一行从左到右分别是开关K0, K1, K2, K3,第二行从左到右分别是K4, K5, K6, K7以此类
推。

当按下Kn时,在数码管上显示数字n。

三、实验原理
线翻转法:先对行(R0-R3)置0,对列(R4-R7)置1。

当有键被按下时,会把按键所在的列的电位从1变0,记录下位置;然后再将行列翻转,记录下按下键的所在行,两数进行或运算,就可以得到一个唯一表示按下键的数字。

例如:假定R0-R7分别与单片机的P2.0-P2.7相连。

先把R4-R7置1,R0-R3置0(通过指令MOV P2, #0F0H实现)。

当键K5被按下时,R5电位被拉低为低电平。

此时,P2口表示的数为:1101 0000(0xD0);然后再置R4-R7为0,R0-R3为1,此时,R1电位被拉低为低电平,此时,P2口表示的数为:0000 1101(0x0D)。

将两数相与取反,得到:0010 0010。

四、实验过程
1. 连接好单片机及其外围设备电路
2. 编写汇编程序
ORG LJMP Key
LJMP K7: CJNE R2, #82H, K8
ORG 0100H MOV P0, #0F8H Init: CLR P1.3 LJMP Key
MOV P0, #0C0H K8: CJNE R2, #14H, K9 Key: MOV P2, #0F0H MOV P0, #080H
MOV A, P2 LJMP Key
MOV R1, A K9: CJNE R2, #24H, K10
MOV P2, #0FH MOV P0, #090H
MOV A, P2 LJMP Key
ORL A, R1 K10: CJNE R2, #44H, K11
CPL A MOV P0, #088H
MOV R2, A LJMP Key
JNZ KeyPro K11: CJNE R2, #84H, K12
LJMP Key MOV P0, #083H KeyPro: CJNE R2, #11H, K1 LJMP Key
MOV P0, #0C0H K12: CJNE R2, #18H, K13
LJMP Key MOV P0, #0C6H K1: CJNE R2, #21H, K2 LJMP Key
MOV P0, #0F9H K13: CJNE R2, #28H, K14
LJMP Key MOV P0, #0A1H K2: CJNE R2, #41H, K3 LJMP Key
MOV P0, #0A4H K14: CJNE R2, #48H, K15
LJMP Key MOV P0, #086H K3: CJNE R2, #81H, K4 LJMP Key
MOV P0, #0B0H K15: CJNE R2, #88H, K16
LJMP Key MOV P0, #08EH K4: CJNE R2, #12H, K5 LJMP Key
MOV P0, #099H K16: LJMP Key
LJMP Key END
K5: CJNE R2, #22H, K6
MOV P0, #092H
LJMP Key
K6: CJNE R2, #42H, K7
MOV P0, #082H
五、实验结果
1. 当按下开关Kn时,数码管能够显示对应的数字。

并且P2口的实际输出值跟理论值完全符合。

(也就是按下K0, K1, …, K15,数码管上会显示0, 1, 2, …, F)。

相关文档
最新文档