4X4扫描式矩阵键盘课程设计_第1页
4X4扫描式矩阵键盘课程设计_第2页
4X4扫描式矩阵键盘课程设计_第3页
4X4扫描式矩阵键盘课程设计_第4页
4X4扫描式矩阵键盘课程设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子与信息与工程学院课程设计电子与信息与工程学院课程设计---第一章:系统功能要求 4*4矩阵式键盘系统概述 本设计任务和主要内容 第二章:方案论证 第三章:系统硬件电路的设计 单片机控制系统原理 原理图绘制说明 画出流程图 原理图绘制 第四章:系统程序的设计 程序的编写步骤 编写的源程序 第五章:调试及性能分析 第六章:心得体会 参考文献 第一章:系统功能要求4*4矩阵式键盘系统概述AT89C51单片机对4*4矩阵键盘进行动态扫描,当有按键盘的键时,可将相应按键值(0~F)实时显示在数码管上。由p1.0—p1.3(歹弱和p1.4—p1.7(行)组成4*4矩阵键盘,p0口接LEDB态显示电路。由于p0口内部无上拉电阻,因此必须外部接上上拉电阻,其值的选择可以根据LEDR码管发光电流及其亮度来决定。通过编写4*4键盘的驱动程序,当有键盘按下时,能够在数码管显示器与按键的键值对应的数字。最常见键盘布局如下图1.1所示。一般由16个按键组成,在单片机中正好可以用一个p口实现16个按键功能,这也是单片机系统中最常见的形式,本设计就采用这个键盘模式33™HF2-A--E一1二59D一。二48c一图1.1本设计任务和主要内容本论文主要研究单片机控制的键盘识别显示系统,分别对按键信息和显示电路以及软、硬件各个部分进行研究。主要内容如下:根据矩阵式键盘的特点,进行键盘控制系统的整体研究与设计;熟练掌握protues软件的使用,并能够按要求对设计的电路进行仿真,实现相应的功能;LED实时显示按键的信息;采用软件编程的方法实现按键信息的提取和显示。第二章:方案论证用proteus仿真软件进行仿真按照设计任务在proteus7professional 中绘制电路原理图。根据设计任务的要求编写程序,画出程序流程图,并在proteus下进行仿真,实现相应功能。以AT89C51为核心,设计系统硬件电路,并根据所设计的电路制作实物。第三章:系统硬件电路的设计原理图绘制说明用AT89C51单片机对4*4矩阵键盘进行动态扫描,当按键盘的键时,可以将相应的按键值(0~F)实时显示在数码管上。4*4矩阵键盘是用4条I/O线作为行线,4条I/O线作为列线,在行线和列线的交叉点上设置一个按键,每个按键有它的行值和列值。在“单片机系统”区域中,把单片机的P1.0—P1.7端口通过8联拨动拨码开关连接到“4X4行列式键盘”区域的相应端口上。在“单片机系统”区域中,把单片机的P0.0-P0.7端口连接到“静态数码显示模块”区域中的任何一个a—g端口上;要求:P0.0对应着a,P0.1对应着b,,P0.6对应着go画出流程图流程开始先对第一列进行扫描,如果没有按键,再对第二列、第三列、第四列分别进行扫描,如果没有返回到开始;如果第一列有按键,分别对第一行、第二行、第三行、第四行进行扫描,若有按键按下分别显示0、1、2、3;第二列、第三列、第四列类似第一列,分别对第一行、第二行、第三行、第四行进行扫描,有按键相应的显示出数值。判断有无按键按下的方法是:第一步,置列线P1.4—P1.7为输入状态,从行线P1.0—P1.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P1.4-P1.7读入数据,若有某一列为低电平,则对应行线上有按键按下。综合一二两步的结果,可以确定按键的编号。但是键闭合一次只能进行一次键功能操作,因此必须等到按键释放后,再进行键功能操作,否则按键一次,有可能会连续多次进行同样的操作。

流程图如下:图3.1原理图绘制打开protrus仿真软件,进入主界面,然后新建一个图纸文件,软件默认为A4纸张,符合我们的要求,所以不需要修改。开始绘图,点击按钮P,弹出选择添加的器件框图,在Keywords里直接输入所需器件的名称或者在Category的下面各个选项里一次查找所需的器件名称,然后点击ok将所需器件添加进去。

依次添加AT89C5TE片,共阳极的7段数码管,16个按键,8个电阻R0~R7一个晶片,3个电容,地及电源。按照设计的要求正确的连接电路,连接时注意管脚的分配及 AT89C51的工作原理。对连接好的电路图进行仿真,如果有错误要先按下暂停,然后对电路进一步的调整与修改,再进行仿真,保存原理图文件。用protrus仿真软件所画的仿真图如下:图3.2仿真原理图第四章:系统程序的设计程序的编写步骤判断是否有键按下;识别被按下的键;查数码显示编码表;编写的源程序#include<reg51.h>#defineucharunsignedchar// 数据类型的宏定义#defineuintunsignedint//数据类型的宏定义sbitP07=P2A1;Unsigned;chartcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xBF};//共阳数码管显示字型码数组 10111111"-"voiddelay1ms(uinti){ucharj;while(i--){for(j=0;j<115;j++) //1ms基准延时程序{;}}}voiddisplay(unsignedchari){P07=1; //选通最有端的数码管显示P0=~table[i];//显示i参数传来的字型码}voidmain(void){unsignedchartemp;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;}P1=0x亿temp=P1;switch(temp){case(0xe7):display(3);break;case(0xd7):display⑺;break;case(0xb7):display(11);break;case(0x77):display(15);break;}}}}}一工:亡ZEI—LiriW*l.-卜•一工:亡ZEI—LiriW*l.-卜•iUkt,I--TE-rr*EiLA第五章:调试及性能分析仿真结果:将此程序在汇编器中生成的“.hex”文件,导入AT89C5TE片中,用鼠标右键点击AT89C51然后点鼠标左键,弹出编辑元件的框图,在programfile里添加.hex文件,再点OK点击“开始”按键,进行仿真,点击右边4*4按键,则数码管显示0~F,仿真结果符合实验要求,仿真结果如下图所示:RHETliQrafai■H丁・I:ra<'Ai-国1,…BanP2WLP7WFW.U2MjieijiPlXAifl4口阿SJF-rasn,FJ.iFU图5.1仿真结果显示图(图中显示4)系统实现的功能基本功能:通过键盘输入,在数码管上显示相应的数值;功能优势:键盘输入,单片机控制,数码管显示,在数码管连接方面克服了共阳极数码管显示不清晰的困难。第六章:心得体会课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过本次电子线路设计,我不仅加深了对单片机理论知识的理解,学会了学以致用的重要性;而且还学会了如何去加强锻炼创新精神,同时也提高了自身的动手能力,让我深刻的意识到理论与实际结合的重要性。电子线路的学习对于我们专业来说非常的重要,通过本次设计也让我更加清晰了对专业的了解,理论知识再丰富,没有实际的操作经验也是不行的;本次设计也运用到了proteus仿真软件,由于之前没有学过该仿真软件,所以在操作的过程中遇到了很多困难,但庆幸的是通过不断的学习,对proteus软件也有了很大的了解,也学会了一些简单的操作,所以也让我意识到,如果你想学好,通过自己的努力就一定会学好。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论