最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

矩阵键盘设计实验报告

来源:动视网 责编:小OO 时间:2025-09-29 18:55:52
文档

矩阵键盘设计实验报告

《基于单片机小系统的矩阵键盘接口电路设计》实训报告院系:电子电气工程系班级:11电子信息班老师:夏晓玲第十组:日期:2013年4月18日一、实训目的1、掌握键盘接口的基本特点,了解键盘和矩阵键盘的应用方法。2、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。3、复习利用Keil51软件对程序进行编译。4、用Proteus软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。5、会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果能做出分析和解释,能写出符合规格的实验报告。
推荐度:
导读《基于单片机小系统的矩阵键盘接口电路设计》实训报告院系:电子电气工程系班级:11电子信息班老师:夏晓玲第十组:日期:2013年4月18日一、实训目的1、掌握键盘接口的基本特点,了解键盘和矩阵键盘的应用方法。2、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。3、复习利用Keil51软件对程序进行编译。4、用Proteus软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。5、会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果能做出分析和解释,能写出符合规格的实验报告。
        

《基于单片机小系统的矩阵键盘接口

电路设计》

              院  系: 电子电气工程系

              班  级:  11电子信息班

              老  师:  夏晓玲

              第十组:  

              日  期:2013年4月18日

一、实训目的

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

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

3、复习利用Keil51软件对程序进行编译。

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

5、会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果能做出分析和解释,能写出符合规格的实验报告。

二、实训要求

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

    素质要求

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

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

    能力要求

1.模拟电路的理论知识

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

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

4.能熟练的编写51单片机汇编程序

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

三、实训工具

 1、软件:Proteus软件、keil51。

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

四、实训内容

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

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

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

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

五.实训基本步骤

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

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

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

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

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

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

     7、检查验证结果。

六、实验具体内容

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

1、电路图

   

二、程序流程图

       

3、程序源码

     ORG 0000H

     AJMP MAIN

     ORG 0030H

MAIN:MOV DPTR,#TABLE         ;将表头放入DPTR

      LCALL KEY                 ;调用键盘扫描程序

     MOVC A,@A+DPTR             ;查表后将键值送入ACC

      MOV P2,A                 ;将ACC值送入P0口

     LJMP MAIN                 ;返回反复循环程序

KEY: LCALL KS                 ;调用检测按键子程序

     JNZ K1                     ;若有按键按下,则继续

     LCALL DELAY2             ;若无按键按下,则调用延时去抖程序

     AJMP KEY                 ;返回,继续检测按键

K1:     LCALL DELAY2

     LCALL DELAY2             ;若有按键按下,则延时去抖动

     LCALL KS                 ;再调用检测按键程序

     JNZ K2                     ;确认有键按下,进行下一步

     AJMP KEY                 ;若无按键按下,则返回继续检测

K2:  MOV R2,#0EFH             ;将扫描值送入R2暂存

     MOV R4,#00H             ;将第1列值送入R4暂存

K3:     MOV P1,R2                 ;将R2的值送入P1口

L6:     JB P1.0,L1                 ;P1.0等于1跳转到L1

     MOV A,#00H                 ;将第1行值送入ACC

     AJMP LK                 ;跳转到键值处理程序

L1:     JB P1.1,L2                 ;P1.1等于1跳转到L2

     MOV A,#04H                 ;将第2行值送入ACC

     AJMP LK                 ;跳转到键值处理程序进行键值处理

L2:     JB P1.2,L3                 ;P1.2等于1跳转到L3

     MOV A,#08H                 ;将第3行值送入ACC

     AJMP LK                 ;跳转到键值处理程序

L3:  JB P1.3,NEXT             ;P1.3等于1跳转到NEXT处

     MOV A,#0CH                 ;将第4行值送入ACC

LK:     ADD A,R4                 ;将行值与列值相加后的键值送入A

     PUSH ACC                 ;将A中的值送入堆栈暂存

K4:  LCALL DELAY2             ;调用延时去抖程序

     LCALL KS                 ;调用检测按键程序

     JNZ K4                     ;若按键没有松开,则继续返回检测

     POP ACC                 ;键堆栈的值送入ACC

     RET

NEXT:INC R4                     ;将列值加一

     MOV A,R2                 ;将R2的值送入A

     JNB ACC.7,KEY             ;扫描至KEY处进行下一扫描

     RL A                     ;扫描未完,将A中的值右移一位进行下一列的扫描

     MOV R2,A                 ;将ACC的值送入R2暂存

     AJMP K3                  ;跳转到K3继续

KS:     MOV P1,#0FH             ;将P1口的高4为置0,低4位置1

     MOV A,P1                 ;读P1口

     XRL A,#0FH                 ;将A中的值与0FH相异或

     RET                     ;子程序返回

DELAY2:                         ;40ms延时去抖子程序

     MOV R5,#08H

L7:     MOV R6,#0FAH

L8:     DJNZ R6,L8

     DJNZ R5,L7

     RET

TABLE:                          ;7段显示器的数据定义

     DB 0C0H,0F9H,0A4H,0B0H,99H    ;01234

     DB 92H,82H,0F8H,80H,90H    ;567

     DB 88H,83H,0C6H,0A1H,86H    ;ABCDE

     DB 8EH                        ;F

     END                        ;程序结束

四、实验结果

当矩阵键盘的3号键被按下时,P2口的七段数码管显示的数据为3.如下图1所以:

                                 图1

当矩阵键盘的A号键被按下时,P2口的七段数码管显示的数据为A.如下图2所以:

                                 图2

当矩阵键盘的D号键被按下时,P2口的七段数码管显示的数据为d.如下图3所以:

                                  图3

当矩阵键盘的F号键被按下时,P2口的七段数码管显示的数据为F.如下图4所以:

                                  图4

文档

矩阵键盘设计实验报告

《基于单片机小系统的矩阵键盘接口电路设计》实训报告院系:电子电气工程系班级:11电子信息班老师:夏晓玲第十组:日期:2013年4月18日一、实训目的1、掌握键盘接口的基本特点,了解键盘和矩阵键盘的应用方法。2、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。3、复习利用Keil51软件对程序进行编译。4、用Proteus软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。5、会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果能做出分析和解释,能写出符合规格的实验报告。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top