矩阵键盘设计毕业论文.docx
- 文档编号:9856376
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:28
- 大小:324.04KB
矩阵键盘设计毕业论文.docx
《矩阵键盘设计毕业论文.docx》由会员分享,可在线阅读,更多相关《矩阵键盘设计毕业论文.docx(28页珍藏版)》请在冰豆网上搜索。
矩阵键盘设计毕业论文
学生毕业设计(论文)
题目
4*4矩阵键盘设计
作者
院(系)
专业
测控技术与仪器
指导教师
答辩日期
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
毕业设计(论文)诚信责任书
本人郑重声明:
所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。
毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。
尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。
论文作者签名:
年月日
摘要
相对于普通键盘,矩阵键盘有效的提高按键操作的效率,它可以提高系统的准确行,有利于资源的节约。
对操作者的要求也比较低。
能够准时,时实,高效的显示按键信息。
本设计基于单片机技术和数码管显示技术,以AT89C51单片机作为主控芯片,结合电源电路,晶振振荡电路,复位电路,按键扫描模块,LED显示模块等。
要通过软件与硬件相结合的方式来完成在数码管上显示0—F。
并且在程序设计中利用按键扫描技术来对按键进行消抖。
4*4矩阵键盘式键盘采用AT89C51单片机作为核心控制器件,以按键信号作为简单的输入信息,利用8段数码管和C语言编程。
单片机将检测到的按键信号转换成数字量。
最总在数码管显示了0-F。
该设计实现了对矩阵键盘简单的信息输入的识别。
关键词:
AT89C51;LED;C语言;矩阵键盘
TheDesignof4*4MatrixKeyboard
ABSTRACT
Comparedtoordinarykeyboard,thekeyboardmatrixtoeffectivelyimprovetheefficiencyofkeyoperation,whichcanimprovetheaccuracyoftheline,isconducivetoresourceconservation.Theoperator'srequirementsarerelativelylow.Ontime,whentherealandefficientdisplaykeyinformation.
ThedesignisbasedonmicrocontrollertechnologyanddigitaldisplaytechnologytoAT89C51microcontrollerasthemasterchip,combinedwiththepowersupplycircuit,crystaloscillatorcircuit,resetcircuit,keyscanmodule,LEDdisplaymodule.Throughsoftwareandtoaccomplishinthedigitaltubedisplay0-F.Andintheprogramdesigntechniquestotakeadvantageofkeyscandebouncekeys.
4*4matrixkeyboardkeyboardusingAT89C51microcontrollerasthecorecontroldevicetokeysignalasasimpleinputinformation,usingeightdigitaltubeandtheCprogramminglanguage.SCMwilldetectkeysignalsareconvertedintodigital.Mostalwaysinthedigitaldisplayofthe0-F.TheDesignandImplementationofasimplemessageonthematrixkeyboardinputrecognition.
Keywords:
AT89C51;LED;Clanguage;Matrixkeyboard
摘要I
ABSTRACTII
1绪论1
1.14*4矩阵键盘的的介绍1
1.24*4矩阵键盘应用1
1.3本设计所要实现的目标1
1.4本文的设计方案:
采用以单片机为核心的控制方案2
2主要器件介绍3
2.1按键扫描模块的选择3
2.1.1按键序号排列图3
2.2主控芯片(微处理器)的选择3
2.2.1AT89C51单片机功能简介3
2.2.2AT89C51单片机引脚功能说明4
2.3数码管的选择6
2.3.1LED数码管的简介6
2.3.28段LED数码管的功能说明6
2.4驱动部分简介7
2.4.174LS245的选择7
2.4.274LS245的功能说明7
3系统硬件构成9
3.1设计原理9
3.2外围电路9
3.2.1电源电路9
3.2.274LS245驱动8段数码管的电路10
3.2.3晶振电路11
3.2.4复位电路12
3.2.54*4矩阵式键盘电路12
4系统软件设计15
5软件调试及仿真17
5.1软件编译17
5.1.1工程的创建17
5.1.2AT89C51单片机的选择17
5.1.3程序的编译18
5.2系统仿真测试19
6结论29
参考文献31
致谢33
附录A35
附录B37
1绪论
1.14*4矩阵键盘的的介绍
键盘以按键的形式来设置控制功能或数据,其是人机交互的最基本的途径。
在键盘中,按键的输入状态本质上是一个开关量。
通过键盘为按键编码,从而实现命令或数据的输入,以达到控制的目的。
在单片机应用系统中,有两种常用的键盘结构:
独立式按键和矩阵式按键。
其中,独立式按键比较简单,适合于较少开关量的输入场合,而矩阵式键盘则适合于输入命令或者数据较多、功能复杂的系统。
其矩阵式键盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,显示在LED数码管上。
而其中的4*4矩阵式键盘采用AT89C51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组成,软件选用C语言编程[1]。
其基本工作原理是单片机将检测到的按键信号转换成数字量,显示于LED显示器上。
该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。
1.24*4矩阵键盘应用
键盘接口是单片机非常重要的一环,作为人机交界面里最常用的输入设备,键盘输入数据和命令可以实现简单的人机通信。
而其中的矩阵式设计,可以减少I0的占用,更加的节约资源,在此基础上已出现了很多的现实应用。
例如在美国已经开始设计更舒适的手套键盘,手套键盘就像是一个触摸屏,只要戴上手套,用大拇指轻敲其他手指就能打字。
它可以用在消费市场或医疗领域,为那些因为残疾只能使用一只手的人服务。
其中宏基公司设计了背光键盘,用户在夜晚使用时能够更加看清屏幕。
目前,研究者又在研究全键盘手机,相信在未来用我们的手机打字,发短信将更加便捷。
随着电脑的普及,以及在各行各业的应用,键盘作为人机交流的手段,将随着时代的发展,不断更新。
1.3本设计所要实现的目标
通过矩阵键盘设计的课题,提出了用P1口接矩阵键盘,用数码管显示0-F的序号的硬件电路设计和软件设计方案。
在硬件方面,单片机控制芯片选AT89C51,它是一种带4K字节的低电压、高性能CMOS8位微处理器,俗称单片机。
器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash储存单元,AT89C51在众多嵌入式控制应用系统中得到广泛应用[2]。
除此之外还有数码管显示器。
在软件方面,主要通过按键信息传到单片机中,再通过单片机的处理最终在数码管上显示相应的结果。
1.4本文的设计方案:
采用以单片机为核心的控制方案
按照系统的设计要求,将系统分为如下几个模块,主控模块,按键扫描模块,LED显示模块,电源电路,复位电路,晶振电路等几个模块[3]。
其中以AT89C51作为主控模块,输入键值的按键模块有16个按键,显示模块用1位8段共阴极LED数码管。
最终在数码管上显示每个按键的0—F序号。
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单片机在很多嵌入式控制系统得到广泛应用,因为其灵活性高且价廉。
2.2.2AT89C51单片机引脚功能说明
AT89C51的引脚如图2-2所示。
图2-2AT89C51引脚图
各引脚功能说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口可作为通用的IO口,但必须外接上拉电阻。
作为输入口,每个引脚可吸收8个TTL的灌电流。
作为输入时,首先应将该引脚置为1。
在访问外部数据存储器或者程序存储器时,这组线分时转换地址(低8位)和数据总线。
P1口:
P1口是内部含有上拉电阻,一个8位双向的IO口,P1口缓冲器可以接收,输出4TTL门电流。
P1口管脚被输入高电平后,其内部将被上拉为高,可以用来作输入,如果想输出电流,可以将P1口下拉为低电平,这些是因为内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口是内部含有上拉电阻,一个8位双向的IO口,P2口缓冲器可接收,输出4个TTL门电流,当P2口管脚被输入高电平后,其管脚内部将被上拉为高,以用来作为输入。
P2口的管脚被外部拉低,将输出电流[5]。
当P2口对外部程序存储器或16位地址外部数据存储器进行存取时,将地址的高8位通过P2口输出。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚内部含有上拉电阻,一个双向的IO口,可接收输出4个TTL门电流。
当P3口被输入高电平后,其内部被上拉为高电平,并当作输入。
作为输出,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表2-1所示:
表2-1P3口第二功能表
管脚
备选功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(记时器0外部输入)
P3.5
T1(记时器1外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
RST:
复位输入。
在振荡器复位某个器件时候,要注意保持RST脚两个机器周期的高电平时间。
ALEPROG:
当访问外部存储器时,对于锁存地址的位字节通常是由地址锁存允许输出的电平来完成。
在平时,ALE端输出正脉冲信号的频率周期是固定的,此频率为振荡器频率的16。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE要起作用必须确保其是在执行MOVX,MOVC指令。
另外,该引脚将会被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效[6]。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指令期间,每个
机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EAVPP:
当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH)作用,不管是否有内部程序存储器。
注意加密方式1时,EA将内部锁定为RESET。
当EA端保持高电平时,此间内部程序存储器工作。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.3数码管的选择
显示模块选用1位8段共阴极LED数码管。
2.3.1LED数码管的简介
LED是一种将电源提供的电能转变成可见光的半导体,它改变白炽灯钨丝发光与节能灯三基色粉发光的基本原理,而采用电场发光。
据分析,LED有4大特点:
寿命长,光效高,无辐射与低功耗,LED的光谱全部集中在光频段,其发光效率可超过150lmW(2010)。
通过LED与普通白炽灯螺旋节能灯及T5三基色荧光灯的对比,我们发现:
普通白只灯的光效最差仅有12LMW,寿命也很短,不到2000小时,其次是螺旋节能灯的光效,它是白炽灯的5倍即就是60MLW,寿命相对比较长:
达到8000小时左右,再者就是T5荧光灯的光效:
它是白炽灯的8倍多达到96LME,寿命是其的5倍,而直径仅为5毫米的LED,其光效甚至可以达到150LMW,其寿命超过普通白炽灯的几十倍,已经大于100000多个小时。
有人还大胆预测未来LED的在其寿命上将是一个没有上线的值。
2.3.28段LED数码管的功能说明
(a)8段LED数码管图图(b)共阳极LED图(c)共阴极LED图
图2-38段数码管功能图
按发光二极管单元连接方式可分为两类,它们是共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在使用的时候其公共极将被接到+5V,当给某一字段发光二极管的阴极输入低电平时,相应字段就会被点亮,相反的操作,其结果是相应字段就不亮[7]。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在使用的时候是将公共极COM接到地线GND上,当给其中某一字段的阳极输入高电平时,相应字段就会被点亮,进行相反的操作,相应字段将不会亮。
七段显示器,在许多产品应用上和许多场合上都可以经常见到。
其内部结构是由八个发光二极管所组成,其由七个笔画和一个小数点组成,依顺时针方向为A、B、C、D、E、F、G与DP等八组发光二极管的排列,可用以显示0~9数字及英文数a、b、c、d、e、f。
目前常用的七段显示器通常附有小数点,如此使其得以显示阿拉伯数之小数点部份,如表2-2所示是其段码表。
表2-28段数码管段码表
显示字符
共阳极段码
共阴极段码
显示字符
共阳极段码
共阴极段码
0
COH
3FH
C
C6H
39H
1
F9H
06H
D
A1H
5EH
2
A4H
5BH
E
86H
79H
3
B0H
4FH
F
8EH
71H
4
99H
66H
P
8CH
73H
5
92H
6DH
U
C1H
3EH
6
82H
7DH
R
CEH
31H
7
F8H
07H
Y
91H
6EH
8
80H
7FH
H
89H
76H
9
90H
6FH
L
C7H
38H
A
88H
77H
全亮
00H
FFH
B
83H
7CH
全灭
FFH
00H
2.4驱动部分简介
通过和单片机相连对8段数码管的一个驱动作用。
2.4.174LS245的选择
74LS245芯片是一种常用的七段数码管译码器驱动器,常用在各种数字电路和单片机系统的显示系统中。
2.4.274LS245的功能说明
74LS245是我们常用的芯片,LED和其他设备的驱动经常会用到它,它是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引脚图
3系统硬件构成
3.1设计原理
根据系统总体的设计方案,4*4矩阵键盘的硬件设计部分采用AT89C51单片机作为核心控制器件,结合外围的按键模块和数码管显示等硬件辅助电路,组成一个对按键信息简单识别的系统。
硬件设计总体结构框图如图3-1所示。
图3-1硬件总体原理框图
3.2外围电路
本系统选用单片机AT89C51作为核心控制器件,结合电源电路、复位电路、晶振电路、按键扫描模块等。
对按键的一个简单的识别。
其总电路图见附录A。
3.2.1电源电路
提供+5V的外部电源。
其电路图如3-2所示。
图3-2电源电路原理图
稳压电源电路即利用晶体管作为调整元件和负载串联,调整元件看做是可变电阻,从输出电压中提取全部或部分电压调节调整管所呈现的电阻来维持输出电压基本不变。
它的输出电压可以随意连续调节,输出电流也可达到很大,稳压精度较高[9]。
稳压电源电路主要由变压器、三端集成稳压器7805、整流电路、滤波电路组成。
变压器是利用电磁感应原理进行变换交流电压、阻抗和电流的器件;三端稳压器可靠性高、精度高、电路实现简单且价格低廉,可以实现可靠的直流稳压电源;整流电路采用全桥式整流桥,即利用四个二极管两两并联后接入输出电压;电容滤波电路即在输出端并联一个电容器。
3.2.274LS245驱动8段数码管的电路
74LS245是我们常用的芯片,用来驱动LED或者其他设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据,当单片机P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245总线驱动器。
下图是其驱动电路原理图。
图3-374L245驱动电路原理图
3.2.3晶振电路
单片机是一种时序电路,要想其正常工作必须提供脉冲。
MCS-51系列单片机内部都有一个时钟振荡电路,只需外接晶振源,就可以产生一定频率的时钟信号送到单片机的内部各个单元,不同的频率决定单片机的工作速度。
XTAL1和XTAL2脚分别构成单片机片内振荡电路的反相放大器的输入端和输出端,外接石英晶体X1和振荡电容C1、C2构成并联谐振电路[10]。
晶振是石英振荡器的简称,英文名为Crystal,是利用石英晶体(SiO2晶体)的压电效应制成的一种谐振器件;两个振荡电容C1、C2是分别接在晶振的两个脚和对地的电容,本设计分别选用12.0MHz的标准石英晶振和两个10pF的电容。
晶振电路如图3-4所示。
图3-4晶振电路图
3.2.4复位电路
89系列单片机的复位信号是从RST引脚输入到芯片内的触发器中的,当系统处于正常工作状态且振荡器稳定时,如果RST脚上有一个高电平并维持两个机器周期以上,CPU就可响应并且将系统复位[11]。
不管是单片机刚接上电源还是断电后或发生故障后均要进行复位的操作。
通常采用手动复位和上电自动复位的组合,在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用于复位。
复位电路如图3-5所示。
图3-5复位电路原理图
3.2.54*4矩阵式键盘电路
矩阵键盘又称为行列式键盘,4条IO行线和4条IO列线将会组成一个键盘。
在行线和列线的每一个交叉点上设置一个按键。
通过这样不断的设置,键盘中的按键个数最终将会达到16个。
这种行列式键盘结构能够有效提高单片机系统的接口利用率,节约资源。
其键盘工作原理是:
先从P1口高4位输出电平,低4位输出高电平,把键盘状态从低4位读出,再从低4位输出低电平,高4位输出高电平,从其高4位读取键盘状态。
将两次读取结果组合起来就可以得到当前按键的特征编码。
如下图3-6所示。
图3-64*4键盘按键原理图
4系统软件设计
软件设计部分主要为键盘的按下和消抖以及按键的识别,主程序流程图如图4-1所示。
图4-1主程序流程图
5软件调试及仿真
本次设计软件调试工具采用KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统KeiluVision4,KeilC51标准C编译器为8051微控制器的软件开发提供了C语言环境,并保留了汇编代码高效、快速的特点。
软件仿真工具采用英国LabcenterElectronics公司研发的多功能EDA软件Proteus,其中的ProteusISIS是一款操作简单便捷的电子系统原理设计和仿真平台软件,它运行于W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 矩阵 键盘 设计 毕业论文