推荐基于单片机的自行车里程速度计设计精品.docx
《推荐基于单片机的自行车里程速度计设计精品.docx》由会员分享,可在线阅读,更多相关《推荐基于单片机的自行车里程速度计设计精品.docx(78页珍藏版)》请在冰豆网上搜索。
![推荐基于单片机的自行车里程速度计设计精品.docx](https://file1.bdocx.com/fileroot1/2023-2/22/1c841666-c120-403c-918a-c4e05d7af16c/1c841666-c120-403c-918a-c4e05d7af16c1.gif)
推荐基于单片机的自行车里程速度计设计精品
基于单片机的自行车里程速度计设计
摘要
随着自行车行业和电子技术的发展,自行车里程速度计技术也在不断进步和提高,用户对自行车里程速度计的要求也越来越高,因此设计了自行车里程速度计。
本文主要研究了以单片机为基础的自行车里程速度器的设计。
采用STC89C52单片机为主要控制芯片,运用自行车车轮上的传感器进行计数,通过一定时间间隔对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在液晶显示器LCD上显示车辆行驶的里程和速度,同时运用其他按键分别自行车单里程计数,瞬时速度、最大速度和平均速度显示,具有超速报警。
该设计重点阐述了系统的工作原理、硬件构成、各部分的主要功能以及软件的结构和实现。
自行车里程速度计的设计本着安全、方便、节能、人性化的原则进行,可使现代生活显著提高。
关键词:
自行车,STC89C52,LCD1602
BicyclemileagevelocitymeterbasedonMCU
ABSTRACT
Alongwiththedevelopmentofthebicycleindustryandelectronictechnology,bicyclespeedometertechnologyisalsoinconstantprogressandimprove,userdemandforbicyclemileageismoreandmoreisalsohigh,soIchosebicyclemileagespeedometer
Thisarticlemainlyintroducedtakethemonolithicintegratedcircuitasthefoundationrentalcarfareregisterdesign.Usesthe89C52monolithicintegratedcircuitfortheprimarycontrolchip,usingthepressedkeysignalimitationrentalcarwheelcountingsignal,simultaneouslyutilizesotherpressedkeystocontroltherentalcarmovementtocarrypassengersseparately/thespatialvehiclecondition,thekilometeridearegulation/waitingtimeandthetravelingscheduleexpenseamounttothedemonstration.Thesystemusedthreegroupsofnixietubes,theutilizationdynamicdisplaytechnologyhasdemonstratedthedistanceinkilometer,thestandbyperiodandtheexpenseseparately.Meanwhilecarriesonthedesignusingthesoftwareprogrammingtothemonolithicintegratedcircuittimer,producesthewaitingtimedpulsesignal.
thisarticleelaboratedwithemphasissystem'sprincipleofwork,thehardwareconstitution,variouspartofmajorfunctionsaswellassoftware'sstructureandrealizes.
ThemileagelogsystemwithSTC89C52ascontrolcore,usingsensorstodetectsignals,byacertaintimeintervalsignalcollection,inbinationwithitself,bicyclewheelparametersthroughsinglechipmicroputerfortheanalysisofthecollectedsignal,finallydisplayedontheLCDscreenLCDvehiclemileageandspeed,overspeedalarm。
Thedesignofthismulti-functionwindowwillbeinlinewiththeprinciplesofsafe,convenient,energysaving,user-friendly,anditwillmakemodernlifesignificantlyimproved.
Keywords:
Bicycle;STC89C52;LCD1602
第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,第一排显示日期和时间,例如显示20XX111111:
13,中间的冒号进行闪烁表示当前的秒在发生变化;第二排显示当前的速度,当前的温度和骑行的里程。
第2章系统方案设计
2.1总体方案比较
方案一:
利用大规模的数字逻辑器件来实现,简单的自行车里程计功能,其原理是利用计数器来实现对汽车车轮旋转时按在车轮上的传感器产生的计数脉冲进行计数,通过计数值达到33次可以认为近似0.1公里(车轮的周长为3米),每0.5公里显示1元,用数字逻辑器件设计电路,电路的很复杂,成本很高,没有什么实际的运用价值。
方案二:
利用89C51单片机实现自行车里程计的设计,大部分的功能可以用单片机来实现,这样可以使整个电路比较简单,而且成本也比较低,(使用单片机的外围电路比较简单),而且在时间计数和速度的计算上精度大,扩展功能很方便。
但如果系统设计的不好,则系统不是很稳定,这样就为系统设计提出了挑战。
方案三:
利用CPLD/FPGA来实现——电子EDA技术,实现自行车里程计。
可行性很高,而且电路简单,可以用软件完全仿真,但设计实现比较困难,对设计者的要求很高。
软件要求高。
方案四:
霍尔传感器:
霍尔一般价格低,经常用于小车测速功能,但其开关触头在导通时可能有上百欧电阻输出范围也有限制有可能磨损器件,工作温度范围也受一定的限制。
方案五:
干簧管传感器:
干簧传感器是密封的,因此它能几乎工作于任何环境(如对湿度无影响)。
能经受很高的电压,与周围温度环境没有影响且提供磁灵敏度有一个较大的范围,许多干簧管在质量、可靠性及安全性上是一流的。
所以选用干簧管传感器。
由于干簧管传感器的安装、感应距离等问题,本系统选用嵌入式门磁(内部装有干簧管),它默认净处于常开状态,当磁铁接近传感器时,传感器两端将自动吸合。
2.2总体方案选择
比较以上五个方案的优缺点,我们决定使用方案五,能够完成所有要求的功能。
而且容易实现。
2.2.1系统总体框图
图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口线,看门狗定时器,内置4KB EEPROM,
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传感器的选择
红外光电传感器。
把红外对管分别安装在自行车车轮的两侧,当车轮转动时,辐条
会阻挡红外对管的光路,接收管输出低电平,单片机根据此信号可计算里程、速度等。
红外对管的优点是测量精度高,缺点是安装比较复杂和容易受外来光线、灰尘等的影响。
开关型霍尔传感器。
霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器
件。
把开关型霍尔传感器安装在自行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢
靠近霍尔传感器的时候,传感器输出一个无抖动的低电平,单片机根据此信号可计算里程、速度等。
霍尔传感器的优点是稳定和安装简易,缺点是成本较高。
干簧管。
干簧管是一种磁敏的有触点无源电子开关元件,应用在里程表上的原理与开关型霍尔传感器类似,把干簧管安装在自行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢靠近霍尔传感器的时候,干簧管闭合,单片机根据此信号可计算里程、速度等。
干簧管的优点是成本低廉和安装简易,缺点是比较脆弱和不够稳定。
本里程表选用干簧管传感器,稳定、安装简易。
第3章系统硬件设计
本文的自行车计价系统的硬件结构主要是由以下几个部分组成的:
1)系统硬件电路;2)89C52单片机系统;3)车轮转速按键模拟信号;4)显示电路。
3.1总体设计
1.系统的设计思想
自行车里程/速度计能自动显示自行车行驶的总里程数及行车速度,具有超速信响提醒功能,里程数据自动记忆,也可应用于电动自行车、摩托车、汽车等机动车仪表上。
图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-chipMicrocmputer)简称单片机,它是把中央处理单元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.289C52芯片引脚结构图
89C52芯片的主要性能有:
(1)与MCS-51单片机产品兼容
(2)8K字节在系统可编程Flash存储器
(3)1000次擦写周期
(4)全静态操作:
0Hz~33Hz
(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口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7
3.单片机外围电路的设计
(1)时钟电路
STC89C52内部有一个用于构成