矩阵键盘设计实验学习报告计划

时间:2020-11-29 09:06:25 手机站 来源:网友投稿

南 京 林 业 大 学

实验报告

基于 AT89C51

单片机 4x4 矩阵键盘接口电路设计

课 程 机电一体化设计基础

院 系 机械电子工程学院

班 级

学 号

姓 名

指导老师 杨雨图

2013年 9月 26日

一、实验目的

1、 掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。

2、 掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。

3、 掌握利用 Keil51 软件对程序进行编译。

4、 用 Proteus 软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。

5、 会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果

能做出分析和解释,能写出符合规格的实验报告。

二、实验要求

通过实训,学生应达到以下几方面的要求:

素质要求

以积极认真的态度对待本次实训,遵章守纪、团结协作。

善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立工作能力。

能力要求

模拟电路的理论知识

脉冲与数字电路的理念知识

通过模拟、数字电路实验有一定的动手能力

能熟练的编写 8951 单片机汇编程序

能够熟练的运用仿真软件进行仿真

三、实验工具

1 、软件: Proteus 软件、 keil51 。

2 、硬件: PC机,串口线,并口线,单片机开发板

四、实验内容

、掌握并理解“矩阵键盘扫描”的原理及制作,了解各元器件的参数及格元器件的作用。

、用 keil51 测试软件编写 AT89C51单片机汇编程序

、用 Proteus 软件绘制“矩阵键盘扫描”电路原理图。

、运用仿真软件对电路进行仿真。

五.实验基本步骤

、用 Proteus 绘制“矩阵键盘扫描”电路原理图。

、编写程序使数码管显示当前闭合按键的键值。

、利用 Proteus 软件的仿真功能对其进行仿真测试, 观察数码管的显示状态和按键开关的对应关系。

、用 keil51 软件编写程序,并生成 HEX文件。

、根据绘制“矩阵键盘扫描”电路原理图,搭建相关硬件电路。

、用通用编程器或 ISP 下载 HEX程序到 MCU。

、检查验证结果。

六、实验具体内容

使用单片机的 P1 口与矩阵式键盘连接时, 可以将 P1 口低 4 位的 4 条端口线定义为行线, P1 口高 4 位的 4 条端口线定义为列线,形成 4*4 键盘,可以配置 16 个按键,将单片机 P2口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。

1、电路图

2、程序流程图

3、程序源码

ORG00H

;

起始地址 00H

K1:

MOV

P1, #0F0H

;

设置 ~为输入端口

MOV

A, P1

;

从 P1 读取所有列的值

K2:

CALLDELAY

;

调用 20ms 延时子程序 ( 省略 )

MOV

A, P1

;

从 P1 读取状态,看有没有按钮被按下

JMP

K2

;

循环检测

OVER:

CALLDELAY

;

延时 20ms 防止抖动

MOV

A, P1

;

从 P1 读取状态

JMP

K2

;

如果没有按钮按下,循环扫描

OVER1:

MOV

A, P1

;

读所有的列

MOV

A, P1

;

读所有的列

MOV

A, P1

;

读所有的列

MOV

A, P1

;

读所有的列

LJMPK2

;

如果没有,则循环

ROW_0:

MOV

DPTR, #KCODE0

;

设置 DPTR=第 0 行的起始地址

SJMPFIND

;

找列

ROW_1:

MOV

DPTR, #KCODE1

;

设置 DPTR=第 1 行的起始地址

SJMPFIND

;

找列

ROW_2:

MOV

DPTR, #KCODE2

;

设置 DPTR=第 2 行的起始地址

SJMPFIND

;

找列

ROW_3:

MOV

DPTR, #KCODE3

;

设置 DPTR=第 3 行的起始地址

FIND:

SWAP

FIND1:

RRC

A

;

看看是否进位 C 为 0

JNC

MATCH

; 如果是 0,就跳到 MATCH找键值

INC

DPTR

;DPTR 加 1

SJMPFIND1

;

循环查找

MATCH:

CLR

A

; A=0

MOVCA, @A+DPTR

;

用 DPTR在数据表中找到键值装入A

CLR

; 置口为低,显示数字

MOV

P0, A

; 显示键值

LJMPK1

;

循环

DELAY:

;

延时子程序, 1ms

MOV

R1, #2

D1:

MOV

R2, #248

DJNZR2, $

DJNZR1, D1

RET

键值保存在以下的数据表中,可根据系统实际需要进行修改

ORG300H

; 数据表起始地址

0C0C0C0C0F0A0F0C0A下图 1 所以:

图 1

当矩阵键盘的 3 号键被按下时,P0 口的七段数码管显示的数据为

3.如下图 2

所以:

图 2

当矩阵键盘的 D 号键被按下时, P0 口的七段数码管显示的数据为

d.如下图

3 所以:

图 3

当矩阵键盘的 F 号键被按下时, P0 口的七段数码管显示的数据为

F.如下图

4 所以:

图 4

5、实验板运行结果

当矩阵键盘的 9 号键被按下时,P0 口的七段数码管显示的数据为

9.如下图 5

所以:

图 5

  • 下载文档
  • 收藏
  • 0

推荐访问:学习报告 矩阵 键盘 实验 矩阵键盘设计实验学习报告计划

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。