• 19.72 MB
  • 2022-04-29 14:09:03 发布

矩阵键盘设计毕业设计论文.doc

  • 51页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'学生毕业设计(论文)题目4*4矩阵键盘设计作者院(系)专业测控技术与仪器指导教师答辩日期 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:     日 期:     指导教师签名:     日  期:     使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:     日 期:      毕业设计(论文)诚信责任书本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。论文作者签名:年月日 xx大学本科毕业设计(论文)摘要相对于普通键盘,矩阵键盘有效的提高按键操作的效率,它可以提高系统的准确行,有利于资源的节约。对操作者的要求也比较低。能够准时,时实,高效的显示按键信息。本设计基于单片机技术和数码管显示技术,以AT89C51单片机作为主控芯片,结合电源电路,晶振振荡电路,复位电路,按键扫描模块,LED显示模块等。要通过软件与硬件相结合的方式来完成在数码管上显示0—F。并且在程序设计中利用按键扫描技术来对按键进行消抖。4*4矩阵键盘式键盘采用AT89C51单片机作为核心控制器件,以按键信号作为简单的输入信息,利用8段数码管和C语言编程。单片机将检测到的按键信号转换成数字量。最总在数码管显示了0-F。该设计实现了对矩阵键盘简单的信息输入的识别。关键词:AT89C51;LED;C语言;矩阵键盘I xx大学本科毕业设计(论文)I xx大学本科毕业设计(论文)TheDesignof4*4MatrixKeyboardABSTRACTComparedtoordinarykeyboard,thekeyboardmatrixtoeffectivelyimprovetheefficiencyofkeyoperation,whichcanimprovetheaccuracyoftheline,isconducivetoresourceconservation.Theoperator"srequirementsarerelativelylow.Ontime,whentherealandefficientdisplaykeyinformation.ThedesignisbasedonmicrocontrollertechnologyanddigitaldisplaytechnologytoAT89C51microcontrollerasthemasterchip,combinedwiththepowersupplycircuit,crystaloscillatorcircuit,resetcircuit,keyscanmodule,LEDdisplaymodule.Throughsoftwareandhardwarecombinationtoaccomplishinthedigitaltubedisplay0-F.Andintheprogramdesigntechniquestotakeadvantageofkeyscandebouncekeys.4*4matrixkeyboardkeyboardusingAT89C51microcontrollerasthecorecontroldevicetokeysignalasasimpleinputinformation,usingeightdigitaltubeandtheCprogramminglanguage.SCMwilldetectkeysignalsareconvertedintodigital.Mostalwaysinthedigitaldisplayofthe0-F.TheDesignandImplementationofasimplemessageonthematrixkeyboardinputrecognition.Keywords:AT89C51;LED;Clanguage;MatrixkeyboardV xx大学本科毕业设计(论文)目录摘要IABSTRACTII1绪论11.14*4矩阵键盘的的介绍11.24*4矩阵键盘应用11.3本设计所要实现的目标11.4本文的设计方案:采用以单片机为核心的控制方案22主要器件介绍32.1按键扫描模块的选择32.1.1按键序号排列图32.2主控芯片(微处理器)的选择32.2.1AT89C51单片机功能简介32.2.2AT89C51单片机引脚功能说明42.3数码管的选择62.3.1LED数码管的简介62.3.28段LED数码管的功能说明62.4驱动部分简介72.4.174LS245的选择72.4.274LS245的功能说明73系统硬件构成93.1设计原理93.2外围电路93.2.1电源电路93.2.274LS245驱动8段数码管的电路103.2.3晶振电路113.2.4复位电路123.2.54*4矩阵式键盘电路124系统软件设计155软件调试及仿真175.1软件编译175.1.1工程的创建17V xx大学本科毕业设计(论文)5.1.2AT89C51单片机的选择175.1.3程序的编译185.2系统仿真测试196结论29参考文献31致谢33附录A35附录B37V xx大学本科毕业设计(论文)1绪论1.14*4矩阵键盘的的介绍键盘以按键的形式来设置控制功能或数据,其是人机交互的最基本的途径。在键盘中,按键的输入状态本质上是一个开关量。通过键盘为按键编码,从而实现命令或数据的输入,以达到控制的目的。在单片机应用系统中,有两种常用的键盘结构:独立式按键和矩阵式按键。其中,独立式按键比较简单,适合于较少开关量的输入场合,而矩阵式键盘则适合于输入命令或者数据较多、功能复杂的系统。其矩阵式键盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,显示在LED数码管上。而其中的4*4矩阵式键盘采用AT89C51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组成,软件选用C语言编程[1]。其基本工作原理是单片机将检测到的按键信号转换成数字量,显示于LED显示器上。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。1.24*4矩阵键盘应用键盘接口是单片机非常重要的一环,作为人机交界面里最常用的输入设备,键盘输入数据和命令可以实现简单的人机通信。而其中的矩阵式设计,可以减少I/0的占用,更加的节约资源,在此基础上已出现了很多的现实应用。例如在美国已经开始设计更舒适的手套键盘,手套键盘就像是一个触摸屏,只要戴上手套,用大拇指轻敲其他手指就能打字。它可以用在消费市场或医疗领域,为那些因为残疾只能使用一只手的人服务。其中宏基公司设计了背光键盘,用户在夜晚使用时能够更加看清屏幕。目前,研究者又在研究全键盘手机,相信在未来用我们的手机打字,发短信将更加便捷。随着电脑的普及,以及在各行各业的应用,键盘作为人机交流的手段,将随着时代的发展,不断更新。1.3本设计所要实现的目标通过矩阵键盘设计的课题,提出了用P1口接矩阵键盘,用数码管显示0-F的序号的硬件电路设计和软件设计方案。在硬件方面,单片机控制芯片选AT89C51,41 xx大学本科毕业设计(论文)它是一种带4K字节的低电压、高性能CMOS8位微处理器,俗称单片机。器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash储存单元,AT89C51在众多嵌入式控制应用系统中得到广泛应用[2]。除此之外还有数码管显示器。在软件方面,主要通过按键信息传到单片机中,再通过单片机的处理最终在数码管上显示相应的结果。1.4本文的设计方案:采用以单片机为核心的控制方案按照系统的设计要求,将系统分为如下几个模块,主控模块,按键扫描模块,LED显示模块,电源电路,复位电路,晶振电路等几个模块[3]。其中以AT89C51作为主控模块,输入键值的按键模块有16个按键,显示模块用1位8段共阴极LED数码管。最终在数码管上显示每个按键的0—F序号。41 xx大学本科毕业设计(论文)2主要器件介绍2.1按键扫描模块的选择该系统以16个按键作为系统信息的输入端,通过主控模板的控制,最终显示在LED上。本系统是通过行与列两个并行接口与AT89C51通信。2.1.1按键序号排列图键盘的程序任务是:确定有没有按键按下,以及那个键按下了,其功能是什么,进而对键盘进行消抖。它的两个并行口中,一个输出扫描码,来达到按键动态接地的效果;另一个口输入按键状态,由扫描值和回馈信号共同形成键盘编码而识别按键。图2-1按键序号排列图2.2主控芯片(微处理器)的选择本次设计选用的微处理器是兼容标准MCS-51指令的AT89C51单片机。2.2.1AT89C51单片机功能简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度、非易失性存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚可以相互兼容[4]。因为在单个芯片中能很好的将多功能8位CPU和闪烁存储器进行组合,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机在很多嵌入式控制系统得到广泛应用,因为其灵活性高且价廉。41 xx大学本科毕业设计(论文)2.2.2AT89C51单片机引脚功能说明AT89C51的引脚如图2-2所示。图2-2AT89C51引脚图各引脚功能说明:VCC:供电电压。GND:接地。P0口:P0口可作为通用的I/O口,但必须外接上拉电阻。作为输入口,每个引脚可吸收8个TTL的灌电流。作为输入时,首先应将该引脚置为1。在访问外部数据存储器或者程序存储器时,这组线分时转换地址(低8位)和数据总线。P1口:P1口是内部含有上拉电阻,一个8位双向的I/O口,P1口缓冲器可以接收,输出4TTL门电流。P1口管脚被输入高电平后,其内部将被上拉为高,可以用来作输入,如果想输出电流,可以将P1口下拉为低电平,这些是因为内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口是内部含有上拉电阻,一个8位双向的I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口管脚被输入高电平后,其管脚内部将被上拉为高,以用来作为输入。P2口的管脚被外部拉低,将输出电流[5]41 xx大学本科毕业设计(论文)。当P2口对外部程序存储器或16位地址外部数据存储器进行存取时,将地址的高8位通过P2口输出。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚内部含有上拉电阻,一个双向的I/O口,可接收输出4个TTL门电流。当P3口被输入高电平后,其内部被上拉为高电平,并当作输入。作为输出,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表2-1所示:表2-1P3口第二功能表管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST:复位输入。在振荡器复位某个器件时候,要注意保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,对于锁存地址的位字节通常是由地址锁存允许输出的电平来完成。在平时,ALE端输出正脉冲信号的频率周期是固定的,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE要起作用必须确保其是在执行MOVX,MOVC指令。另外,该引脚将会被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效[6]。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指令期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH)作用,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET。当/EA端保持高电平时,此间内部程序存储器工作。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。41 xx大学本科毕业设计(论文)2.3数码管的选择显示模块选用1位8段共阴极LED数码管。2.3.1LED数码管的简介LED是一种将电源提供的电能转变成可见光的半导体,它改变白炽灯钨丝发光与节能灯三基色粉发光的基本原理,而采用电场发光。据分析,LED有4大特点:寿命长,光效高,无辐射与低功耗,LED的光谱全部集中在光频段,其发光效率可超过150lm/W(2010)。通过LED与普通白炽灯螺旋节能灯及T5三基色荧光灯的对比,我们发现:普通白只灯的光效最差仅有12LM/W,寿命也很短,不到2000小时,其次是螺旋节能灯的光效,它是白炽灯的5倍即就是60ML/W,寿命相对比较长:达到8000小时左右,再者就是T5荧光灯的光效:它是白炽灯的8倍多达到96LM/E,寿命是其的5倍,而直径仅为5毫米的LED,其光效甚至可以达到150LM/W,其寿命超过普通白炽灯的几十倍,已经大于100000多个小时。有人还大胆预测未来LED的在其寿命上将是一个没有上线的值。2.3.28段LED数码管的功能说明(a)8段LED数码管图图(b)共阳极LED图(c)共阴极LED图图2-38段数码管功能图按发光二极管单元连接方式可分为两类,它们是共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在使用的时候其公共极将被接到+5V,当给某一字段发光二极管的阴极输入低电平时,相应字段就会被点亮,相反的操作,其结果是相应字段就不亮[7]41 xx大学本科毕业设计(论文)。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在使用的时候是将公共极COM接到地线GND上,当给其中某一字段的阳极输入高电平时,相应字段就会被点亮,进行相反的操作,相应字段将不会亮。七段显示器,在许多产品应用上和许多场合上都可以经常见到。其内部结构是由八个发光二极管所组成,其由七个笔画和一个小数点组成,依顺时针方向为A、B、C、D、E、F、G与DP等八组发光二极管的排列,可用以显示0~9数字及英文数a、b、c、d、e、f。目前常用的七段显示器通常附有小数点,如此使其得以显示阿拉伯数之小数点部份,如表2-2所示是其段码表。表2-28段数码管段码表显示字符共阳极段码共阴极段码显示字符共阳极段码共阴极段码0COH3FHCC6H39H1F9H06HDA1H5EH2A4H5BHE86H79H3B0H4FHF8EH71H499H66HP8CH73H592H6DHUC1H3EH682H7DHRCEH31H7F8H07HY91H6EH880H7FHH89H76H990H6FHLC7H38HA88H77H全亮00HFFHB83H7CH全灭FFH00H2.4驱动部分简介通过和单片机相连对8段数码管的一个驱动作用。2.4.174LS245的选择74LS245芯片是一种常用的七段数码管译码器驱动器,常用在各种数字电路和单片机系统的显示系统中。2.4.274LS245的功能说明74LS245是我们常用的芯片,LED41 xx大学本科毕业设计(论文)和其他设备的驱动经常会用到它,它是8路同相三态双向总线收发器,可以对数据进行双向传输。74LS245还具有双向三态功能,既可以用它来输出数据,也可以用它对数据进行输入。当8051单片机的P0口总线负载过大,比如超过P0最大负载能力时,必须接入74LS245等总线驱动器[8]。当片选端/CE低电平有效时,DIR=“0”,信号由B向A传送(接收)。DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。由于地址的高8位始终由P2口输出,接口时74LS245的三态控制端接地的是1G和2G,P2口与驱动器输入线要相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)[9]。图2-474LS245引脚图41 xx大学本科毕业设计(论文)3系统硬件构成3.1设计原理根据系统总体的设计方案,4*4矩阵键盘的硬件设计部分采用AT89C51单片机作为核心控制器件,结合外围的按键模块和数码管显示等硬件辅助电路,组成一个对按键信息简单识别的系统。硬件设计总体结构框图如图3-1所示。时钟电路4*4矩阵键盘显示器AT89C51复位电路图3-1硬件总体原理框图3.2外围电路本系统选用单片机AT89C51作为核心控制器件,结合电源电路、复位电路、晶振电路、按键扫描模块等。对按键的一个简单的识别。其总电路图见附录A。3.2.1电源电路提供+5V的外部电源。其电路图如3-2所示。41 xx大学本科毕业设计(论文)图3-2电源电路原理图稳压电源电路即利用晶体管作为调整元件和负载串联,调整元件看做是可变电阻,从输出电压中提取全部或部分电压调节调整管所呈现的电阻来维持输出电压基本不变。它的输出电压可以随意连续调节,输出电流也可达到很大,稳压精度较高[9]。稳压电源电路主要由变压器、三端集成稳压器7805、整流电路、滤波电路组成。变压器是利用电磁感应原理进行变换交流电压、阻抗和电流的器件;三端稳压器可靠性高、精度高、电路实现简单且价格低廉,可以实现可靠的直流稳压电源;整流电路采用全桥式整流桥,即利用四个二极管两两并联后接入输出电压;电容滤波电路即在输出端并联一个电容器。3.2.274LS245驱动8段数码管的电路74LS245是我们常用的芯片,用来驱动LED或者其他设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据,当单片机P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245总线驱动器。下图是其驱动电路原理图。41 xx大学本科毕业设计(论文)图3-374L245驱动电路原理图3.2.3晶振电路单片机是一种时序电路,要想其正常工作必须提供脉冲。MCS-51系列单片机内部都有一个时钟振荡电路,只需外接晶振源,就可以产生一定频率的时钟信号送到单片机的内部各个单元,不同的频率决定单片机的工作速度。XTAL1和XTAL2脚分别构成单片机片内振荡电路的反相放大器的输入端和输出端,外接石英晶体X1和振荡电容C1、C2构成并联谐振电路[10]。晶振是石英振荡器的简称,英文名为Crystal,是利用石英晶体(SiO2晶体)的压电效应制成的一种谐振器件;两个振荡电容C1、C2是分别接在晶振的两个脚和对地的电容,本设计分别选用12.0MHz的标准石英晶振和两个10pF的电容。晶振电路如图3-4所示。图3-4晶振电路图41 xx大学本科毕业设计(论文)3.2.4复位电路89系列单片机的复位信号是从RST引脚输入到芯片内的触发器中的,当系统处于正常工作状态且振荡器稳定时,如果RST脚上有一个高电平并维持两个机器周期以上,CPU就可响应并且将系统复位[11]。不管是单片机刚接上电源还是断电后或发生故障后均要进行复位的操作。通常采用手动复位和上电自动复位的组合,在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用于复位。复位电路如图3-5所示。图3-5复位电路原理图3.2.54*4矩阵式键盘电路矩阵键盘又称为行列式键盘,4条I/O行线和4条I/O列线将会组成一个键盘。在行线和列线的每一个交叉点上设置一个按键。通过这样不断的设置,键盘中的按键个数最终将会达到16个。这种行列式键盘结构能够有效提高单片机系统的接口利用率,节约资源。其键盘工作原理是:先从P1口高4位输出电平,低4位输出高电平,把键盘状态从低4位读出,再从低4位输出低电平,高4位输出高电平,从其高4位读取键盘状态。将两次读取结果组合起来就可以得到当前按键的特征编码。如下图3-6所示。41 xx大学本科毕业设计(论文)图3-64*4键盘按键原理图41 xx大学本科毕业设计(论文)41 xx大学本科毕业设计(论文)4系统软件设计软件设计部分主要为键盘的按下和消抖以及按键的识别,主程序流程图如图4-1所示。P3=FFH,P3.2=0P3=FFH,P3.0=0NN有按键按下吗?有按键按下吗?YY延时10ms延时10msNN真有按键按下吗?真有按键按下吗?YY根据当前状态识别按键根据当前状态识别按键N有按键按下吗?P3=FFH,P3.3=0N有按键按下吗?P3=FFH,P3.1=0延时10msY延时10msYN真有按键按下吗?N真有按键按下吗?根据当前状态识别按键YY根据当前状态识别按键结束图4-1主程序流程图41 xx大学本科毕业设计(论文)41 xx大学本科毕业设计(论文)5软件调试及仿真本次设计软件调试工具采用KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统KeiluVision4,KeilC51标准C编译器为8051微控制器的软件开发提供了C语言环境,并保留了汇编代码高效、快速的特点。软件仿真工具采用英国LabcenterElectronics公司研发的多功能EDA软件Proteus,其中的ProteusISIS是一款操作简单便捷的电子系统原理设计和仿真平台软件,它运行于Windows操作系统,可以仿真和分析各种模拟器和集成电路。5.1软件编译5.1.1工程的创建运行KeiluVision4软件点击Project点击NewProject,如图5-1所示。图5-1工程的创建图5.1.2AT89C51单片机的选择本次设计选用的是单片机AT89C51,如图5-2所示。41 xx大学本科毕业设计(论文)图5-2单片机选择图5.1.3程序的编译(1)程序代码的编写通过C语言对系统进行程序代码的编写工作,如图5-3所示。图5-3程序的编写图41 xx大学本科毕业设计(论文)(2)生成仿真所需的.hex文件点击Project再点击OptionsforTard设置晶振为12.0MHZ,点击Ouptput选定,CreatHEX80,如图5-4所示。图5-4.hex文件生成设置图5.2系统仿真测试将编译生成的4*4矩阵键盘设计模拟仿真.hex文件写入单片机AT89C51进行仿真测试,仿真测试结果正常,如图5-5所示。41 xx大学本科毕业设计(论文)图5-5仿真显示0图5-6仿真显示141 xx大学本科毕业设计(论文)图5-7仿真显示2图5-8仿真显示341 xx大学本科毕业设计(论文)图5-9仿真显示4图5-10仿真显示541 xx大学本科毕业设计(论文)图5-11仿真显示6图5-12仿真显示741 xx大学本科毕业设计(论文)图5-13仿真显示8图5-14仿真显示941 xx大学本科毕业设计(论文)图5-15仿真显示A图5-16仿真显示B41 xx大学本科毕业设计(论文)图5-17仿真显示C图5-18仿真显示D41 xx大学本科毕业设计(论文)图5-19仿真显示E图5-20仿真显示F41 xx大学本科毕业设计(论文)41 xx大学本科毕业设计(论文)6结论本设计基于单片机技术和数码管显示,利用美国爱特梅尔(Atmel)公司的AT89C51单片机作为主控芯片、结合电源电路、晶振振荡电路、复位电路、按键扫描模块、LED显示模块等,并采用C语言对程序进行编译。通过硬件和软件相结合的方式完成了在数码管上显示了0—F,从而实现了以AT89C51单片机作为主控制,把按键上接受的信息通过数码管显示出来。该原理是键盘制造的基本原理,广泛应用于键盘的制造上,具有很强的实用价值。并且在显示时用到了8段数码管的显示原理,最终得出0-F的显示结果。41 xx大学本科毕业设计(论文)41 xx大学本科毕业设计(论文)参考文献[1]段崇秀.单片机中的矩阵键盘编程[J].硅谷,2012,(05):172-174.[2]贵国庆.单片机新手入门实例详解之三4×4矩阵健盘的工作原理与编程[J].电子制作,2006,(03):60-62.[3]杨社鼎.单片机矩阵键盘接口设计[J].科技创新与应用,2012,(09):27-28.[4]江力.单片机原理及其接口技术[M].北京:清华大学出版社,2006:35-37.[5]马义德.微型计算机原理及应用[M].北京:高等教育出版社,2004:96-98.[6]楼然苗,李光飞.单片机课程设计指导[M].北京:北京航空航天大学出版社,2007:101-102.[7]马忠梅.单片机的C语言程序设计[M].北京:北京航空航天大学出版社,2007:31-32.[8]杨居义.单片机课程设计指导[M].北京:清华大学出版社,2009:43-44.[9]朱清慧等.Proteus教程(第2版)[M].北京:清华大学出版社,2011:49-51.[10]宋戈等.51单片机应用开发范例大全[M].北京:人民邮电出版社,2010:37-39.[11]王质朴等.MCS-51单片机原理接口及应用[M].北京:北京理工大学出版社,2009:70-71.41 xx大学本科毕业设计(论文)41 xx大学本科毕业设计(论文)致谢值此本科毕业论文完成之际,首先要感谢老师们对我的悉心指导。从论文选题、开题,到中期写作,至整篇论文的反复修改、润色的完成,他们一丝不苟的工作态度以及给予我细心地指导和点拨,使我深受感动,使我获益匪浅,从中学到做事要有一个明确的目标,这样你的做事效率将会得到很大的提高,感谢老师的悉心指导。老师们严谨务实的治学态度、精益求精的工作作风、渊博的学识、诲人不倦的高尚师德是指导我们做事的准则。是我们明白了对待一件事要认认真真,像老师那样无私奉献,为社会尽一份自己的责任。他们的帮助使我开拓了研究方向和文化视野,使我充满了挑战未来的信心,在此谨向帮助过我的老师们致以衷心的感谢和崇高的敬意!其次感谢所有关心、帮助过我的老师和同学们,他们的热心使我学到了好多的知识,以及人生的感悟。最后感谢父母家人给予我的容忍、鼓励和支持,以及对我的理解。41 xx大学本科毕业设计(论文)41 xx大学本科毕业设计(论文)附录A41 xx大学本科毕业设计(论文)41 xx大学本科毕业设计(论文)附录B软件程序部分:#includeunsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsignedchartemp;unsignedcharkey;unsignedchari,j;SbitP10=P1^0;SbitP30=P3^0;SbitP31=P3^1;SbitP32=P3^2;SbitP33=P3^3;SbitP34=P3^4;SbitP35=P3^5;SbitP36=P3^6;SbitP37=P3^7;voidmain(void){while(1){P3=0xff;P34=0;temp=P3;temp=temp&0x0f;If(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){Case0x0e:key=7;Break;41 xx大学本科毕业设计(论文)Case0x0d:key=8;break;Case0x0b:key=9;break;Case0x07:key=10;break;}temp=P3;P10=~P10;P0=table[key];temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&0x0f;}}}P3=0xff;P3_5=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case0x0e:key=4;break;case0x0d:key=5;break;case0x0b:key=6;41 xx大学本科毕业设计(论文)break;case0x07:key=11;break;}temp=P3;P10=~P10;P0=table[key];temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&0x0f;}}}P3=0xff;P36=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case0x0e:key=1;break;case0x0d:key=2;break;case0x0b:key=3;break;case0x07:key=12;break;41 xx大学本科毕业设计(论文)}temp=P3;P1_0=~P1_0;P0=table[key];temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&0x0f;}}}P3=0xff;P37=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case0x0e:key=0;break;case0x0d:key=13;break;case0x0b:key=14;break;case0x07:key=15;break;}temp=P3;P10=~P10;41 xx大学本科毕业设计(论文)P0=table[key];temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&0x0f;}}}}}41'