基于单片机的自行车里程速度计设计

上传人:1777****777 文档编号:36492846 上传时间:2021-10-31 格式:DOC 页数:77 大小:13.35MB
返回 下载 相关 举报
基于单片机的自行车里程速度计设计_第1页
第1页 / 共77页
基于单片机的自行车里程速度计设计_第2页
第2页 / 共77页
基于单片机的自行车里程速度计设计_第3页
第3页 / 共77页
点击查看更多>>
资源描述
华科学院本科毕业设计(论文)基于单片机的自行车里程速度计设计摘要 随着自行车行业和电子技术的发展,自行车里程速度计技术也在不断进步和提高,用户对自行车里程速度计的要求也越来越高,因此设计了自行车里程速度计。本文主要研究了以单片机为基础的自行车里程速度器的设计。采用STC89C52单片机为主要控制芯片,运用自行车车轮上的传感器进行计数,通过一定时间间隔对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在液晶显示器LCD上显示车辆行驶的里程和速度,同时运用其他按键分别自行车单里程计数,瞬时速度、最大速度和平均速度显示,具有超速报警。 该设计重点阐述了系统的工作原理、硬件构成、各部分的主要功能以及软件的结构和实现。自行车里程速度计的设计本着安全、方便、节能、人性化的原则进行,可使现代生活显著提高。关键词:自行车,STC89C52, LCD1602 Bicycle mileage velocity meter based on MCU ABSTRACTAlong with the development of the bicycle industry and electronic technology, bicycle speedometer technology is also in constant progress and improve, user demand for bicycle mileage is more and more is also high, so I chose bicycle mileage speedometerThis article mainly introduced take the monolithic integrated circuit as the foundation rental car fare register design. Uses the 89C52 monolithic integrated circuit for the primary control chip, using the pressed key signal imitation rental car wheel counting signal, simultaneously utilizes other pressed keys to control the rental car movement to carry passengers separately/the spatial vehicle condition, the kilometer idea regulation/waiting time and the traveling schedule expense amount to the demonstration. The system used three groups of nixietubes, the utilization dynamic display technology has demonstrated the distance in kilometer, the standby period and the expense separately. Meanwhile carries on the design using the software programming to the monolithic integrated circuit timer, produces the waiting timed pulse signal. this article elaborated with emphasis systems principle of work, the hardware constitution, various part of major functions as well as softwares structure and realizes.The mileage log system with STC89C52 as control core, using sensors to detect signals, by a certain time interval signal collection, in combination with itself, bicycle wheel parameters through single chip microcomputer for the analysis of the collected signal, finally displayed on the LCD screen LCD vehicle mileage and speed, overspeed alarm。The design of this multi-function window will be in line with the principles of safe, convenient, energy saving, user-friendly, and it will make modern life significantly improved.Keywords: Bicycle; STC89C52; LCD1602目 录摘要IABSTRACTII目 录III第1章 绪论- 1 -1.1选题的意义- 1 -1.2课题任务- 1 -1.3设计思想- 2 -1.4主要问题- 2 -第2章 系统方案设计- 5 -2.1总体方案比较- 5 -2.2总体方案选择- 6 -2.2.1系统总体框图- 6 -2.2.2实现原理- 6 -2.3分支方案选择- 7 -2.3.1单片机的选择- 7 -2.3.2显示模块的选择- 8 -2.3.3传感器的选择- 8 -第3章 系统硬件设计- 11 -3.1总体设计- 11 -3.2各单元设计- 12 -3.2.1控制单元设计- 12 -3.2.2检测单元设计- 17 -3.2.3显示单元设计- 17 -第4章 系统软件设计- 27 -4.1总体设计- 27 -4.2子程序设计- 29 -4.2.1定时子程序- 29 -4.2.2算法流程- 30 -4.2.3按键扫描子程序- 30 -4.2.4 LCD1602程序- 31 -第5章 系统调试- 33 -5.1系统硬件调试- 33 -5.1.1常见的硬件故障- 33 -5.1.2硬件调试方法- 33 -5.2系统软件调试- 34 -5.2.1系统仿真调试- 34 -5.2.2 protel99的介绍- 34 -5.2.3系统调试方法- 34 -5.3系统整体调试- 36 -结论- 41 -参考文献- 43 -致谢- 45 -附录- 47 -IIIIII第1章 绪论1.1选题的意义随着自行车的产生,里程计也就伴随着时代应运而生。随着自行车行业和电子技术的发展,自行车里程计技术也在不断进步和提高,对自行车里程器的要求也越来越高,用户不仅要求速度显示性能稳定。骑自行车时,希望看到的不仅仅只是速度。安装在与自行车轮相连接的传感器在自行车行进时向里程器发送脉冲信号,在一定的公里数(即一定的脉冲数)内,不停的进行里程计数。国内自行车里程计已经经历了四个阶段的发展,从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的自行车里程计,再从集成电路式到目前的单片机系统设计的自行车里程计。随着社会的不断发展,单片机应用技术飞速发展,里程计的功能也在不断完善.当单片机出现并应用于里程计后,现代自行车里程计的模型也就基本具备了,它可以完成计程,显示等基本工作,同时还具备了LED显示、永久时钟、存储等其他一些附加功能。单片机以及外围芯片的不断发展也进一步促进了里程计的发展。 本课题在基于单片机基础上对自行车计费系统进行研究,由于研究条件限制,本课题采用了按键来模拟自行车车轮的计费脉冲信号,同时用LCD1602分别显示里程器公里数、速度和温度。整个设计只对自行车里程计的常用功能进行了设计,并未附加其他功能。运用单片机对自行车里程计进行设计使得里程计在功能,稳定性和设计难度上都得到很大的提高。本设计主要是运用单片机技术对里程计进行了简单的模拟,而随着单片机技术的不断发展,单片机在自行车里程计行业的应用将会越来越广泛。1.2课题任务 本课题主要任务是利用干簧管元件、单片机等部件设计一个可用1602液晶显示的实时显示里程和速度的自行车的速度里程表。本文主要介绍了自行车的速度里程表的设计思想、电路原理、方案论证以及元件的选择等内容,整体上分为硬件部分设计和软件部分设计。 本文首先要对该课题的任务进行方案论证,包括硬件方案和软件方案的设计;继而具体介绍了自行车的速度里程表的硬件设计,包括传感器的选择、单片机的选择、显示电路的设计;然后阐述了该自行车的速度里程表的软件设计,包括数据处理子程序的设计、显示子程序的设计;最后对本次设计进行了系统的总结。 具体的硬件电路包括 :STC89C52单片机的外围电路以及LCD液晶显示电路、干簧管检测电路等。 软件设计包括:系统总程序设计、芯片的初始化程序、定时中断采样子程序、显示子程序等,软件采用C语言编写,软件设计的思想主要是自顶向下,模块化设计,各个子模块逐一设计.1.3设计思想本设计的思想是:以STC89C52单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过STC89C52的定时计数器测出定时1s会计数几个脉冲,再经过单片机的计算得出,其结果通过LCD液晶显示器显示出来。 测速,首先要解决是采样的问题。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,将脉冲送入单片机中进行计算,即可获得转速的信息。常用的测速元件有霍尔传感器、光电传感器和光电编码器。里程测量传感器的选择也有以下几种方案:使用光敏电阻对里程进行测量、利用编码器对车轮的圈数进行测量、利用霍尔传感器对里程进行测量、利用干簧管型传感器测量里程。 要求达到的各项指标及实现方法如下:(1).上电后实时显示速度(2).路程实时记录(掉电存储)(3).半径可设定(掉电存储)(4).超速报警 实现:利用软件编程,对数据进行处理得到需要的数值。最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。1.4主要问题根据需求分析的结果设计自行车里程器,:主要解决的问题指示灯2个:一个指示控制板是否正常上电工作,另一个指示灯指示当前速度是否超过设定的报警速度,当超过设定的速度时,灯光亮起提示车主。按键部分:有客无客模拟按键,当按下时表示有客,弹开时表示无客;待行使模拟按键,无客状态下,无论按下或弹起都无效,及等待行使指示灯都处于亮状态。在有客状态下,当按键按下时;程模拟按键,在有客并在行使状态下,每按下一次表示里程加0.1公里;待运行模拟按键,当按下是表示运行,弹开时表示等待。要求单片机内部有以秒为单位的计时功能。显示部分:控制器采用LCD1602,第一排显示日期和时间,例如显示2010 11 11 11:13,中间的冒号进行闪烁表示当前的秒在发生变化;第二排显示当前的速度,当前的温度和骑行的里程。第2章 系统方案设计2.1总体方案比较方案一: 利用大规模的数字逻辑器件来实现,简单的自行车里程计功能,其原理是利用计数器来实现对汽车车轮旋转时按在车轮上的传感器产生的计数脉冲进行计数,通过计数值达到33次可以认为近似0.1公里(车轮的周长为3米),每0.5公里显示1元,用数字逻辑器件设计电路,电路的很复杂,成本很高,没有什么实际的运用价值。方案二: 利用89C51单片机实现自行车里程计的设计,大部分的功能可以用单片机来实现,这样可以使整个电路比较简单,而且成本也比较低,(使用单片机的外围电路比较简单),而且在时间计数和速度的计算上精度大,扩展功能很方便。但如果系统设计的不好,则系统不是很稳定,这样就为系统设计提出了挑战。方案三: 利用CPLD/FPGA来实现电子EDA技术,实现自行车里程计。可行性很高,而且电路简单,可以用软件完全仿真,但设计实现比较困难,对设计者的要求很高。软件要求高。方案四: 霍尔传感器:霍尔一般价格低,经常用于小车测速功能,但其开关触头在导通时可能有上百欧电阻输出范围也有限制有可能磨损器件,工作温度范围也受一定的限制。方案五: 干簧管传感器: 干簧传感器是密封的,因此它能几乎工作于任何环境(如对湿度无影响)。能经受很高的电压,与周围温度环境没有影响且提供磁灵敏度有一个较大的范围,许多干簧管在质量、可靠性及安全性上是一流的。 所以选用干簧管传感器。由于干簧管传感器的安装、感应距离等问题,本系统选用嵌入式门磁(内部装有干簧管),它默认净处于常开状态,当磁铁接近传感器时,传感器两端将自动吸合。2.2总体方案选择比较以上五个方案的优缺点,我们决定使用方案五,能够完成所有要求的功能。而且容易实现。2.2.1系统总体框图18B20输入按键输入干簧管输入STC89C52LCD1602显示灯光输出报警图2.1系统设计总框图2.2.2实现原理系统采用52单片机作为中心处理器,以干黄管传感器作为自行车车轮模拟脉冲信号并从单片机I/O口输入,同时采用系统内部时钟设计实现里程与速度等各个参数的设计,最后通过从单片机I/O口输出信号LCD1602分别显示实现对里程、温度、时间等显示。同时增加按键用于设置时间和报警的速度等功能。工作原理: 里程、速度等都是由干黄管元器件测量。通过频率计输出脉冲,代表车轮转动圈数,已知自行车轮胎的半径为50cm,轮子每转动一圈,安装在车轮辐条上的磁钢接近传感器一次,传感器送一个脉冲信号给单片机的外部中断计数器T0,产生一次中断,圈数加一。圈数*2*0.5即为车前进距离,而通过单片机T0定时器记录时间,间隔1秒,1秒内的前进距离除以时间1秒,得到1秒内的当前速度。而总里程L除以总时间t得到平均速度。若速度大于所设定的值,则P1.0口输出低电平,LED警示灯亮,扬声器发出声音。可以通过按键来改变半径和速度的上限值。2.3分支方案选择2.3.1单片机的选择随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小、性价比高、功能强、可靠性高等独有的特点,在各个领域(如工业控制、家电产品汽车电子、智能仪器仪表)得到了广泛的应用。下面就简要介绍具有代表性的几款单片机 1.8031单片机是Intel公司生产的MCS-51系列单片机中的一种,除无片内ROM外,其余特性与MCS-51单片机基本一样,内部含有一个8位CPU、128个字节的RAM,21个特殊功能寄存器。而单片机8031要进行存储器的扩展比较麻烦,外围器件多,而且8031的功耗也大。 2.单片机8032/8052/8752是增 强型产品,而803、80C32片内是没有ROM的, 而 89C51内部含有4K字节的FLASH的ROM。52系列的单片机计数器为三个16位计数器,断源为8个。 3.8051是最早最典型的产品,是在8031的基础上片内又集成4KROM,作为程存储器。8051单片机与80C51单片机从外形看是完全一样的,其指令系统、引脚信号、总线等完全一致,也就是说在8051下开发的软件完全可以在80C51上应用,反过来,在80C51开发的软件也可以8051上应用。4.STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单片机芯片上,拥有灵巧的8位CPU和在系统可编程Flash,STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选在本次设计中,经过分析与比较,选择了单片机STC89C52这是因为: 1.单片机STC89C52采用的是CHMOS工艺:高速度、高密度、低功耗。也就是说STC89C52单片机是一种低功耗单片机。 2.可靠性高、便于扩展。 3.控制功能强。 4.单片机89C51片内存储容量较小,除此之外,单片机STC89C52还具有集成高、体积小、性价比高、应用广泛、易于产品化等特点2.3.2显示模块的选择动态扫描LED数码管显示。里程表的显示内容以数字为主,利用LED数码管可基本满足使用要求,且成本较低。但是用动态扫描的方式驱动数码管,亮度太低,在阳光下几乎看不见显示内容,失去使用价值。 串行静态LED数码管显示。把单片机的串行口设置为方式0(同步移位寄存器),输出显示信息LED数码的静态显示其亮度令人满意,74HC164/74LS164串并转换芯片驱动LED数码管,因此会带来体积大、成本高、功耗高等缺点。 LCD液晶显示模块。液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了在本次设计中,经过分析与比较使用LCD1602作为显示模块2.3.3传感器的选择红外光电传感器。把红外对管分别安装在自行车车轮的两侧,当车轮转动时,辐条会阻挡红外对管的光路,接收管输出低电平,单片机根据此信号可计算里程、速度等。红外对管的优点是测量精度高,缺点是安装比较复杂和容易受外来光线、灰尘等的影响。 开关型霍尔传感器。霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器件。把开关型霍尔传感器安装在自行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢靠近霍尔传感器的时候,传感器输出一个无抖动的低电平,单片机根据此信号可计算里程、速度等。霍尔传感器的优点是稳定和安装简易,缺点是成本较高。 干簧管。干簧管是一种磁敏的有触点无源电子开关元件,应用在里程表上的原理与开关型霍尔传感器类似,把干簧管安装在自行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢靠近霍尔传感器的时候,干簧管闭合,单片机根据此信号可计算里程、速度等。干簧管的优点是成本低廉和安装简易,缺点是比较脆弱和不够稳定。 本里程表选用干簧管传感器,稳定、安装简易。 - 9 -第3章 系统硬件设计本文的自行车计价系统的硬件结构主要是由以下几个部分组成的:1)系统硬件电路;2) 89C52 单片机系统;3) 车轮转速按键模拟信号;4) 显示电路。3.1总体设计 1.系统的设计思想自行车里程/速度计能自动显示自行车行驶的总里程数及行车速度,具有超速信响提醒功能,里程数据自动记忆,也可应用于电动自行车、摩托车、汽车等机动车仪表上。 18B20输入按键输入干簧管输入STC89C52LCD1602显示灯光输出报警图3.1系统总框图2.系统的工作原理 本设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号,将频率实时地测量出来,然后通过单片机计算出速度和里程,再将所得的数据存储到TC4024芯片中,通过AT89C52单片机计算出来的速度和里程的数据,最后由LCD1602显示所测速度与里程。 自行车里程/速度计采用AT89C52单片机作控制,速度及里程传感器采用干簧管元件。P0口和P2口用于七段LED显示器的段码及扫描输出,在显示里程时,第三位小数点用17脚P3.7口控制点亮。P1.0和P1.1口分别用于显示里程状态和速度状态。P1.2、 P1.3、 P1.6和 P1.7口分别用于设置轮圈的大小。P3.0口的开关用于确定显示的方式,当开关闭合时,显示速度;打开时显示里程。第12脚外中断0用于对轮子圈数的计数输入,轮子每转一圈,传感器输出一个地电平脉冲。第13脚外中断1用于控制定时器T1的启停,当输入为0时关闭定时器。此控制信号是将轮子圈数的计数脉冲经二分频后形成(见图3.1),这样,每次定时器T1的开启时间刚好为转一圈的时间。根据轮子的周长就可以计算出自行车的速度。P1.4和P1.5口用于EEPROM存储器24C01的存取控制。11脚输出用于速度超速时的报警3.2各单元设计3.2.1控制单元设计1单片机概述单片微型计算机(Single-chip Microcmputer)简称单片机,它是把中央处理单元CPU、随机存取存储器RAM、只读存储器ROM、定时器/计数器以及I/O接口电路等主要的几个计算机部件集中在一块集成电路芯片上的微型计算机。所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。2.单片机选择在本设计中采用了89C52单片机作为中心处理系统进行研究。AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。其芯片引脚图如图3.1所示。图 3.2 89C52芯片引脚结构图89C52芯片的主要性能有:(1)与MCS-51单片机产品兼容(2)8K字节在系统可编程Flash存储器(3)1000次擦写周期(4)全静态操作:0Hz33Hz(5)三级加密程序存储器(6)32个可编程I/O口线(7)个16位定时器/计数器(8)八个中断源(9)全双工UART串行通道(10)低功耗空闲和掉电模式(11)电后中断可唤醒(12)看门狗定时器(13)双数据指针(14)掉电标识符STC89C52具体介绍如下:主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin18):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通。接低电平,从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.73.单片机外围电路的设计(1)时钟电路 STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。本文所用的是内部方式的时钟电路,如图3.2所示在XTAL1和XTAL2引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用 图3.3 时钟电路(2)复位电路 本系统的复位电路是采用按键复位的电路,如图3.3所示,是常用复位电路之一。单片机复位通过按键产生高电平复位称手动复位。上电时,刚接通电源,电容C相当于瞬间短路,+5V立即加到RET/VPD端,该高电平使89C52全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按下按键即可。按下按键,可直接把+5V加到了RET/VPD端从而复位称为手动复位。复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。工作原理:通电瞬间,RC电路充电,RST引脚出现高电平,只要RST端保持10ms以上高电平,就能使单片机有效地复位复位电路 图3.4 复位电路4.按键输入模块设计系统按键输入模块电路图如图3.4所示图 3.5 按键电路图里程计数模拟脉冲按键通常里程器有一个传感器输入信号, 传感器接在自行车的软轴上, 信号以脉冲方式输出。当车轮每转动一周, 便发出一个脉冲给传感器, 传感器输出信号接在单片机的TCAP端(输入捕捉端),输入捕捉寄存器(ICR)记录TCAP端的脉冲次数, 再通过程序折合成行车里程及速度。由于传感器采用机械接触方式控制电路的通断以及光电耦合器件, 因而可避免干扰信号的影响。3.2.2检测单元设计干簧管是一种磁敏的特殊开关。它的两个触点由特殊材料制成,被封装在真空的玻璃管里。只要用磁铁接近它,干簧管两个节点就会吸合在一起,使电路导通。因此可以作为传感器用,用于计数,限位等等。有一种自行车公里计,就是在轮胎上粘上磁铁,在一旁固定上干簧管构成的。装在门上,可作为开门时的报警、问候等。在“断线报警器”的制作中,也会用到干簧管。3.2.3显示单元设计在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通用器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软件都比较简单,但硬件电路复杂1.在单片机系统中应用液晶显示器作为输出器件有以下几个优点:(1)显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。(3)体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多该计价系统的显示电路采用LCD1602液晶显示,分别显示时间、里程、速度和温度。用单片机一组I/O口作为数据口向LCD1602发送数据信息。系统显示硬件电路设计如图3.5所示。LCD-DISPLAY图 3.6 显示硬件电路图2.显示器LCD1602的介绍(1)液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。(2)液晶显示器的分类 液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(SimpleMatrix)和主动矩阵驱动(ActiveMatrix)三种(3)液晶显示器各种图形的显示原理:线段的显示 点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行有16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。字符的显示 用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。汉字的显示 汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完LCD就可以得到一个完整的汉字.(4)主要技术参数如表3.1所示表3.1技术参数显示容量16*2个字符芯片工作电压4.5-5.5工作电流20mA(5.0/v)模块最佳电压5.0/v字符尺寸2.95*4.35(WXH)/mm表3.1(续)(5)引脚接口说明如表3.2所示表3.2引脚接口编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源第2脚:VDD接5V电源第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为寄存器选择,高电平时进行读写操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极LCD1602分为带背光和不带背光两种,基本控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图3.6所示图3.7 LCD1602带背光与不带背光的外形尺寸差别(6)LCD寄存器的选择如表3。3所示表3.3 LCD寄存器的分类ER/WRS功能说明100写入命令寄存器101写入数据寄存器110读取忙碌标志及RAM地址111读取RAM数据0X不动作表3.3(续)1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清除显示,指令码01H光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据3里程计数显示里程计数部分采用两位LCD1602进行计数显示,计数范围0.0999.9公里。当里程小于1公里时,显示0.111公里;当里程计数超过1公里时,显示为111.1公里。4. 时间显示时间显示在LCD1602的第一排,其显示年、月、日、小时、分钟,其显示的格式为2010 11 11 11:13;小时和分钟之间的冒号在不停的闪烁表示当前秒在不停的计时。5. 温度显示计时器通过程序对18B20进行初始化操作,并将当前的数据显示于LCD1602。6. 显示电路的设计电路本设计中LCD1602的数据总线接STC89C52单片机的P0口,控制引脚RS接P2.7口,R/W接P2.6口,E接P2.5口。VL是对比控制引脚,电压在05V之间,BLA和BLK是背光电源的正负极,使用时需要连接限流电阻,电流大小可以控制背光亮度。液晶显示电路如图3.7所示。主控单片机图3.8 液晶显示电路7. 发光二极管它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。通过发光二极管来提示系统处于运行状态还是等待状态。当系统运行时,发光二极管正常发光,而当系统停止运行进入等待模式时发光二极管也将熄灭来提示乘客。系统LED提示部分电路如图3.8所示。发光二极管图 3.9 系统LED提示电路8.单片机驱动蜂鸣器原理与设计 (1)驱动蜂鸣器的分类蜂鸣器是一种一体化结构的电子讯响器,本文介绍如何用单片机驱动蜂鸣器,他广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。(2)电磁式蜂鸣器驱动原理蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过一个三极管C8550来放大驱动蜂鸣器,原理图见下面图3.9所示:图 3.10 系统蜂鸣器输出电路图如图3.9所示,蜂鸣器的正极接到VCC(5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P3.7引脚控制,当P3.7输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P3.7输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P3.7脚的电平来使蜂鸣器发出声音和关闭。程序中改变单片机P3.7引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P3.7输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,这些我们都可以通过编程实验来验证。(3)报警电路的设计本次报警电路采用蜂鸣器报警,当自行车行驶的速度超过本设计所设定的速度时,P1.0口输出低电平,使三极管导通,蜂鸣器发出报警信号。报警电路如图3.5所示 图3.11 报警电路 第4章 系统软件设计4.1总体设计 系统软件流程图根据自行车里程器的设计功能要求,系统程序必需实现以下任务:LCD扫描;按键扫描处理;时钟信号产生。52系列单片机实现多任务运行的方法就是分时复用,在程序设计的时候要相应地分配好各任务的CPU占用时间。对于以上几个任务稍加分析可以看出,LCD显示、按键扫描相对而言有实时要求,而时钟任务则可用单片机的定时器实现。开始启动?计数器加1计数值-10?里程加1REI检测传感器否是否是读入里程数已经达到1M?里程增加开始计时是否转一圈产生速度返回里程加1否是否是图4.1程序流程图系统主函数1.初始化程序主要工作:将T0设为外部控制定时器方式;外中断0及外中断1设为边沿触发方式;将部分内存单元清零;设置轮子周长;开中断及定时器;将EEPROM中的数据调入内存等。2.轮圈大小的设计P1.5和P1.6两个引脚分别接两个开关,通过调节这两个开关,可以改变轮圈的半径。3.主要程序流程图系统在上电复位后,先对定时器0和定时器1进行设置和赋值,再进行系统各参数初始化设置,开启用于显示模块的定时器0,再进行按键扫描,通过键处理函数对各模块进行控制。在硬件没有任何触发信号时,主程序进行反复循环执行,并时刻检测触发端口是否有触发信号。系统初始化完成后,启动时钟系统随后进入正常工作状态。开始系统初始化液晶显示按键扫描数据处理霍尔信号检测图4.2主函数系统框图4.算法流程A44E输出端OUT连到单片机外部中断T0上,用磁铁靠近A44E,输出端产生一个低电平信号,使CPU产生一次中断计一次数。假定轮圈的周长为L,在轮圈上安装m个永久磁铁,则测得的里程值最大误差为L/m。本设计中取m=1。当轮子每转一圈,通过传感器采集到一个脉冲信号,并从引脚P3.2中断0端输入,可以采用两种定时器,一个定时器定位1s,一个是计数器。计数器是用来计数1s钟轮子的圈数。从而可以计算出它的里程与速度。里程S=周长L*圈数n 速度V=周长L/t通过计数外部中断的脉冲数,每经过1s进行一次监测,从而得出速度,并计算出路程,再通过液晶1602显示。4.2子程序设计4.2.1定时子程序时间子函数部分主要用于产生时钟信号,实现对等待计时部分电路的等待计时。该部分主要采用单片机定时器0来实现,编程时需要对定时器进行各项设置并对计数器输入初始值,每次对单片机进行复位时都要重复以上步骤。在该程序中定时器0,工作于方式1, 16位定时方式。89c52单片机内部含有两个定时器可以分别进行定时和计数的功能。在该设计中对定时器0进行设置来实现系统的显示,对定时器1进行设置以实现秒计时,设置秒计数初始值,待计数完成后就可以对变量加一,既对系统进行显示扫描的设计要求。开始重设定时器初值送显示数据位选RETI 图4.3定时子程序图4.2.2算法流程 A44E输出端OUT连到单片机外部中断T0上,用磁铁靠近A44E,输出端产生一个低电平信号,使CPU产生一次中断计一次数。假定轮圈的周长为L,在轮圈上安装m个永久磁铁,则测得的里程值最大误差为L/m。本设计中取m=1。当轮子每转一圈,通过传感器采集到一个脉冲信号,并从引脚P3.2中断0端输入,可以采用两种定时器,一个定时器定位1s,一个是计数器。计数器是用来计数1s钟轮子的圈数。从而可以计算出它的里程与速度。 里程S=周长L*圈数n速度V=周长L/t通过计数外部中断的脉冲数,每经过1s进行一次监测,从而得出速度,并计算出路程,再通过液晶1602显示4.2.3按键扫描子程序该键盘扫描引擎探测按键动作。当处于可信模式时,通过可信内部总线接口传送对应于按键动作的键码。当处于非可信模式时,通过一个接口传送键码以使板上键盘控制器对其进行处理。本设计中采用了按键来切换各种不同状态,而系统需要时刻查询按键信息,因此需要采用按键扫描来实时查询按键情况,在该程序中单独编写了按键扫描子程序,在有按键信息时进行程序调用和跳转,该按键扫描子程序中还嵌套了按键扫描程序以处理在各种情况下的状态切换。开始扫描是否有按键输入再次扫描按键判断两次数据是否相同?按键是否释放输出按键值YYYNN 图4.4按键扫描子程序图4.2.4 LCD1602程序LCD1602液晶模块内部的控制器共有11条控制指令,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的,程序框架如下图4.5:开始延时1ms清显示延时10ms进入模式设置延时40ms显示开关控制功能设置初使化结束延时1ms图4.5 LCD1602程序图第5章 系统调试5.1系统硬件调试5.1.1常见的硬件故障。(1)逻辑错误:样机硬件的逻辑错误是由于设计错误或加工过程中的工艺性错误而造成的包括错线,开路和短路等等,其中短路是最常见的故障。(2)元器件失效:元器件失效的原因有两个方面,一是器件本身已经损坏或性能不符合要求;二是由于组装错误造成的元器件失效,如电解电容,二极管的极性错误或集成块安装方向错误等。(3)性差:若样机中存在电源故障,则加电后将造成器件损坏。电源故障包括电压值不符合设计要求,电源引出线和插座不对应,电源功率不足和负载能力差等5.1.2硬件调试方法脱机调试是在样机加点之前,先用万用表等工具,根据硬件电气原理图和装配图,仔细检查样机线路的正确性,并核对元器件型号,规格和安装是否合要求。特别注意电源的走线,防止电源之间的短路和极性错误,重点检查系统的总线或其他信号线之间是否存在相互的短路。样机所用的电源,事先必须单独调试后才能加到系统中,在不插芯片的情况下,加电检测各底座上引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机底座上的各点电位是否正常接通5v电源,液晶显示器会显示速度为0,当磁铁靠近霍尔元器件时,就会显示速度的值,不停的靠
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!