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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(手机键盘课程设计.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

手机键盘课程设计.doc

1、摘 要本设计利用的 8255A 有 3 个 8 位并行 I/O 口, 8255A 作为单片机与多种外设连接时的中间接口电路提供与主机相连的 3 个总线接口,即数据线、地址线、控制线接口。设计中由单片机控制 8255A 的 PC 口对对 3*3 矩阵键盘进行扫描,判断是否有键按下,并通过计时器计算两次按键之间的间隔。再根据不同的情况,用查表法由 PA 口和 PB口输出对应的数字。用动态扫描的方法实现三个数字同时输出,以实现手机键盘的模拟。关键词:单片机;手机键盘;8255A 芯片;矩阵键盘;数码管1目 录设计要求 .11 方案论证与对比 .11.1 方案一 .11.2 方案二 .21.3 方案对

2、比与选择 .22 硬件电路设计 .32.1 8255A 芯片的结构及引脚功能 .32.2 键盘电路设计 .52.3 使用键盘时必须解决的问题 .52.4 系统复位电路的设计 .62.5 LED 动态显示模块电路的设计 .62.6 晶振电路设计 .73 系统软件设计 .73.1 8255A 芯片的设置 .83.2 矩阵键盘的设计 .93.3 数码管的设计 .93.4 定时器 T0 的设计 .114 系统调试与功能测试 .114.1 系统调试 .114.2 系统功能测试 .115 详细仪器清单 .126 总结思考及致谢 .12参考文献 .13附录 .14附录一:总电路图 .14附录二:总程序 .1

3、51手机键盘设计要求由开发板上 4*4 的键盘中取 3*3 的键值来模拟手机键盘中的拼音键,由这 9 个按键实现 a 到 z 的输出,由数码管来显示对应的 1-26 的值,如:键值 a 则显示 1,键值 d 则显示 4。提示:用定时器测量两次按键的间隔,进行手机键盘的模拟。测试:能正确输出字母对应的数字,6 位数码管显示 3 次按键的最终结果。1 方案论证与对比从理论上讲,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的 LED 器件发光,就可以得到想要的结果。这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。但在实际应用中几乎都不采用这种设计,而是采用另一种称为

4、动态扫描的显示方法。所谓动态扫描,简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套驱动器。以 44 点阵为例,把所有同一行发光管的阳极连在一起,把所有同一列发光管的阴极连在一起(共阳的接法) ,先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭第四行之后又从新点亮第一行,这样反复轮回。当这样的轮回足够快(每秒 24 次以上)时,由于人眼的视觉暂留现象,我们就能看到数码管上稳定的图形了。1.1 方案一方案一由 STC89C52 单片机直接连接键盘和 6 位 LED,通过对

5、键盘按下的不同返回值的判断,由查表法实现不同情况 LED 下的显示。同时用计时器判断两次按键间的间隔,使数字输出到不同的数码管上。框图如图 1 所示:21.2 方案二方案二的系统由单片机、数码管和键盘扫描 3 部分组成。单片机是整个系统的核心,其定时器的设置是实现所有功能的关键。整个系统的运行方式如:通过程序控制键盘动态扫描及定时,LED 数码管显示器输出扫描显示,用定时器测量两次按键的间隔来控制键盘的调整和数码管的输出,中断返回后即按照设定的模式进入工作状态。框图如图 2 所示:图 1 方案一框图图 2 方案二框图1.3 方案对比与选择方案一由 STC89C52 单片机直接连接键盘和 6 位

6、 LED,能快速的实现对键盘按键的判断和处理,但不能实现三个数字同时显示。为了解决这个问题,采用 8255A作为中间转换芯片,键盘也采用扫描电路。通过对 8255A 不同端口的选择来实现 6位 LED 的选通和显示,使手机键盘的功能完全的、更好的实现。所以方案二是更好的选择。STC89C52 8255A6 位 LED 显示键盘扫描STC89C52键盘6 位 LED 显示32 硬件电路设计本设计主要用 STC89C52 做主控芯片,由 8255A 作为中间转换芯片连接矩阵键盘和 6 位 LED 数码管。晶振电路和中断电路直接连 STC89C52。总电路框图如图 3:图 3 总电路框图2.1 82

7、55A芯片的结构及引脚功能8255A 芯片是一种典型的可编程通用并行接口芯片,用来扩展单片机的端口,它具有 3 个 8 位的并行口,有三位工作方式,可作为单片与各种外部设备连接的接口电路 1。其中 PA 口连接选择数码管的三极管,进行数码管的相应位选,PB 口连接各数码管的公共端,进行数码管的相应段选,PC 口连接矩阵键盘,读入相应需要被数码管显示的字母,如图 4 所示:8255 芯片的引脚功能说明如下。 CS:片选信号线,当该引脚为低电平时,8255A 被选中,允许 8255A 与 CPU通讯。 RD: 读选通输入端,低电平有效。 WR:写选通输入端,低电平有效。 RESET:复位输入线,当

8、该引脚为高电平时,内部寄存器被清除,所有 I/O 口均被置成输入方式。STC89C52键盘电路 键盘晶振电路中断电路8255A显示电路 数码管4 A0、A1:端口地址输入线,当 A0A1=00 时,PA 口被选中,当 A0A1=10 时,PB 口被选中,当 A0A1=01 时, PC 口被选中,当 A0A1=11 时,控制寄存器被选中。 D0D7:双向三态数据总线,与 CPU 数据总线相连。 PA,PB,PC:三个 8 位 I/O 接口。 Vcc,GND:电源+5V,接地。(a)8255A 芯片内部逻辑结构图5(b) 8255A 芯片引脚图图 4 8255A 芯片的结构及引脚图2.2 键盘电路

9、设计在单片机系统中键盘中按钮数量较多时,为了减少 I/O 口的占用,常常将按钮排列成矩阵形式,这样可以更合理的利用硬件资源。矩阵式键盘是指由若干个按键组成的开关矩阵。4 行 4 列矩阵式键盘连接图如下图 5 所示。这种键盘适合采取动态扫描的方式进行识别,也就是说,如果采用低电平扫描,回送线必须被拉上高电平;反之亦然。而在本设计中为了通过键盘来调整输出数值,数值要在数码管上显示出来。故我们选用 4*4 矩阵键盘中的 3*3 矩阵键盘的按键作为我们的使用按键(我们选用的按键有:S5,S6,S7,S9,S10,S11,S13,S14,S15)分别来改变数码管的数值。6图 5 4 行 4 列矩阵式键盘

10、连接图2.3 使用键盘时必须解决的问题对于图 5 所示的键盘来说,如果 PC5 为低电平,那么,在按下和解释 1 号键的过程中,PC0 上的电压波形如图 6 所示。图中,t1 和 t3 分别为键的闭合和断开过程中的抖动期(分别称为前沿抖动和后延抖动) ,其时间的长短与开关的机械特性有关,一般为 10-20ms;t2 为稳定的闭合期,其时间的长短有按键的动作决定,一般为几百毫秒至几秒;t0,t4 为断开期。为了保证 CPU 对键闭合的正确判断,必须去除抖动,在键的稳定闭合和断开期间读取键的状态。去除抖动可以采用硬件和软件两种方法。硬件方法就是在按键输入通道上添加去除抖动电路,从根本上避免电压抖动

11、的产生。软件方法则是延迟 10-20ms 的时间,待电压稳定后,再进行状态输入。由于人的按键速度与单片机的运行速度相比要慢得多,所以,软件延时的方法在技术上完全可行,而且在经济上更加实惠,因而被越来越多的采用。 T 1 T 3T 2T 4T 0图6 键按下和释放时的行线电压波形72.4 系统复位电路的设计RST:复位输入,复位高电平有效。单片机的复位电路如图 7 所示:图 7 复位电路图2.5 LED动态显示模块电路的设计 在该电路的设计中需要用到数码管,我们选用三位组合的共阳极八段数码管两个。每个数码管的 8 段由芯片 8255 的 PB 口控制亮灭。 PB 口为高电平,则对应的段不亮,PB

12、 口为低电平,则对应的段为亮,所以改变 PB 口的输入就可以输出对应的数字,对应数字的段码可查阅表 1。数码管的公共用脚分别由 8255 的的 PA0PA5经三极管扩流后进行控制 2,由于要求输出不同的数字,则只能用动态扫描的方法,每次选通一个数码管。如图 8 所示:图 8 数码管电路原理图82.6 晶振电路设计 本系统采用的是 12MHZ 的晶振,其电路图如图 9 所示:图 9 晶振电路图XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3 系统软件设计如图 10 所示,程序首先进行相应的初始化,即初始化定时器,定义 8255 工作方式,然后开启定时器进入键盘扫描,即通过程序判断是否有按键按下,最后将获取的键值通过数码管显示。其中定时器中断服务,用定时器测量两次按键的间隔来控制数码管的显示,中断返回后即按照设定的模式进入工作状态,以此来模拟手机键盘的功能。N开始键盘是否按下键盘扫描按键消抖初始化

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。