基于at89s52的矩阵键盘及键值显示.doc_第1页
基于at89s52的矩阵键盘及键值显示.doc_第2页
基于at89s52的矩阵键盘及键值显示.doc_第3页
基于at89s52的矩阵键盘及键值显示.doc_第4页
基于at89s52的矩阵键盘及键值显示.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要:本文介绍了用单片扫描一个4*4的矩阵键盘,得出其键盘按下的位置,并在数码管中显示对应的值键。本系统主要包括三大模块:单片机最小模块、矩阵键盘模块、键值显示模块。绘制电路原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路。在软件编程上,采用了汇编语言进行编程,开发环境使用Keil集成开发环境。开发了矩阵键盘程序、数码管显示程序。关键词:矩阵键盘,数码管显示目 录 第1章 总体设计 1.1 系统设计任务 1.2 设计方案第2章 硬件电路设计2.1 单片机最小系统模块2.1.1复位电路 2.1.2时钟电路 2.2矩阵键盘模块 2.3键值显示模块 第3章 软件设计 3.1 主程序设计3.2 模块程序设计 3.2.1 矩阵键盘扫描程序 3.2.2 数码管显示程序附录1:原理图附录2:程序清单参考文献第一章 总体设计1.1 系统设计任务 设计44矩阵键盘与单片机的接口电路,并用数码管显示被按下的键的键值。1.2 设计方案44矩阵键盘与AT89S52单片机的P1口相连,单片机工作时候不停的扫描P1,当有键按下时,通过行列的扫描,判断出按下的键。再通过74LS164串入并出移位寄存器将对应的键值传送到数码管显示出来。系统总体设计原理如下图所示:图1 系统总体设计框图第2章 硬件电路设计2.1单片机最小系统模块在本次课题设计中我们选择了AT89S52芯片,其具有功能强、体积小、成本低、功耗小等特点,它可单独地完成现代工业控制所要求的智能化控制功能,能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。2.1.1复位电路 复位电路如图2.1所示,单片机系统常常有上电复位和操作复位两种。上电复位是指单片机上点瞬间,要在RST引脚上出现宽度大于10ms的正脉冲,才能使单片机进入复位状态。操作复位是指用户按下“复位”按钮使单片机进入复位状态。图21 复位电路2.1.2时钟电路 晶振电路用于产生单片机工作所需的时钟信号,使用晶体震荡器,CY1,CY2取值2040PF,使用陶瓷震荡器时CY1,CY2取值3050PF。在设计电路板时,晶振和电容应尽量靠近芯片,以减小分布电容,保证震荡器的稳定性。18引脚接XTAL1,19引脚接XTAL2,20引脚接地。图2.2 晶振电路2.2矩阵键盘模块矩阵键盘又称行列键盘,它是用四条I/O线作为行线,四条I/O线作为列组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为了4*4个。这种行列式键盘结构能有效地提高单片机系统中I/O的利用率。硬件电路如下图所示: 2.3键值显示模块 本设计中只需要显示矩阵键盘的键值,因此只需要用一位LED数码管显示即可。同时考虑到系统的扩展性,在显示电路中加入了74LS164进行I/O口的扩展。 2.3.1 LED数码管显示原理单片机i/o的应用最典型的是通过i/o口与7段led数码管构成显示电路,我们从常用的led显示原理开始,详尽讲解利用单片机驱动led数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解i/o口的编程原理,意在起举一反三,抛砖引玉的作用。 8段led数码管,则在一定形状的绝缘材料上,利用单只led组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。 led数码管根据led的接法不同分为共阴和共阳两类,了解led的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。右图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。 本设计中我们采用的是共阴极的LED数码管,其显示码表如下所示:显示 字符共阴极 字符03FH106H25BH34FH466H56DH67DH707H87FH96FHA77Hb7CHC39Hd5EHE79H2.3.2 74LS164I/O口扩展原理 本设计中用74LS164扩展并行输出口。74LS164是8位串入并出移位寄存器,设计电路如下图所示,图中用P0.1模拟移位脉冲,P0.0作为串行数据口,传送数码管显示码。第3章 软件设计 3.1 主程序设计 在本设计中,单片机处于不断扫描P1口,以确定是否按下了按键,按下了哪个按键。在确定按下的键之后,就将其对应的键值送给74LS164,然后通过74LS164传送给数码管显示出来。3.2 模块程序设计 3.2.1 矩阵键盘扫描程序 每一个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的值是多少?还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地;另一并行口输入按键状态,由行扫找值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的键值。3.2.2 数码管显示程序数码管分为静态显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论