收藏 分享(赏)

矩阵键盘控制数码管.doc

上传人:HR专家 文档编号:6554844 上传时间:2019-04-17 格式:DOC 页数:15 大小:280.50KB
下载 相关 举报
矩阵键盘控制数码管.doc_第1页
第1页 / 共15页
矩阵键盘控制数码管.doc_第2页
第2页 / 共15页
矩阵键盘控制数码管.doc_第3页
第3页 / 共15页
矩阵键盘控制数码管.doc_第4页
第4页 / 共15页
矩阵键盘控制数码管.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、专业综合设计报告项目名称:基于矩阵键盘和 LED 数码管显示器的简易人机界面设计 学生姓名:同组同学:专业名称: 班 级:指导教师:项目起止日期:2012 年 03 月 12 日至 2012 年 03 月 30 日目录摘要 31、概述 32、总体设计方案 32.1 总体设计要求 32.2 系统框图 43、系统硬件设计 43.1 单片机的最小系统 53.1.1 电源电路 .53.1.2 复位电路 .53.1.3 晶振电路 .63.2 LED 数码管显示部分 .63.3 矩阵键盘 73.3.1 键盘的工作原理 .73.3.2 键盘检测原理 .74、系统软件设计 94.1 软件设计思想 .94.2

2、主程序设计 .104.3 子程序设计 .114.3.1 数码管显示程序设计 114.3.2 键盘检测程序设计 114.3.3 延时函数程序设计 .145、系统 调试 146.设计体会 15参考文献 15摘要单片机自 20 世纪 70 年代以来,以其极高的性价比,以及方便小巧受到人们极大的重视和关注。本设计选用 AT89S52 芯片作为控制芯片,来实现矩阵键盘对 LED 数码管显示的控制。通过单片机的内部控制实现对硬件电路的设计,从而实现对 4*4 矩阵键盘的检测识别。用单片机的 P3 口连接 44 矩阵键盘,并以单片机的 P3.0P3.3 口作键盘输入的列线,以单片机的 P3.4P3.7 口作

3、为键盘输入的行线,然后用 P0.0P0.7 作输出线,通过上拉电阻在显示器上显示不同的字符“0F” 。在硬件电路的基础上加上软件程序的控制来实现本设计。其工作过程为:先判断是否有键按下,如果没有键按下,则继续检测整个程序,如果有键按下,则识别是哪一个键按下,最后通过 LED 数码管显示该按键所对应的序号。关键词:AT89S52 芯片;4*4 矩阵键盘;键盘识别;LED 数码管1、概述随着单片机系统的日益更新,以及人们对产品的人机交互能力的不断提高;使得单片机系统的人机界面设计能力成为学习单片机的一项重要的基础内容。而 4*4 键盘的操作和 LED 数码管的动态显示是人机界面设计中最基础的内容,

4、掌握这些基础的设计能力对以后的学习研究是非常必要的。2、总体设计方案2.1 总体设计要求本系统采用单片机 AT89S52 为数码管的控制核心,制造一种简单的 4*4 键盘检测显示,能够在目测条件下四位数码管各段亮度均匀、充足,本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。根据设计要求,确定的设计方案如下:2.1.1 选择 AT89S52 单片机作为整个系统的核心器件,对整个系统进行总体控制,发送并实时处理系统信息。2.1.2 通过编程显示字符: 0-F。2.1.3 当检测有按键按下时数码管显示与该按键相对应的字符。 2.1.4 键盘检测信号连接到单片机的 P3 口,显示信号

5、连接到单片机的 P0口。2.1.5 数码管点亮过程有程序控制,P2.4,P2.5, P2.6,P2.7 分别作为四位数码管的位选,数码管采用直接驱动方式,共阳极接法。2.2 系统框图本设计行、列驱动电路,显示屏电路,运用单片机的智能化,系统将每个功能电路模块连接在一起,总体结构设计如下图 2-1 所示:AT89S52键键盘检测数码管显示3、系统硬件设计本系统的硬件电路是由单片机最小系统、按键电路、数码管显示电路三部图 2-1 系统框图分组成。其中,单片机最小系统包括电源电路、复位电路和晶振电路构成;按键电路采用独立编码方式;显示部分使用共阳型高台扫描、高态显示信号驱动电路,完成数字效果。3.1

6、 单片机的最小系统3.1.1 电源电路电源是一切器件工作的根本,有一个稳定的电源是很重要的。由于单片机和数码管的功耗都很小,所以本设计选用单片机下载线直接供电,实验证明单片机和数码管的工作正常。如图 3-1 所示,电源模块。图 3-13.1.2 复位电路为 了 确 保 系 统 中 电 路 稳 定 可 靠 地 工 作 , 复 位 电 路 是 必 不 可 少 的 一 部 分 ,复 位 电 路 的 第 一 功 能 是 上 电 复 位 。 一 般 单 片 机 电 路 正 常 工 作 需 要 供 电5V5%, 即 4.75 5.25V。 由 于 系 统 电 路 是 时 序 数 字 电 路 , 它 需 要

7、 稳 定 的 时钟 信 号 , 因 此 在 电 源 上 电 时 , 只 有 当 VCC 超 过 4.75V 低 于 5.25V 以 及 晶 体振 荡 器 稳 定 工 作 时 , 复 位 信 号 才 被 撤 除 , 系 统 电 路 开 始 正 常 工 作 。 复 位 电路 如 图 3-2 所 示 。图 3-23.1.3 晶振电路晶振是为电路提供频率基准的元器件,通常分成有源晶振和无源晶振两个大类,无源晶振通常信号质量和精度较差,需要精确匹配外围电路(电感、电容、电阻等) ,如需更换晶振时要同时更换外围的电路。有源晶振不需要芯片的内部振荡器,可以提供高精度的频率基准,信号质量也较无源晶振要好。本设

8、计选用有源晶振,晶振电路如图 3-3 所示。图 3-33.2 LED 数码管显示部分数码管采用的是共阳极的四位数码管,由 P2 端口的 4,5,6,7 口分别作为四位数码管的位选,P0 端口作为四位数码管的位选。数码管电路图如图 3-4所示。图 3-43.3 矩阵键盘3.3.1 键盘的工作原理 按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。无按键按下时,行线处于高电平的状态, 当有按键按下时, 行线电平由此行线相连的列线电平决定。3.3.2 键盘检测原理键盘的检测,首先要解决的问题是键盘抖动现象。 (如图 3-5 所示)消抖的方法有两种,软件消抖和硬件消抖。由于硬件消抖结构比软件

9、复杂,所以本设计采用的是软件消抖的方法,既在程序中加入 5 毫秒的延时,延时后再次返回P3 的值二次判断是否有键盘按下。图 3-5首先,将 0xfe 赋于 P3 口(此值是用于检测矩阵键盘的第一行按键) ,然后看 P3P2=0x0f;/数码管位选,让四个数码管都亮P0=0xbf;/数码管段选,程序刚开始数码管显示- - - -while(1)/死循环,始终执行键盘检测和数码管的显示P0=tablekeyscan()-1;/数码管的显示,调用键盘检测函数 图 4-3 主程序流程图4.3 子程序设计本设计的子程序包括数码管显示程序、按键检测程序、延时程序三种,下面依次详细介绍。4.3.1 数码管显

10、示程序设计将 0-F 字符的十六进制码编好,放入数组 table中。在程序开始时数码管显示- - - - 。当有按键按下时,则数码管显示与该按键相对应的字符。数码管显示子程序如下:Uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf;P2=0x0f;/数码管位选,让四个数码管都亮P0=tablekeyscan()-1;/调用键盘检测函数4.3.2 键盘检测程序设计系统中采用 4*4 矩阵键盘,在 P3 口接按键,P0 端口控制数码管显示。在键盘检

11、测函数里,依次送出列检测信号,而每组列检测信号输出后,即读取按键状态,若有按下按键,则进行键值的判断与计算,再将其对应的字符信号送入数码管显示。部分键盘检测子程序如下:uchar keyscan()/键盘检测部分P3=0xfe;temp=P3;temp=tempwhile(temp!=0xf0)delay(5);/延时 5 毫秒,消抖temp=P3;temp=tempwhile(temp!=0xf0)/再次确认是否有按键按下temp=P3;switch(temp)case 0xee:num=1;/如果 P3=0xee,则检测到键盘第一个键按下 ,以下同理break;case 0xde:num=

12、2;break;case 0xbe:num=3;break;case 0x7e:num=4;break;while(temp!=0xf0)temp=P3;temp=tempP3=0xfd;temp=P3;temp=tempwhile(temp!=0xf0)delay(5); /延时 5 毫秒,消抖temp=P3;temp=tempwhile(temp!=0xf0) /再次确认是否有按键按下temp=P3;switch(temp)case 0xed:num=5;/如果 P3=0xed,则检测到键盘第五个键按下 ,以下同理break;case 0xdd:num=6;break;case 0xbd:

13、num=7;break;case 0x7d:num=8;break;while(temp!=0xf0)temp=P3;temp=tempreturn num;4.3.3 延时函数程序设计本设计采用有返回值的延时函数,延时函数如下:void delay(uint z)/有返回值的延时函数uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);5、系统调试此次系统设计的结果很好,数码管和键盘都能按原先设想的工作。这个方案设计的 4*4 键盘检测显示字符,电路简单,成本较低,且较容易扩展;数码管各段亮度均匀、充足;显示字符稳定、清晰无串扰.在 KEIL 软件中的仿真如图 5-

14、1 所示。图 5-16.设计体会通过此次课程设计,让我学到了许多不知道的知识,在单片机的基本功能、数码管的显示、矩阵键盘的使用,还有其他元器件的选用有了一个较清晰的认识,在程序设计的思路,理论到实践的运用能力有了很大提高。通过这次课程设计的学习,我有了一定的实践经验和理论基础,让我位以后的学习奠定了基础;在设计思路上,通过查阅资料了解到许多方法,认识到程序形式的多样性。认识到设计必须要有自己的思想和独特的地方。要努力拓展自己的知识面,使自己的知识系统化。理论知识需要实践的考验,光有书本知识是远远不够的。在以后的学习中要时刻注重理论与实践的结合,秉承我们的校训“动手动脑,全面发展” 。参考文献(1)沈文.51 单片机 C 语言开发入门指导.北京:清华大学出版社,2003;(2)郭天祥.新概念 51 单片机 C 语言教程.北京:电子工业出版社,2009;(3)王静霞.单片机应用技术.北京:电子工业出版社,2009;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报