1 / 22
文档名称:

手机键盘.doc

格式:doc   页数:22
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

手机键盘.doc

上传人:小猪猪 2012/4/20 文件大小:0 KB

下载得到文件列表

手机键盘.doc

文档介绍

文档介绍:摘要
本设计利用的8255A有3个8位并行I/O口, 8255A作为单片机与多种外设连接时的中间接口电路提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。设计中由单片机控制8255A的PC口对对3*3矩阵键盘进行扫描,判断是否有键按下,并通过计时器计算两次按键之间的间隔。再根据不同的情况,用查表法由PA口和PB口输出对应的数字。用动态扫描的方法实现三个数字同时输出,以实现手机键盘的模拟。
关键词:单片机;8255A芯片;矩阵键盘;数码管
目录
设计要求 1
1 方案论证与对比 1
方案一 1
方案二 1
方案对比与选择 2
2 硬件电路设计 2
8255A芯片引脚连接 3
键盘电路 3
系统复位电路的设计 4
LED动态显示模块电路的设计 4
5
5
8255A芯片 6
矩阵键盘的设计 7
数码管的设计 7
定时器T0的设计 9
4 系统调试与功能测试 9
系统调试 9
系统功能测试 9
5详细仪器清单 9
6 总结与思考及致谢 10
参考文献 11
附录 12
附录一:总电路图 12
附录二:总程序 13
手机键盘
设计要求
由开发板上4*4的键盘中取3*3的键值来模拟手机键盘中的拼音键,由这9个按键实现a到z的输出,由数码管来显示对应的1-26的值,如:键值a则显示1,键值d则显示4。
提示:用定时器测量两次按键的间隔,进行手机键盘的模拟。
测试:能正确输出字母对应的数字,6位数码管显示3次按键的最终结果。
1 方案论证与对比
方案一
方案一由STC89C52单片机直接连接键盘和6位LED,通过对键盘按下的不同返回值的判断,由查表法实现不同情况LED下的显示。同时用计时器判断两次按键间的间隔,使数字输出到不同的数码管上。框图如图1所示。
STC89C52
6位LED显示
键盘
图1 方案一框图
方案二
方案二的系统由单片机、数码管和键盘扫描3部分组成。单片机是整个系统的核心,其定时器的设置是实现所有功能的关键。整个系统的运行方式如:通过程序控制键盘动态扫描
及定时,LED数码管显示器输出扫描显示,用定时器测量两次按键的间隔来控制键盘的调整和数码管的输出,中断返回后即按照设定的模式进入工作状态。框图如图2所示:
8255A
STC89C52
6位LED显示
键盘扫描
图2 方案框图
方案对比与选择
方案一由STC89C52单片机直接连接键盘和6位LED,能快速的实现对键盘按键的判断和处理,但不能实现三个数字同时显示。为了解决这个问题,采用8255A作为中间转换芯片,键盘也采用扫描电路。通过对8255A不同端口的选择来实现6位LED的选通和显示,使手机键盘的功能完全的、更好的实现。所以方案二是更好的选择。
2 硬件电路设计
本设计主要用STC89C52做主控芯片,由8255A作为中间转换芯片连接矩阵键盘和6位LED数码管。晶振电路和中断电路直接连STC89C52。总电路框图如图3。
STC89C52
8255A
中断电路
数码管
显示电路
键盘电路
键盘
晶振电路
图3 总电路框图
8255A芯片引脚连接
8255A芯片是一种典型的可编程通用并行接口芯片,用来扩展单片机的端口,它具有3个8位的并行口,有三位工作方式,可作为单片与各种外部设备连接的接口电路[1]。其中PA口连接选择数码管的三极管,PB口连接各数码管的公共端,PC口连接矩阵键盘,如图4所示。
CS:片选信号线,当该引脚为低电平时,8255A被选中,允许8255A与CPU通讯。
RESET:复位输入线,当该引脚为高电平时,内部寄存器被清除,所有I/O口均被置成输入方式。
A0、A1:地址输入线,当A0A1=00时,PA口被选中,当A0A1=00时,PA口被选中,当A0A1=01时,PB口被选中,当A0A1=10时,PC口被选中。
图4 8255A芯片引脚图
键盘电路
在单片机系统中键盘中按钮数量较多时,为了减少I/O口的占用,常常将按钮排列成矩阵形式。而在本设计中为了通过键盘来调整输出数值,数值要在数码管上显示出来,故我们采用3*3矩阵键盘的按键(我们选用的按键有:S5,S6,S7,S9,S10,S11,S13,S14,S15)分别来改变数码管的数值,电路如图5所示:
图5 键盘扫描电路
系统复位电路的设计
如单片机的复位电路图6示:
RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门