单片机液晶屏显示仿手机键盘按键字符剖析

上传人:今*** 文档编号:105924806 上传时间:2019-10-14 格式:DOCX 页数:19 大小:666.98KB
返回 下载 相关 举报
单片机液晶屏显示仿手机键盘按键字符剖析_第1页
第1页 / 共19页
单片机液晶屏显示仿手机键盘按键字符剖析_第2页
第2页 / 共19页
单片机液晶屏显示仿手机键盘按键字符剖析_第3页
第3页 / 共19页
单片机液晶屏显示仿手机键盘按键字符剖析_第4页
第4页 / 共19页
单片机液晶屏显示仿手机键盘按键字符剖析_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机液晶屏显示仿手机键盘按键字符剖析》由会员分享,可在线阅读,更多相关《单片机液晶屏显示仿手机键盘按键字符剖析(19页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学单片机应用实践课程设计课程设计任务书学生姓名: 专业班级:电 信 指导教师: 工作单位: 武 题目: 液晶屏显示仿手机键盘按键字符初始条件:(1)Proteus软件;(2)课程设计辅导书:单片机课程设计指导(3)先修课程:单片机原理,电子设计EDA。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)课程设计时间: 1周;(2)课程设计题目:液晶屏显示仿手机键盘按键字符;(3)本课程设计统一技术要求:按照要求题目进行逻辑分析,设计出各模块逻辑功能,编写C语言程序,上机调试、仿真,完成实物,对实验结果进行分析;(4)课程设计说明书按学校“课程设计工作

2、规范”中的“统一书写格式”撰写,并标明参考文献至少5篇;(5)写出本次课程设计的心得体会(至少500字)。时间安排:第19周指导教师签名:年月日系主任(或责任教师)签名:年月日目录1.课程设计原理11.1proteus软件简介11.2proteus功能特点11.3protues软件资源丰富22.课程设计要求23. 设计原理及基本元器件介绍33.1 89C51芯片33.2 1602液晶显示屏33.3矩阵键盘44.课程设计思路55.程序源代码及仿真效果55.1键盘矩阵扫描程序55.2 1602液晶显示仿手机按键字符75.3蜂鸣器及定时器设置7图6(b)定时器流程图85.4功能键处理程序85.4主程

3、序96.仿真及实物107.心得体会138.参考文献14附录1:矩阵键盘扫描程序15附录2:1602液晶显示放手机按键字符程序16附录3:蜂鸣器及定时器程序17附录4:功能键代码171.课程设计原理1.1proteus软件简介Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真

4、正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。1.2proteus功能特点Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1原理布图2PCB自动或人工布线3SPICE电路仿真革命性的特点1互动的电路仿真用户甚至可以实时

5、采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。1.3protues软件资源丰富1Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。2Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生

6、器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。3除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。4Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。2.课程设计要求本次的课程设计我们做的是1602液晶屏显示仿手机键盘按键字符,它的设计要求简单来说如下所示。电路仿照手机键盘在每个按键上集成

7、了多个按键字符,可选择输入电话号码或英文字符,当选择号码输入时,屏幕显示“TEL”,直接按下各按键时,各键位对应的数字字符将显示在液晶屏上。当选择英文输入时,屏幕提示“ENG”,多数按键上都排有多个字符,当依次按下不同按键时,各按键的第一个英文字符将直接显示在液晶屏上,在一个按键上连续按下时如果时间间隔小于1.5秒,可循环选择该键中其他字符,如果同一按键按下时间间隔大于1.5秒,则最近显示的字符将被确认显示在液晶屏上,如果在某键上连续快速按下(1.5秒)选择了某个字符,当快速按下键盘中其他的按键(1.5秒)时,该键上最后选择的字符将被确认显示在液晶屏上。3. 设计原理及基本元器件介绍3.1 8

8、9C51芯片(1)器件介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。(2)原件引脚图如图1所示:图1 89C51芯片引脚图3.2 1602液晶显示屏(1)元件介绍1602液晶

9、也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。(2)引脚图如图2所示图2 1602显示屏引脚图3.3矩阵键盘本实验所用键盘为仿手机43键盘,所以采用的是43的矩阵键盘,横向,纵向分别扫描从而可以引出7个输入到P1口,矩阵键盘采用的复位按键有

10、四个管脚,分别为A、B、C、D,AB按下导通,CD按下导通,对角线的管脚按下导通但AC,BD不按下即导通,所以键盘的接线接线如图3所示。图3 矩阵键盘线路连接图4.课程设计思路 本程序综合了键盘矩阵扫描与1602字符液晶屏显示功能,仿照手机键盘在同一按键上集成多个字符输入功能时,其设计难点在于输入英文字符时,同键时间间隔小于1.5秒的连按处理,而数字字符由于每键均为第一个且仅有一个,因而设计相对简单的多。 对于英文字符输入,每当所输入字符属同一按键时,随即启动定时器开始计时,每次计时超过1.5秒时停止计时,主程序中探测到同一按键再次按下时,代码判断两次连按的时间间隔是否在1.5秒以内,如果在该

11、时间以内则认为是循环选择同一按键上的多个字符,否则将确认输入最后选择的字符。主程序在每次确认输入一个字符后停止定时器且将计时间隔变量tSpan归零,只有遇到同键按下时才启动定时器。 定时器溢出中断程序控制tSpan变量累加,当tSpan累加至50时,即超过2.5秒时禁止溢出中断,如果此时不禁止中断,继续使之累加下去,可能使某次连按过程中一次较长的暂停使计时变量tSpan不断累加而超过255后,再次从零开始累加计时,本来是一次较长的停顿因此将被误判为一次较短的时间间隔。 对于键盘扫描程序的相关细节,可参考程序后面所附详细注释仔细分析研究。5.程序源代码及仿真效果5.1键盘矩阵扫描程序(1) 思路

12、分析:键盘采用的是43的矩阵键盘,采用扫描的方式检测是否有键以及那个键按下,按行列串行扫描。最后得到结果。(2) 设计框图如图4所示:开始横向扫描是否等于0xFFN纵向扫描是否等于0xFFN无按键按下根据扫描结果判断按键结束图4 键盘矩阵扫描程序设计框图(3) 程序运行如附录1所示。5.2 1602液晶显示仿手机按键字符(1) 设计思路:1602液晶显示采用查表的方式,首先按照键值,先进行英文数字判断,再按同键位内部字符索引,输入缓冲空间。(2) 设计框图如图5:开始选择英文/中文输入按键值查找同一案件的内部索引同键位连续按键的间隔判定输出键值结束 图5 按键字符显示框图(3)程序代码运行如附

13、录二所示。5.3蜂鸣器及定时器设置(1) 设计思路:蜂鸣器当按键按动时发出声音,设定延时时,定时器 定时器溢出中断程序控制tSpan变量累加,当tSpan累加至50时,即超过2.5秒时禁止溢出中断,如果此时不禁止中断,继续使之累加下去,可能使某次连按过程中一次较长的暂停使计时变量tSpan不断累加而超过255后,再次从零开始累加计时,本来是一次较长的停顿因此将被误判为一次较短的时间间隔。开始(2) 设计流程如图6所示:开始设置延时50ms有无键按下N将tSpan设定为50,即2.5msY报警按键间隔大于50?不报警Y结束不置零置零 图6(a)蜂鸣器流程图结束图6(b)定时器流程图(3)代码如附

14、录三所示。5.4功能键处理程序(1) 设计思路:设置及一个输入内容标识:标识为一输入英文,否则为中文。中文英文标识为1?开始(2) 设计框图如图7:图7 功能键处理框图(3)设计程序键附录四所示5.4主程序(1) 设计思路:先设置输入方式,然后扫描键盘看哪个按键按下,经过延时查表等操作判定输入字符,然后通过液晶输出。开始(2) 设计框图:有按键按下时英文判定输入方式及输入字符输出结束图8 总程序框图(3)主程序代码如下所示6.仿真及实物仿真如图9所示:图9(2)实物如图10所示:图10(a)实物反面图图10(b)实物正面图7.心得体会通过该课程设计,我对单片机这种简单而又实用的工具有了更深刻的了解,对于线路的焊接也更加的熟练,相对于从前,对于电路的设计也更加的熟练,在仿真开始时,对于proteus的运用十分不熟练,但随着查阅资料以及询问同学后,我慢慢的掌握了软件的运用。在编程时,遇到了很大的问题,C语言运用的不熟练对于课设造成了很大的障碍,但在

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号