4 4扫描式矩阵键盘设计.doc

上传人:土8路 文档编号:10078725 上传时间:2021-04-17 格式:DOC 页数:16 大小:855KB
返回 下载 相关 举报
4 4扫描式矩阵键盘设计.doc_第1页
第1页 / 共16页
4 4扫描式矩阵键盘设计.doc_第2页
第2页 / 共16页
4 4扫描式矩阵键盘设计.doc_第3页
第3页 / 共16页
4 4扫描式矩阵键盘设计.doc_第4页
第4页 / 共16页
4 4扫描式矩阵键盘设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《4 4扫描式矩阵键盘设计.doc》由会员分享,可在线阅读,更多相关《4 4扫描式矩阵键盘设计.doc(16页珍藏版)》请在三一文库上搜索。

1、 湖 南 科 技 大 学单 片 机 课 程 设 计 题 目 _ 4*4矩阵键盘_ 姓 名 _杨泽伟_学 院 _机电工程学院_专 业 _测控技术与仪器_学 号 _0703030204_指导教师 _戴巨川_成 绩 _二一二年五月二十九日制摘 要 随着21世纪的到来,电子信息行业将是人类社会的高科技行业之一,式设施现代化的基础,也是人类通往科技巅峰的直通路。电子行业的发展从长远来看很重要,但最主要的还是科技问题。 矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。是它能准时、实时、高效地显示按键信息,以提高工作效率和资源利用率。 矩阵式键

2、盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,显示在LED数码管上。单片机控制依据这是键盘显示系统,该系统可以对不同的按键进行实时显示,其核心是单片机和键盘矩阵电路部分,主要对按键与显示电路的关系、矩阵式技术及设备系统的硬件、软件等各个部分进行实现。 4*4矩阵式键盘采用AT89C51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组成,软件选用C语言编程。单片机将检测到的按键信号转换成数字量,显示于LED显示器上。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。目 录第一章:系统功能要求-1.1 4*4 矩阵式键盘系统概述-1.2 本设计任务和主

3、要内容-第二章:方案论证-第三章:系统硬件电路的设计- 3.1 单片机控制系统原理- 3.2 原理图绘制说明- 3.3 画出流程图- 3.4 原理图绘制-第四章:系统程序的设计- 4.1 程序的编写步骤- 4.2 编写的源程序-第五章:调试及性能分析-第六章:心得体会-参考文献-第一章:系统功能要求1.1 4*4 矩阵式键盘系统概述 AT89C51单片机对4*4矩阵键盘进行动态扫描,当有按键盘的键时,可将相应按键值(0F)实时显示在数码管上。 由p1.0p1.3(列)和p1.4p1.7(行)组成4*4矩阵键盘,p0口接LED静态显示电路。由于p0口内部无上拉电阻,因此必须外部接上上拉电阻,其值

4、的选择可以根据LED数码管发光电流及其亮度来决定。通过编写4*4键盘的驱动程序,当有键盘按下时,能够在数码管显示器与按键的键值对应的数字。0321 最常见键盘布局如下图1.1所示。一般由16个按键组成,在单片机中正好可以用一个p口实现16个按键功能,这也是单片机系统中最常见的形式,本设计就采用这个键盘模式。45678B9AFCDE图1.11.2 本设计任务和主要内容 本论文主要研究单片机控制的键盘识别显示系统,分别对按键信息和显示电路以及软、硬件各个部分进行研究。 主要内容如下:1.2.1 根据矩阵式键盘的特点,进行键盘控制系统的整体研究与设计;1.2.2 熟练掌握protues软件的使用,并

5、能够按要求对设计的电路进行仿真,实现相应的功能;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矩阵键盘进行动态扫描,当按键盘的

6、键时,可以将相应的按键值(0F)实时显示在数码管上。4*4矩阵键盘是用4条I/O线作为行线,4条I/O线作为列线,在行线和列线的交叉点上设置一个按键,每个按键有它的行值和列值。 3.1.2 在“单片机系统”区域中,把单片机的P1.0P1.7端口通过8联拨动拨码开关连接到“44行列式键盘”区域的相应端口上。 3.1.3 在“单片机系统”区域中,把单片机的P0.0P0.7端口连接到“静态数码显示模块”区域中的任何一个ag端口上;要求:P0.0对应着a,P0.1对应着b,P0.6对应着g。3.2 画出流程图 流程开始先对第一列进行扫描,如果没有按键,再对第二列、第三列、第四列分别进行扫描,如果没有返

7、回到开始;如果第一列有按键,分别对第一行、第二行、第三行、第四行进行扫描,若有按键按下分别显示0、1、2、3;第二列、第三列、第四列类似第一列,分别对第一行、第二行、第三行、第四行进行扫描,有按键相应的显示出数值。判断有无按键按下的方法是:第一步,置列线P1.4P1.7为输入状态,从行线P1.0P1.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P1.4P1.7读入数据,若有某一列为低电平,则对应行线上有按键按下。综合一二两步的结果,可以确定按键的编号。但是键闭合一次只能进行一次键功能操作,因此必须等到按键释放后,再进行键功能操作,否则按

8、键一次,有可能会连续多次进行同样的操作。流程图如下: 开 始扫描一行 扫描一列扫描下一行 扫描下一行 该行该列是否有按键按下 延时去抖 Y四列全部扫描完? N 扫描下一行再次扫描原列 扫描下一行 N 四行全部扫描完?是否与原值相符? N 返回表示无键按下 释放按键 Y N Y Y 根据行列号求键值 根据键值查询数码显示值表 返 回图3.13.3 原理图绘制 3.3.1 打开protrus仿真软件,进入主界面,然后新建一个图纸文件,软件默认为A4纸张,符合我们的要求,所以不需要修改。 3.3.2 开始绘图,点击按钮P,弹出选择添加的器件框图,在Keywords里直接输入所需器件的名称或者在Cat

9、egory的下面各个选项里一次查找所需的器件名称,然后点击ok将所需器件添加进去。 3.3.3 依次添加AT89C51芯片,共阳极的7段数码管,16个按键,8个电阻R0R7,一个晶片,3个电容,地及电源。 3.3.4 按照设计的要求正确的连接电路,连接时注意管脚的分配及AT89C51的工作原理。 3.3.5 对连接好的电路图进行仿真,如果有错误要先按下暂停,然后对电路进一步的调整与修改,再进行仿真,保存原理图文件。 用protrus仿真软件所画的仿真图如下:图3.2 仿真原理图第4章 :系统程序的设计4.1 程序的编写步骤 4.1.1 判断是否有键按下; 4.1.2 识别被按下的键; 4.1.

10、3 查数码显示编码表;4.2 编写的源程序#include#define uchar unsigned char /数据类型的宏定义#define uint unsigned int /数据类型的宏定义sbit P07=P21;Unsigned; chart code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xBF; /共阳数码管显示字型码数组 1011 1111 -void delay1ms(uint i)uchar j;while(i-) for(j=0;j

11、115;j+) /1ms基准延时程序 ; void display(unsigned char i) P07=1; /选通最有端的数码管显示 P0=tablei; /显示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)

12、;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);bre

13、ak; case(0xdb):display(6);break; case(0xbb):display(10);break; case(0x7b):display(14);break; P1=0xf7; temp=P1; switch(temp) case(0xe7):display(3);break; case(0xd7):display(7);break; case(0xb7):display(11);break; case(0x77):display(15);break; 第5章 :调试及性能分析 5.1 仿真结果:将此程序在汇编器中生成的“.hex”文件,导入AT89C51芯片中,用鼠

14、标右键点击AT89C51,然后点鼠标左键,弹出编辑元件的框图,在programfile里添加.hex文件,再点OK。 5.2 点击“开始”按键,进行仿真,点击右边4*4按键,则数码管显示0F,仿真结果符合实验要求,仿真结果如下图所示:图5.1 仿真结果显示图(图中显示4) 5.3 系统实现的功能5.3.1 基本功能:通过键盘输入,在数码管上显示相应的数值;5.3.2 功能优势:键盘输入,单片机控制,数码管显示,在数码管连接方面克服了共阳极数码管显示不清晰的困难。第6章 :心得体会 通过本次单片机课程设计,我不仅加深了对单片机理论知识的理解,学会了学以致用的重要性;而且还学会了如何去加强锻炼创新

15、精神,同时也提高了自身的动手能力,让我深刻的意识到理论与实际结合的重要性。 在本次设计过程中,虽然设计的题目不是很难,但在实际操作过程当中也遇到了不少困难,通过遇到的困难也让我不断地去查找资料,不断地区询问同学,不断地去开动自己的脑子,从而也不断地超越自我,让自己的知识能够得到不断地完善;同时更重要的是,在这一设计过程当中,让我懂得了在学习的道路上会遇到很多的阻碍,但关键的是能做到坚持不懈,不轻易放弃;最终达到自己想要的目标。 单片机的学习对于我们专业来说非常的重要,通过本次设计也让我更加清晰了对专业的了解,理论知识再丰富,没有实际的操作经验也是不行的;本次设计也运用到了proteus仿真软件

16、,由于之前没有学过该仿真软件,所以在操作的过程中遇到了很多困难,但庆幸的是通过不断的学习,对proteus软件也有了很大的了解,也学会了一些简单的操作,所以也让我意识到,如果你想学好,通过自己的努力就一定会学好。 当然在本次设计过程中,也遇到了很多的困难,比如很多关于单片机的基础知识学的不是很好,对最小系统也不是很了解;也由于时间有点紧,还要制作实物,很多需要动手的实际操作都是第一次接触,所以可能本次的设计并没有达到自己预期的目的,但通过本次设计也让我更加明白了结果并不是那么的重要,我们更应该注重的是过程。当然在设计过程中也少不了团队的合作,要是没有团队的帮助,我想我一个人也不可能在短时间内完

17、成设计要求;所以在此也要感谢在设计中给予我帮助的指导老师和同学们。 参考文献【1】 李朝青等;单片机原理及串口外设接口技术;北京航空航天大学出版社,2008年1月;【2】 姜志海、刘连鑫;单片机微型计算机原理及应用;北京;机械工业出版社;【3】 洪志刚等;单片机应用系统设计;北京;机械工业出版社;【4】 王秋爽、曾绍龙等;单片机开发基础与经典设计实例;北京;机械工业出版社;【5】 赵星寒等;从0开始教你学单片机;北京;北京航空航天大学出版社;四、文字编印与排版要求4.1 页面要求4.1.1 页面设计(论文)需用A4纸(210 mmx297 mm)印刷,页眉20 mm、页脚15 mm,上页边距为

18、30 mm,左、右、下页边距为25 mm。4.1.2 页眉从目录页开始往后须有页眉,为“湖南科技大学本科生课程设计(论文)”。页眉五号宋体,居中。4.1.3 页码前置部分的目录用罗马数字编写页码,格式为“-i-”、“-ii-”、“-iii-”等。正文第一页往后各部分用阿拉伯数字连续编写页码。格式为“-1-”、“-2-”、“-3-”等,页码置于页脚,均用五号Times New Roman字体,居中放置。4.2 正文字体和字号及段落各章题序及标题:宋体加粗,小二号,段前段后各空0.5行;各节的题序及标题:宋体加粗,四号,段前段后各空0.5行;各条的题序及标题:宋体加粗,小四号,段前段后各空0.5行

19、;款、项及标题:均采用宋体加粗,小四号,段前段后不空行,1.25倍行距,首行缩进2字符,与内容同行;内容:用宋体,小四号,段前段后不空行,1.25倍行距,首行缩进2字符。4.3 正文层次正文层次的编排建议用以下格式:章第三章 内容1、每章(或附录)另起页,章编号用大写数字。节X.1 内容2、节标题顶格,X为阿拉伯数字的章编号。条X.1.1 内容3、条标题顶格,X为阿拉伯数字的章编号。款、项(1) 内容4、款(项)标题空2格起排。内容内容5、各层次题序及标题不得置于页面的最后一行(孤行)。4.4 公式编排公式原则上居中书写。公式序号按章编排,如第一章第1个公式序号为“(1.1)”,如附录A中的第

20、一个公式为“(A.1)”等。公式中第一次出现的物理量应给予注释。文中引用公式时,一般用“见式(1.1)”或“由公式(1.1)”。公式较长时最好在等号“=”处转行,如难实现,则可在、运算符号处转行转行时运算符号书写于转行式前。公式序号的右侧符号与右边线顶边排写,公式序号与对应的公式用点线连接。4.5 插表编排一律使用三线表。表格不加左、右边线。表序按章编排,如第一章第1个插表的序号为“表1.1”等。表序与表名之间空一格,表名中不允许使用标点符号,表名后不加标点。表序与表名置于表上,居中书写。表头设计应简单明了,起行空一格、转行顶格、句末不加标点。全表如用同一单位,将单位符号移至表头右上角,加圆括

21、号。表中数据应正确无误,书写清楚。数字空缺的格内加“”字线(占2个数字),不允许用“”、“同上”之类的写法。4.6 插图编排插图应与文字紧密配合,文图相符,技术内容正确,编排美观。选图要力求精练。插图应符合国家标准及专业标准。每个图均应有图题(由图号和图名组成)。图号按章编排,如第一章第1图的图号为“图1.1”等。插图处的空白页不够排写该图整体时,可将其后文字部分提前排写,将图移至次页最前面。4.7 参考文献参考文献书写格式应符合GB7714-87文后参考文献著录规则。常用参考文献编写项目和顺序规定如下(所有标点符号均为半角):参考文献(4个字居中,宋体四号加粗),具体文献条目每条另起行,顶格,用五号宋体。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1