当前位置:文档之家› 扫描式矩阵键盘课程设计

扫描式矩阵键盘课程设计

扫描式矩阵键盘课程设计Company number【1089WT-1898YT-1W8CB-9UUT-92108】4X4扫描式矩阵键盘课程设计课程设计名称: 4_4扫描式矩阵键盘设计姓名: DUKE班级:电子1008班学号: 10086成绩:日期: 2014年1月6日摘要随着21世纪的到来,电子信息行业将是人类社会的高科技行业之一,式设施现代化的基础,也是人类通往科技巅峰的直通路。

电子行业的发展从长远来看很重要,但最主要的还是科技问题。

矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。

是它能准时、实时、高效地显示按键信息,以提高工作效率和资源利用率。

矩阵式键盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,显示在LED数码管上。

单片机控制依据这是键盘显示系统,该系统可以对不同的按键进行实时显示,其核心是单片机和键盘矩阵电路部分,主要对按键与显示电路的关系、矩阵式技术及设备系统的硬件、软件等各个部分进行实现。

4*4矩阵式键盘采用AT89C51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组成,软件选用C语言编程。

单片机将检测到的按键信号转换成数字量,显示于LED显示器上。

该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。

目录第一章:系统功能要求--------------------------------------------------------1.1 4*4 矩阵式键盘系统概述------------------------------------------------1.2 本设计任务和主要内容---------------------------------------------------第二章:方案论证---------------------------------------------------------------第三章:系统硬件电路的设计------------------------------------------------3.1 单片机控制系统原理-----------------------------------------------------3.2 原理图绘制说明----------------------------------------------------------3.3 画出流程图----------------------------------------------------------------3.4 原理图绘制---------------------------------------------------------------第四章:系统程序的设计------------------------------------------------------4.1 程序的编写步骤-----------------------------------------------------------4.2 编写的源程序--------------------------------------------------------------第五章:调试及性能分析------------------------------------------------------第六章:心得体会---------------------------------------------------------------参考文献----------------------------------------------------------------------------第一章:系统功能要求1.1 4*4 矩阵式键盘系统概述AT89C51单片机对4*4矩阵键盘进行动态扫描,当有按键盘的键时,可将相应按键值(0~F)实时显示在数码管上。

由p1.0—p1.3(列)和p1.4—p1.7(行)组成4*4矩阵键盘,p0口接LED 静态显示电路。

由于p0口内部无上拉电阻,因此必须外部接上上拉电阻,其值的选择可以根据LED数码管发光电流及其亮度来决定。

通过编写4*4键盘的驱动程序,当有键盘按下时,能够在数码管显示器与按键的键值对应的数字。

最常见键盘布局如下图1.1所示。

一般由16个按键组成,在单片机中正好可以用一个p图1.11.2 本设计任务和主要内容本论文主要研究单片机控制的键盘识别显示系统,分别对按键信息和显示电路以及软、硬件各个部分进行研究。

主要内容如下:1.2.1 根据矩阵式键盘的特点,进行键盘控制系统的整体研究与设计;1.2.2 熟练掌握protues软件的使用,并能够按要求对设计的电路进行仿真,实现相应的功能;1.2.3 LED实时显示按键的信息;1.2.4 采用软件编程的方法实现按键信息的提取和显示。

第二章:方案论证2.1 用proteus 仿真软件进行仿真2.1.1 按照设计任务在proteus 7professional 中绘制电路原理图。

2.1.2 根据设计任务的要求编写程序,画出程序流程图,并在proteus下进行仿真,实现相应功能。

2.1.3 以AT89C51为核心,设计系统硬件电路,并根据所设计的电路制作实物。

第三章:系统硬件电路的设计3.1 原理图绘制说明3.1.1 用AT89C51单片机对4*4矩阵键盘进行动态扫描,当按键盘的键时,可以将相应的按键值(0~F)实时显示在数码管上。

4*4矩阵键盘是用4条I/O 线作为行线,4条I/O线作为列线,在行线和列线的交叉点上设置一个按键,每个按键有它的行值和列值。

3.1.2 在“单片机系统”区域中,把单片机的P1.0-P1.7端口通过8联拨动拨码开关连接到“4×4行列式键盘”区域的相应端口上。

3.1.3 在“单片机系统”区域中,把单片机的P0.0-P0.7端口连接到“静态数码显示模块”区域中的任何一个a-g端口上;要求:P0.0对应着a,P0.1对应着b,……,P0.6对应着g。

3.2 画出流程图流程开始先对第一列进行扫描,如果没有按键,再对第二列、第三列、第四列分别进行扫描,如果没有返回到开始;如果第一列有按键,分别对第一行、第二行、第三行、第四行进行扫描,若有按键按下分别显示0、1、2、3;第二列、第三列、第四列类似第一列,分别对第一行、第二行、第三行、第四行进行扫描,有按键相应的显示出数值。

判断有无按键按下的方法是:第一步,置列线P1.4—P1.7为输入状态,从行线P1.0—P1.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。

第二步,行线轮流输出低电平,从列线P1.4—P1.7读入数据,若有某一列为低电平,则对应行线上有按键按下。

综合一二两步的结果,可以确定按键的编号。

但是键闭合一次只能进行一次键功能操作,因此必须等到按键释放后,再进行键功能操作,否则按键一次,有可能会连续多次进行同样的操作。

流程图如下:3.3 原理图绘制3.3.1 打开protrus仿真软件,进入主界面,然后新建一个图纸文件,软件默认为A4纸张,符合我们的要求,所以不需要修改。

3.3.2 开始绘图,点击按钮P,弹出选择添加的器件框图,在Keywords里直接输入所需器件的名称或者在Category的下面各个选项里一次查找所需的器件名称,然后点击ok将所需器件添加进去。

3.3.3 依次添加AT89C51芯片,共阳极的7段数码管,16个按键,8个电阻R0~R7,一个晶片,3个电容,地及电源。

3.3.4 按照设计的要求正确的连接电路,连接时注意管脚的分配及AT89C51的工作原理。

3.3.5 对连接好的电路图进行仿真,如果有错误要先按下暂停,然后对电路进一步的调整与修改,再进行仿真,保存原理图文件。

用protrus仿真软件所画的仿真图如下:图3.2 仿真原理图第四章:系统程序的设计4.1 程序的编写步骤4.1.1 判断是否有键按下;4.1.2 识别被按下的键;4.1.3 查数码显示编码表;4.2 编写的源程序{P07=1; //选通最有端的数码管显示P0=~table[i]; //显示i参数传来的字型码}void main(void){unsigned char temp;display(16); //初始显示 "-"while(1){//P1=0xff; //先向P1口写1;端口读状态 P1=0xf0;temp=P1;if(temp!=0xf0){delay1ms(15);if(temp!=0xf0){P1=0xfe;temp=P1;switch(temp){case(0xee):display(0);break;case(0xde):display(4);break;case(0xbe):display(8);break;case(0x7e):display(12);break;}P1=0xfd;temp=P1;switch(temp){case(0xed):display(1);break;case(0xdd):display(5);break;case(0xbd):display(9);break;case(0x7d):display(13);break;}P1=0xfb;temp=P1;switch(temp){case(0xeb):display(2);break;case(0xdb):display(6);break;case(0xbb):display(10);break;case(0x7b):display(14);break;第五章:调试及性能分析5.1 仿真结果:将此程序在汇编器中生成的“.hex”文件,导入AT89C51芯片中,用鼠标右键点击AT89C51,然后点鼠标左键,弹出编辑元件的框图,在programfile里添加.hex文件,再点OK。

5.2 点击“开始”按键,进行仿真,点击右边4*4按键,则数码管显示0~F,仿真结果符合实验要求,仿真结果如下图所示:图5.1 仿真结果显示图(图中显示4)5.3 系统实现的功能5.3.1 基本功能:通过键盘输入,在数码管上显示相应的数值;5.3.2 功能优势:键盘输入,单片机控制,数码管显示,在数码管连接方面克服了共阳极数码管显示不清晰的困难。

第六章:心得体会课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。

同时,设计让我感触很深。

相关主题