下载此文档

矩阵键盘控制数码管模板.doc


文档分类:通信/电子 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
矩阵键盘控制数码管专业综合设计报告项目名称:基于矩阵键盘和LED数码管显示器的简易人机界面设计学生姓名:同组同学:专业名称:班级:指导教师:项目起止日期:2012年03月12日至2012年03月30日目录摘要 31、概述 32、总体设计方案 3 3 43、系统硬件设计 4 5 5 5 6LED数码管显示部分 6 7 7 74、系统软件设计 9软件设计思想 9主程序设计 10子程序设计 11数码管显示程序设计 11键盘检测程序设计 11 145、系统调试 14 15参考文献 15摘要单片机自20世纪70年代以来,以其极高的性价比,以及方便小巧受到人们极大的重视和关注。本设计选用AT89S52芯片作为控制芯片,来实现矩阵键盘对LED数码管显示的控制。通过单片机的内部控制实现对硬件电路的设计,从而实现对4*4矩阵键盘的检测识别。用单片机的P3口连接4×4矩阵键盘,-,-,-,通过上拉电阻在显示器上显示不同的字符“0-F”。在硬件电路的基础上加上软件程序的控制来实现本设计。其工作过程为:先判断是否有键按下,如果没有键按下,则继续检测整个程序,如果有键按下,则识别是哪一个键按下,最后通过LED数码管显示该按键所对应的序号。关键词:AT89S52芯片;4*4矩阵键盘;键盘识别;LED数码管1、概述随着单片机系统的日益更新,以及人们对产品的人机交互能力的不断提高;使得单片机系统的人机界面设计能力成为学****单片机的一项重要的基础内容。而4*4键盘的操作和LED数码管的动态显示是人机界面设计中最基础的内容,掌握这些基础的设计能力对以后的学****研究是非常必要的。2、总体设计方案 本系统采用单片机AT89S52为数码管的控制核心,制造一种简单的4*4键盘检测显示,能够在目测条件下四位数码管各段亮度均匀、充足,本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。根据设计要求,确定的设计方案如下:选择AT89S52单片机作为整个系统的核心器件,对整个系统进行总体控制,发送并实时处理系统信息。:0-F。。键盘检测信号连接到单片机的P3口,显示信号连接到单片机的P0口。,,,,,数码管采用直接驱动方式,共阳极接法。本设计行、列驱动电路,显示屏电路,运用单片机的智能化,系统将每个功能电路模块连接在一起,总体结构设计如下图2-1所示:AT89S52键键盘检测数码管显示图2-1系统框图3、系统硬件设计 本系统的硬件电路是由单片机最小系统、按键电路、数码管显示电路三部分组成。其中,单片机最小系统包括电源电路、复位电路和晶振电路构成;按键电路采用独立编码方式;显示部分使用共阳型高台扫描、高态显示信号驱动电路,完成数字效果。电源是一切器件工作的根本,有一个稳定的电源是很重要的。由于单片机和数码管的功耗都很小,所以本设计选用单片机下载线直接供电,实验证明单片机和数码管的工作正常。如图3-1所示,电源模块。图3-1 为了确保系统中电路稳定可靠地工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般单片机电路正常工作需要供电5V±5%,~。由于系统电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,,复位信号才被撤除,系统电路开始正常工作。复位电路如图3-2所示。图3-2晶振是为电路提供频率基准的元器件,通常分成有源晶振和无源晶振两个大类,无源晶振通常信号质量和精度较差,需要精确匹配外围电路(电感、电容、电阻等),如需更换晶振时要同时更换外围的电路。有源晶振不需要芯片的内部振荡器,能够提供高精度的频率基准,信号质量也较无源晶振要好。本设计选用有源晶振,晶振电路如图3-3所示。图3-3 LED数码管显示部分 数码管采用的是共阳极的四位数码管,由P2端口的4,5,6,7口分别作为四位数码管的位选,P0端口作为四位数码管的位选。数码管电路图如图3-4所示。图3-4 按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。无按键按下时,行线处于高电平的状态,当有按键按下时,行线电平由此行线相连的列线电平决定。键盘的检测,首先要解决的问题是键盘抖动现象。(如图3-5所示)消抖的方法有两种,软件消抖和硬件消抖。由于硬件消抖结构比软件复杂,所以本设计采用的是软件消抖的方法,既在程序中加入5毫秒的延时,延时后再次返回P3的值二次判断是否有键盘按下。图3-5首先,将0xfe赋于P3口(此值是用于检测矩阵键盘的第一行按键),然后看P3&0xf0是否等于0xf0,如果等于则键盘第一行无按键按下,反之则键盘第一行有按键按下。具体是哪个键按下要根据P3&0xf0的值确定。例如:P3&0xf0=0xe0,则表示键盘第一行的第一个键按下。将键盘检测函数的值返回table[]中,这样数码管就能显示与按键一相对应的字符了。P3等于0xfd,0xfb,0xf7分别用于检测按

矩阵键盘控制数码管模板 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人业精于勤
  • 文件大小256 KB
  • 时间2020-02-02