ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:200.99KB ,
资源ID:5334358      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5334358.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版单片机毕业课程设计44矩阵式键盘识别显示电路的设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版单片机毕业课程设计44矩阵式键盘识别显示电路的设计.docx

1、完整版单片机毕业课程设计44矩阵式键盘识别显示电路的设计 数理与信息工程学院单片机原理及应用期末课程设计 题 目:44矩阵式键盘识别显示电路的设计 专 业: 电子信息工程 班 级: 电信061班 姓 名: 姜铮铮 学 号: 指导老师: 余 水 宝 成 绩: ( 2008.12 ) 第1节 引 言2 1.1 4*4矩阵式键盘系统概述21.2 本设计任务和主要内容3第2节 系统主要硬件电路设计42.1 单片机控制系统原理42.2 单片机主机系统电路5 2.2.1 时钟电路4 2.2.2 复位电路5 2.2.3 矩阵式键盘电路52.3 译码显示电路6第3节 系统软件设计11 3.1 软件流程图83.

2、2 系统程序设计9第4节 结束语12参考文献134*4矩阵式键盘识别显示电路的设计数理与信息工程学院 电信061 姜铮铮指导教师:余水宝 第一节 引 言 矩阵式键盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,即时在LED数码管上。单片机控制的据这是键盘显示系统,该系统可以对不同的按键进行实时显示,其核心是单片机和键盘矩阵电路部分,主要对按键与显示电路的关系、矩阵式技术及设备系统的硬件、软件等各个部分进行实现。4*4矩阵式键盘采用AT89S51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组成,软件选用汇编语言编程。单片机将检测到的按键信号转换成数字量,显示于

3、LED显示器上。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。1.1 4*4矩阵式键盘识别显示系统概述矩阵式键盘模式以N个端口连接控制N*N个按键,实时在LED数码管上显示按键信息。显示按键信息,既降低了成本,又提高了精确度,省下了很多的IO端口为他用,相反,独立式按键虽编程简单,但占用IO口资源较多,不适合在按键较多的场合应用。并且在实际应用中经常要用到输入数字、字母、符号等操作功能,如电子密码锁、电话机键盘、计算器按键等,至少都需要12到16个按键,在这种情况下如果用独立式按键的话,显然太浪费IO端口资源,为了解决这一问题,我们使用矩阵式键盘。矩阵式键盘简介:矩阵式键盘又称行

4、列键盘,它是用N条IO线作为行线,N条IO线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为N*N个。这种行列式键盘结构能有效地提高单片机系统中IO口的利用率。最常见的键盘布局如图1-1所示。一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,本设计就采用这个键盘模式。图1-1 键盘布局 随着21世纪的到来,资源危机接踵而至。快速席卷整个国家,这一状况还将随着时间的推移和社会的发展而更加严重。国家提倡资源节约型社会,资源危机已成为全球性的突出问题,利用科技手段缓解这一危机,将是人类主要的出路。 电子信息行业

5、是人类社会的高科技行业之一,是设施现代化的基础,也是人类通往科技巅峰的直通路。电子行业的发展从长远来看很重要,但最主要的还是科技问题。国家设施的现代化的根本出路在于全面提高科技水平,现代的社会经营模式由传统模式向现代化、高科技模式转变,由粗放型向集约型方向转变,必须要求科技有一个大的发展,进行一次新的技术革命。矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。是它能准确、实时、高效地显示按键信息,以提高工作效率和资源利用率。 随着计算机技术和电子科技的迅猛发展,计算机和电子产品的价格日益降低,可靠性日益提高。本文旨在设计一套能对按键

6、信息进行自动实时显示的系统。1.2 本设计任务和主要内容本论文主要研究单片机控制的键盘识别显示系统,分别对按键信息和显示电路以及软、硬件各个部分进行研究。主要内容如下: 根据矩阵式键盘的特点,进行键盘控制系统的整体研究与设计; LED实时显示按键信息; 采用软件编程的方法实现按键信息的提取和显示。第2节 系统主要硬件电路设计2.1 单片机控制系统原理图2-1 单片机控制系统原理框图 22 单片机主机系统电路AT89C51单片机是51系列单片机的一个成员,是8051单片机的简化版。内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指

7、令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。图2-2 单片机主机系统图2.2.1时钟电路 时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如

8、图2-2所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。 图2-2中外接晶体以及电容C2和C3构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值为30pF左右,晶振频率选11.0592MHz 。2.2.2复位电路 为了初始化单片机内部的某些特殊功能寄存器,必须利用复位电路,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。 单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,

9、但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入输出(10)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图2-2中R1和Cl组成上电复位电路,其值R取为1K, C取为10pF。2.2.3 矩阵式键盘电路 AT89C51单片机的并行口P1接44矩阵键盘,以P1.0P1.3作输入线,以P1.4P1.7作输出线;P1口输出按键信息,在数码管上显示每个按键的“0F”序号。实际电路图连接如图2

10、-4所示。图2-3 矩阵式键盘电路2.3 译码显示电路译码电路中常用的显示器有LED(数码管)和LCD(液晶显示器)。这两种显示器都具有线路简单、耗电少、成本低、寿命长等优点。本系统输出结果选用1个LED显示。数码管有共阴共阳之分,本系统采用8段共阴型LED,其原理图如图2-5所示。数码管内部有8个发光二极管,公共端由8个发光二极管的阴极并接而成,正常显示时公共端接低电平(GND),各发光二极管是否点亮取决于a-dp各引脚上是否是高电平。 LED数码管的外形结构如图2-4,外部有10个引脚,其中3, 8脚为公共端也称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字(0-9中的一个

11、)必须在这个数码管的段选端加上与数字显示数字对应的8位段选码(也称字形码),在位选端加上低电平即可。由于系统要显示的内容比较简单,显示量不多,所以选用数码管既方便又经济。LED有共阴极和共阳极两种。如图3-1所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)ag,另一个小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。 符号和引脚 共阳极 共阴极图2-4 LED数码管结构图2-5 译码显示电路当无按键闭合时,P1.0

12、-P1.3与P1.4-P1.7之间开路。当有键闭合时,与闭合键相连的两条IO口线之间短路。判断有无按键按下的方法是:第一步,置列线P1.4-P1.7为输入状态,从行线P1.0-P1.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P1.4-P1.7读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。由于本显示电路功能简单,为使编程简单,采用直接输出模式,即把P0.0P0.7端口用8

13、芯排线连接到数码显示模块区域中的ah端口上,要求:P0.0对应着a,P0.1对应着b,P0.7对应着h。表2-1 LED显示段码字型共阳极段共阴极段字型共阳极段共阴极段0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H第3节 系统的软件设计3.1 软件流程图开始 键盘值初始化读列线是否有键按下 N 延时去抖动 Y读列是否有按键按下 N 根据当前状态识别按键 Y 显示键值图3-1 软件设计流程图

14、32 系统程序设计KEYBUF EQU 30H ORG 00HSTART: MOV KEYBUF,#2WAIT: MOV P3,#0FFH CLR P3.4 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK1 MOV KEYBUF,#0 LJMP DK1NK1: CJNE A,#0DH,NK2 MOV KEYBUF,#1 LJMP DK1NK2: CJNE A,#0BH,NK3 MO

15、V KEYBUF,#2 LJMP DK1NK3: CJNE A,#07H,NK4 MOV KEYBUF,#3 LJMP DK1NK4: NOPDK1: MOV A,KEYBUF MOV DPTR,#TABLE MOVC +DPTR MOV P0,ADK1A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK1ANOKEY1: MOV P3,#0FFH CLR P3.5 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV

16、A,P3 ANL A,#0FH CJNE A,#0EH,NK5 MOV KEYBUF,#4 LJMP DK2NK5: CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2NK6: CJNE A,#0BH,NK7 MOV KEYBUF,#6 LJMP DK2NK7: CJNE A,#07H,NK8 MOV KEYBUF,#7 LJMP DK2NK8: NOPDK2: MOV A,KEYBUF MOV DPTR,#TABLE MOVC +DPTR MOV P0,ADK2A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK2ANOKEY2: MOV

17、 P3,#0FFH CLR P3.6 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK9 MOV KEYBUF,#8 LJMP DK3NK9: CJNE A,#0DH,NK10 MOV KEYBUF,#9 LJMP DK3NK10: CJNE A,#0BH,NK11 MOV KEYBUF,#10 LJMP DK3NK11: CJNE A,#07H,NK12 MOV KEYBUF,#1

18、1 LJMP DK3NK12: NOPDK3: MOV A,KEYBUF MOV DPTR,#TABLE MOVC +DPTR MOV P0,ADK3A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK3ANOKEY3: MOV P3,#0FFH CLR P3.7 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#12 LJMP

19、 DK4NK13: CJNE A,#0DH,NK14 MOV KEYBUF,#13 LJMP DK4NK14: CJNE A,#0BH,NK15 MOV KEYBUF,#14 LJMP DK4NK15: CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4NK16: NOPDK4: MOV A,KEYBUF MOV DPTR,#TABLE MOVC +DPTR MOV P0,ADK4A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK4ANOKEY4: LJMP WAITDELY10MS: MOV R6,#10D1: MOV R7,#24

20、8 DJNZ R7,$ DJNZ R6,D1 RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;数码管译码表 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HEND结 束 语 通过此次的单片机课程设计,我不仅加深了对单片机理论的理解,深刻懂得了要不断地时间才能掌握知识,而且还学会了如何去加强锻炼创新精神,从而不断地战胜自己,超越自己。创新,是要我们将理论很好地联系实际,并不断地去开动自己的脑子,从为先到并做到别人没想到没做到的事,不断地超越别人,超越自己;同时,更重要的是,在这一设计过程中,我懂得了坚持不懈,不轻易言弃是每个理工科学

21、子应具备的良好素质。设计过程,也好比是我们的成长的历程,常有一些不如意的事情发生,这就对我们提出了挑战。只要自己坚持,坚持,再坚持,再苦再累也值得。 机遇青睐有准备的人。这个设计过程中,我遇到过许多的考验,给整个设计带来的困扰,真想要就此放弃,然而,我还是挺了过来,回头想想这个设计的过程,我明白了,原来结果并不是那么得重要,我们更应该注重的是过程。 系统以单片机AT89C51为核心部件,单片机系统完成对按键信号识别、检测、处理、显示等功能,用Protel软件绘制电路原理图,利用MCS-51汇编语言编制程序。这个系统设计能让我们更好地去认识和使用单片机,矩阵式键盘,节约IO口资源,引脚分配,实时显示,芯片应用,编程实践,还有诸如此类的优点。然而由于时间有点紧张,本来想设计一个数码管动态扫描电路,或者用液晶屏显示的电路来显示按键信息,这样更加清晰,而且还可以显示其他的东西,比如时间,排序等等。参考文献1 电子工业出版社 . 单片机设计与应用M.2谢自美.电子线路设计实验测试.:华中科技大学出版社,20083陈小忠.单片机实用接口技术子程序.人民邮电出版社,20054阎石.数字电子技术基础(第三版). 北京:高等教育出版社,20035廖常初.现场总线概述J.电工技术,2001

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1