已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告课程名称:单片机原理及应用课程设计设计题目: 手机键盘 系 别: 通信与与控制工程系 专 业: 电子信息专业 班 级: 09电二 学生姓名: 学 号: 起止日期: 指导教师: 教研室主任: 指导教师评语: 指导教师签名: 年 月 日成绩评定项 目权重成绩1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见: 主任签字: 年 月 日摘 要本设计利用的8255A芯片有3个8位并行I/O口, 8255A作为单片机与多种外设连接时的中间接口电路提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。设计中由单片机控制8255A的PC口对对3*3矩阵键盘进行扫描,判断是否有键按下,并通过计时器计算两次按键之间的间隔。再根据不同的情况,用查表法由PA口和PB口输出对应的数字。用动态扫描的方法实现三个数字同时输出,以实现手机键盘的模拟。关键词:单片机;8255A芯片;矩阵键盘;数码管目 录设计要求51 方案论证与对比51.1 方案一51.2 方案二51.3 方案对比与选择62 硬件电路设计62.1 8255A芯片引脚连接62.2 键盘电路72.3 系统复位电路的设计72.4 LED动态显示模块电路的设计82.5晶振电路设计83.系统软件设计93.1 8255A芯片93.2 矩阵键盘的设计103.3 数码管的设计103.4 定时器T0的设计124 系统调试与功能测试124.1 系统调试124.2 系统功能测试125详细仪器清单126 总结与思考及致谢13参考文献14附录15附录一:总电路图15附录二:总程序16手机键盘设计要求由开发板上4*4的键盘中取3*3的键值来模拟手机键盘中的拼音键,由这9个按键实现a到z的输出,由数码管来显示对应的1-26的值,如:键值a则显示1,键值d则显示4。提示:用定时器测量两次按键的间隔,进行手机键盘的模拟。测试:能正确输出字母对应的数字,6位数码管显示3次按键的最终结果。1 方案论证与对比1.1 方案一 方案一由STC89C52单片机直接连接键盘和6位LED,通过对键盘按下的不同返回值的判断,由查表法实现不同情况LED下的显示。同时用计时器判断两次按键间的间隔,使数字输出到不同的数码管上。框图如图1所示。STC89C526位LED显示键盘 图1 方案一框图1.2 方案二方案二的系统由单片机、数码管和键盘扫描3部分组成。单片机是整个系统的核心,其定时器的设置是实现所有功能的关键。整个系统的运行方式如:通过程序控制键盘动态扫描及定时,LED数码管显示器输出扫描显示,用定时器测量两次按键的间隔来控制键盘的调整和数码管的输出,中断返回后即按照设定的模式进入工作状态。框图如图2所示:8255ASTC89C526位LED显示键盘扫描 图2 扫描流程图1.3 方案对比与选择 方案一由STC89C52单片机直接连接键盘和6位LED,能快速的实现对键盘按键的判断和处理,但不能实现三个数字同时显示。为了解决这个问题,采用8255A作为中间转换芯片,键盘也采用扫描电路。通过对8255A不同端口的选择来实现6位LED的选通和显示,使手机键盘的功能完全的、更好的实现。所以方案二是更好的选择。2 硬件电路设计本设计主要用STC89C52做主控芯片,由8255A作为中间转换芯片连接矩阵键盘和6位LED数码管。晶振电路和中断电路直接连STC89C52。总电路框图如图3。8255ASTC89C52中断电路数码管显示电路键盘键盘电路晶振电路 图3 总电路框图2.1 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芯片引脚图2.2 键盘电路在单片机系统中键盘中按钮数量较多时,为了减少I/O口的占用,常常将按钮排列成矩阵形式。而在本设计中为了通过键盘来调整输出数值,数值要在数码管上显示出来,故我们采用3*3矩阵键盘的按键(按键S5,S6,S7,S9,S10,S11,S13,S14,S15)分别来改变数码管的数值,如图5所示:图5 键盘扫描电路2.3 系统复位电路的设计如单片机的复位电路图6示:RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR上的DISRT0位可以使此功能无效。DISRT0默认状态下,复位高电平有效。图6 复位电路图2.4 LED动态显示模块电路的设计 在该电路的设计中需要用到数码管,每个数码管的8段由芯片8255的PB口控制亮灭。PB口为高电平,则对应的段不亮,PB口为低电平,则对应的段为亮,所以改变PB口的输入就可以输出对应的数字,对应数字的段码可得表1。数码管的公共用脚分别由8255的的PA0-PA5经三极管扩流后进行控制2,由于要输出不同的数字,则只能用动态扫描的方法,每次选通一个数码管。如图7所示: 图7 数码管电路原理图2.5晶振电路设计 本系统采用的是12MHZ的晶振,其电路图如图8所示:图8 晶振电路图XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.系统软件设计如图9所示,程序首先初始化定时器,定义8255工作方式,定时器开启进入键盘扫描,通过程序判断是否有按键按下,获取键值通过数码管显示,定时器中断服务,用定时器测量两次按键的间隔来控制数码管的显示,中断返回后即按照设定的模式进入工作状态,以此来模拟手机键盘的功能。 图9 程序流程图3.1 8255A芯片随着大规模集成电路的发展,接口电路也被集成在单一的芯片上,许多芯片可以通过编程方法设定工作方式,这种接口芯片被称为可编程I/O接口芯片,8255A芯片是最常用的一种。使用8255A芯片前,必须对其各个端口地址进行设置,不然无法进行与CPU进行通信。由于本设计中需要通过8255的PA、PB、PC口分别来控制数码管的位选信号、段选信号、键盘的输入,同时还需要对其方式控制字进行设置。3.2 矩阵键盘的设计矩阵键盘是本设计中的一个关键。在对键盘进行判断和处理时采用的是动态扫描的方法:先将PA0拉高,然后扫描PC各行的电平状态,若哪一行出现高电平,即可知道该行的按键被按下。当按键每被按下一次,所对应的数码管的数值就会显示出相对应的数值,每个按键连续按下3次,又将回到该按键的初始值。从而很容易地实现了手机键盘一键多输出的功能的可调。开始键盘扫描键盘消抖键盘是否按下 N Y键盘消抖键值处理返回 图10 键盘流程图3.3 数码管的设计数码管的显示首先应该了解其结构,本组用到的数码管是共阳极的,当在公共引脚接上电源正极,笔画脚通过一个1k的电阻接负极,对应的笔画就会点亮。显示的数字09的8位二进制码如表1所示:表 1 数码管显示数值所对应的段码表显示码数字十六进制二进制gCdpdebfa00XA01010000010XBB1011101120X620110001030X2A0010101040X390011100150X2C0010110060X240010010070XBA1011101080X200010000090X2800101000注:1对应的笔画熄灭,0对应的笔画点亮。注:1对应的笔画熄灭,0对应的笔画点亮。要在某位数码管上显示一个数字,首先把待显示的数字的显示码送给8255的PB口,接着选中要显示的位4。例如:要在开发板中最右边的数码管上显示一个0,则需要先把0的显示码0XC0送至PB口,接着给PA5赋低电平,随后让单片机保持这个值不变,下载时钟程序即可让数码管显示规定的数字。由于我们需要让四位数码管同时动态显示,还应考虑到显示时间的长短,这时用一个延时程序来控制即可。 图11 数码管显示流程图3.4 定时器T0的设计 源于该设计的时间显示要非常精确,可以使系统的时序是用定时单位来描述的,在此选用定时器0,而单片机内部的时钟频率为12MHZ,那么它的一个时钟周期为1/12us,而一个机器周期是一个时钟周期的12倍,即一个机器周期的时间为1us。4 系统调试与功能测试 4.1 系统调试在刚开始的测试中,每一个按键只能对应的输出一个数字。后来经过添加计时器判断两次按键之间的间隔,使一个按键在连续按下时可以输出三个不同的值,增加了按键对应的数字量。后来发现数码管上的的数字只在按下键后一瞬间才出现之后就变成了000000,所以改变了程序内容,将要查表的内容存储在寄存器里面,再通过数码管循环扫描的方法使三个数字能同时显示在6个数码管上。4.2 系统功能测试该系统一次按键输出一个数字,连续按键则输出一个按键输出的其他数字,对应的按键与数字如下:S5的输出为1、2、3,S6的输出为4、5、6,S7输出为7、8、9,S9的输出为10、11、12,S10的输出为13、14、15,S11的输出为16、17、18,S13的输出为19、20、21,S14的输出为22、23、24,S15的输出为25,26。这基本上实现了手机键盘的功能。5详细仪器清单表2 仪器清单仪器名称数量STC89C52芯片18255A芯片18段共阳极数码管6开关 1矩形按键96 总结与思考及致谢单片机课程设计中学到很多东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前我接触的那些程序都是很短、比较基础的,但是在课程设计中碰到的那些需要很多小模块才能完成的任务,画原理图是很有必要的。因为通过原理图,在做设计的过程中,每一步要完成什么任务都有一个很清楚的思路,而且在功能测试的过程中也有利于查错。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。这次课程设计终于顺利完成了,在设计中遇到了很多问题,,了解到自己在设计原理图方面还有很多不足,以后会更加努力。在这次课程设计中遇到过很多问题,每次询问同学和老师时他们总会耐心地给予讲述,在此衷心的感谢所有同学,特别是感谢谢谭老师、田老师、侯老师的耐心指导。 参考文献1 朱定华. 戴汝平. 单片微机原理与应用M. 北京: 清华大学出版社,20032 张鑫. 单片机原理及应用M. 北京: 电子工业出版社,2005.83 楼然苗. 李光飞. 单片机课程设计指导M. 北京: 北京航空航天大学出版社,2007.74 陈家俊. 郑滔. 程序设计教程用C+语言编程M. 北京: 机械工业出版社,2004.85 胡汉才. 单片机原理及接口技术M. 北京: 清华出版社,2004附录附录一:总电路图附录二:总程序#include#include#include#define at8255_PA XBYTE0xD1FF #define at8255_PB XBYTE0xD2FF #define at8255_PC XBYTE0xD5FF #define at8255_CON XBYTE0xD7FF #define uchar unsigned char#define uint unsigned int char code dis11=0xA0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28,0xff; uchar KeyNumber=0;uchar temp=1;uchar flag=0,flagnum=0;uchar a3=0;uchar wait_time=0;uchar count=0;uchar num=0;void Init_8255();void Init_timer();void delay(uchar k);void display();void GetKeyNumber();void Init_8255()at8255_CON=0x81; at8255_PA=0xff; at8255_PB=0xff;void Init_timer()TMOD=0x11;ET0=1;TH0=(65536-15536)/256;TL0=(65536-15536)%256;EA=1;void delay(uchar k) uchar i,j; for(j=k;j0;j-)for(i=120;i0;i-);void display()at8255_PB=disa0%10; at8255_PA=0xdf;delay(0);at8255_PA=0xff;at8255_PB=disa0/10; at8255_PA=0xef;delay(0);at8255_PA=0xff;at8255_PB=disa1%10;at8255_PA=0xf7;delay(0);at8255_PA=0xff;at8255_PB=disa1/10;at8255_PA=0xfb;delay(0);at825
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020-2025年安全员之B证(项目负责人)通关考试题库带答案解析
- 中毒性表皮坏死松解型药疹的护理
- 2026浙江瑞丰银行秋季校园招聘历年真题汇编及答案解析(夺冠)
- 2026年投资项目管理师之投资建设项目组织考试题库200道含答案(考试直接用)
- 浙江国企招聘-2025杭州上城数字新基建管理有限公司招聘3人历年真题汇编及答案解析(夺冠)
- 2026年度社工(初)《社会工作实务》考试练习题及答案解析(夺冠)
- 2025中国人民保险集团股份有限公司楚雄州分公司招聘30人历年真题库带答案解析
- 2026航天科工十院校园招聘备考题库附答案
- 2026年质量员之设备安装质量专业管理实务考试题库附参考答案【培优a卷】
- 2026年版全国社会工作者《社会工作实务》考试典型题带答案解析
- 旅行社安全生产工作会议记录
- 心脑血管疾病防治健康教育
- 气象局面试题目和答案
- 企业三体系培训
- 远程心电图管理制度
- 公司党建宣传片策划方案
- 建信金科面试题及答案
- 支气管哮喘防治指南(2024年版)解读课件
- 2025年中级机械工程师考试试题及答案
- 2025-2030年中国公安信息化行业市场深度调研及竞争格局与投资策略研究报告
- 山姆合同协议书
评论
0/150
提交评论