自行车速度里程计软件设计.docx
- 文档编号:3562198
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:35
- 大小:124.27KB
自行车速度里程计软件设计.docx
《自行车速度里程计软件设计.docx》由会员分享,可在线阅读,更多相关《自行车速度里程计软件设计.docx(35页珍藏版)》请在冰豆网上搜索。
自行车速度里程计软件设计
自行车速度里程计(软件设计)
本科生毕业设计
论文题目:
自行车速度里程计(软件设计)姓名:
学号:
班级:
年级:
专业:
系:
指导教师:
完成时间:
作者声明
本人以信誉郑重声明:
所呈交的学位毕业设计,论文,~是本人在指导教师指导下由本人独立撰写完成的~没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。
文中引用他人的文献、数据、图件、资料均已明确标注出~不包含他人成果及为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。
对本设计,论文,的研究做出重要贡献的个人和集体~均已在文中以明确方式标明。
本毕业设计,论文,引起的法律结果完全由本人承担。
本毕业设计,论文,成果归东华理工大学所有。
特此声明。
毕业设计,论文,作者,签字,:
签字日期:
年月日
本人声明:
该学位论文是本人指导学生完成的研究成果~已经审阅过论文的全部内容~并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。
学位论文指导教师签名:
年月日
自行车速度里程计(软件设计)
****
TheSoftwareDesignofBicycleSpeedOdometer
******
2015年06月08日
摘要
随着人们自身和外界慢慢向前发展,自行车在人们手中也从最开始的交通工具,变成了休闲、娱乐还有锻炼的工具。
自行车作为现代人们环保出行的工具,应该具备更多的功能,例如速度和里程显示等。
自行车一旦有了速度里程计,骑车人就可以轻松地知道自己当下的骑行状况,更有安全感。
这篇论文主要介绍如何对自行车速度里程计进行的软件设计。
在设计的过程中,主要是考虑对51系列单片机进行编程设计,使其在霍尔元件和LED显示器等的配合下,实现速度和里程的显示。
软件部分采用整体到局部的设计思路,分模块设计。
设计模块的子程序有:
主程序、计算子程序、中断服务子程序、延时子程序和显示子程序等几大主要子程序。
设计的软件编程用简单易学的C语言编写,可读性和可移植性强。
本设计能测量直径为559mm、610mm、660mm、711mm常见的四种自行车车轮的速度和里程,适用范围较广。
关键词:
速度和里程;软件设计;C语言;LED
I
ABSTRACT
Withtheslowlyforwarddevelopmentofpeoplethemselvesandtheoutsideworld,thebicycleinpeople’shandchangesfromthebeginningtransportationtooltothetoolofleisure,entertainmentandexercise.Thebicycle,asatoolofpeople’s
environmentfriendlytraveling,shouldhavemorefunction,suchasspeedandmileage’sdisplay.Thebicycleoncehasspeedandmileagedesign,themanwhoridesabicyclecaneasilyknowhisridingconditionandhasabettersenseofsecurity.Thearticlemainlyintroduceshowtodesignthesoftwareofbicyclespeedodometer.Intheprocessofthedesign,howtoprogramming51seriesSingleChipMicrocomputeristakeninaccount,inordertoachievespeedandmileage’sdisplay
withthehelpofHallelementandLEDdisplay.Thethinkingofsoftwareisfromwholetopart,thesoftwareisdividedintomoduledesign.Thesubroutinesofdesignmodulearemainroutine,calculatingsubroutine,interruptservicesubroutine,delaysubroutineanddisplaysubroutineandsoon.ThesoftwareisdesignedwitheasyandeasilylearningClanguage,readabilityandportabilityarestrong.Thedesigncanmeasurefourdiametersofbicycle’swheelwhichdiametersare559mm,610mm,
660mm,711mm,soitapplieswidely.
Keywords:
speedandmileage;softwaredesign;Clanguage;LED
II
摘要..............................................................I
ABSTRACT...........................................................II
第一章绪论........................................................1
1.1论文的目的、背景和意义.......................................1
1.2自行车速度里程计的发展现状和方向.............................1
1.3论文研究的主要内容和提出的问题...............................2
第二章总体方案设计................................................3
2.1任务的原理分析与实现.........................................3
32.2硬件方案介绍.................................................
2.3软件设计.....................................................4
第三章下位机软件设计..............................................6
3.1概述.........................................................6
3.2总体程序设计.................................................6
3.3中断子程序的设计.............................................8
3.4数据处理子程序的设计.........................................9
3.4.1速度计算子程序.........................................9
93.4.2里程计算子程序.........................................
3.5显示子程序的设计...........................................10第四章上位机硬件基础.............................................12
4.1传感器......................................................12
4.2单片机模块..................................................12
4.3其他器件的介绍..............................................13
4.3.174LS74芯片的介绍.....................................13
4.3.2存储器的介绍..........................................13
4.3.374LS244芯片的介绍....................................13
第五章系统的调试与仿真...........................................14
5.1ProteusISIS仿真软件介绍...................................14
5.2Keil软件介绍...............................................14
5.3仿真调试....................................................14结论.............................................................19
致谢.............................................................20
参考文献...........................................................21
附录一.............................................................22
附录二.............................................................23
东华理工大学毕业设计(论文)第一章绪论
第一章绪论
1.1论文的目的、背景和意义
自行车从一开始发明,就不断地改变和发展,经历了近两个世纪的改变后,才将笨拙的木马车转变成现在各式灵活休闲运动自行车,自行车已经不再是人们出行的主要交通工具,转而变为人们休闲娱乐的选择。
然而现在常见的自行车的一般功能已经无法满足人们,人们想要更多和更实用、时尚的功能。
于是,跟汽车相似的自行车速度里程计便应运而出了。
现在的汽车发展得越来越好,功能也是五花八门,不仅有速度里程计,出租车还有计价器等,自行车的功能也应该更多元化。
自行车一旦有了速度里程计,骑车人就能准确地判断此刻的速度,知道自己已经骑行了多少路程。
这样就能更好地为安全锻炼提供更全面的信息,更好地体现自行车作为休闲娱乐运动的选择的价值。
人们现在的生活出行虽然很大程度上不需要自行车,但是人们的娱乐和锻炼仍离不开自行车,而自行车的速度里程计给人们带来了极大的好处。
现在的自行车速度里程计里面含有非常精细的科学技术,使其功能更加全面和准确。
虽然在市场上可以买到完整的自行车速度里程计装置,价格也便宜,用起来很方便,但由于自行车速度里程计的基本组成含有了单片机、数字电路及自动检测多个主要组成部分,因此有必要进行自行车速度里程计的设计和研究,并且扩展其功能及其他应用,具有一定的现实意义。
1.2自行车速度里程计的发展现状和方向
自行车不耗汽油,非常节能,十分环保,而且价格便宜。
在世界上的许多国家都倡导自行车出行,低碳环保。
现在市面上,不论是国内还是国外,都有现成的产品销售,有点功能还是比较齐全的,不仅有显示速度和里程的功能,有的还有GPS全球定位等强大的功能。
未来的发展趋势可能更加智能化比如加入mp3和短信收发功能,使得自行车速度里程计更人性化,相信会吸引更多人的眼球。
陕西理工学院的丁敏在2012年12月发表的一篇期刊文章,题名《电动自行车里程速度计的设计》中,用的是LCD液晶显示器显示速度和里程,虽然液晶显示器显示信息量大、长寿命,但是LED数码显示器有亮度高、稳定性好、响应时间快和容易编程等特点,应该是更好的选择。
对于现在越来越讲究简单出行的年轻人来说,更是一个更好的选择。
1
东华理工大学毕业设计(论文)第一章绪论1.3论文研究的主要内容和提出的问题
论文研究的主要内容是利用单片机和霍尔元件等器件设计一个可用LED数码实时显示速度和里程的自行车速度里程计,并且可以通过按键进行切换显示速度和里程。
通过编程使单片机具有测量速度并计算里程的功能,并通过按键切换两种功能。
论文论述了如何运用软件编程,配合单片机、霍尔元件、24C02外部存储器和LED显示器等硬件实现对自行车速度和里程的显示。
论文主要阐述如何根据硬件电路图,设计出符合要求的单片机的软件程序。
设计开始研究时,遇到的一些问题:
(1)、如何运用软件设计,编写程序统计车轮每转一圈的时间;
(2)、如何编写速度和里程的计算程序;
(3)、如何将各个子程序连接成一个整体。
2
东华理工大学毕业设计(论文)第二章总体方案设计
第二章总体方案设计
2.1任务的原理分析与实现
本设计的原理是:
用霍尔元件测量车轮的转数,记录下脉冲数送给51系列的单片机。
然后通过单片机内部定时/计数器完成对脉冲总数和每转一圈时间的统计,随后经过已编程处理过的单片机计算出即时速度和里程,最后通过单片机送LED显示。
本设计总体思路如下:
首先调查市场上常见的几种自行车轮子的直径。
调查后发现轮子的直径如果换算成周长,其值不大。
因而,选择一个轮子,在轮圈上只安装一个磁钢,里程的误差也只在一个车轮的周长。
霍尔元件测量车轮的转数,总的脉冲数即转数乘以车轮周长,就可以算出当下的里程数。
计数器全程记录下每转一圈的时间,用车轮周长除以转一圈的时间就可以得出即时的速度。
为了简化电路,本设计设置速度和里程显示在同一数码管上,于是需要一个开关切换速度和里程。
本设计还加入了超速报警的部分,超过设定的安全速度,蜂鸣器就发出报警声音。
预期问题和解决方法:
(1)(单片机脉冲信号的获取;
方法:
将永久性磁铁安放在轮圈上,通过霍尔元件记下并传递脉冲数给单片机。
(2).如何实现脉冲信号的计数;
方法:
利用单片机内含的计数器。
(3).如何在系统掉电后,仍能保存自行车的里程数;
方法:
利用硬件和软件编程,对单片机进行设置。
2.2硬件方案介绍
本设计得到自行车的速度和里程,就要想办法将车轮的转数转化成能显示在LED上的速度和里程。
传感器就是实现把被测量的量转换成某种可以输出的物理量。
可以采用脉冲计数法,这种方法既简单,又操作方便。
于是,可以想到两种传感器:
光电传感器和霍尔传感器。
由于光电编码器,安装较复杂,而且对光线要求非常严格,故将其排除,不使用。
然而根据查找的资料发现,光电传感器的光电器件不能被泥沙或灰尘等污物遮盖,一旦被遮盖,光电器件就无法接收到光源传来的光信号。
但是在实际的自行车骑行的场合经常充满了灰尘,如果使用光电传感器就无法保证测量的准确性。
所以综上所述,本设计选择霍尔传感器。
3
东华理工大学毕业设计(论文)第二章总体方案设计
本设计选择霍尔传感器,不仅经济实惠,而且安装简单,几乎不受外界环境的干扰。
安装霍尔传感器,开始将霍尔元件,即接收磁场信号的元件,固定在车轮的前叉口上,而磁钢,即磁性很强的永久性磁铁,粘在能正面接触霍尔元件的地方,牢牢地固定,防止脱落。
而且还要保证磁钢靠近霍尔元件时,能产生脉冲信号,否则,将磁钢换个方向。
这样霍尔传感器算是固定好了。
单片机是在一块半导体硅片上集成了控制器、运算器、存储器和各种输入/
[1]输出接口的集成芯片。
单片机主要应用于测控领域,用于实现各种控制和测量。
因为单片机上包含了内存和一些接口,而且它的功能和结构经过历代的心血,已经具备优良的性能:
1.小而灵活方便、便宜,方便嵌入各种产品;
2.可靠性好,抗干扰能力强,适应温度范围宽,能在恶劣环境下可靠地工作;
3.实时控制能力强;
4.易扩展,很容易和灵活地构成各种智能型系统;
5.具有通信接口,可方便地构成多机和分布式控制系统。
设计中采用的单片机为AT89C51,系统原理图如图2.1所示。
AT89C51外部信号速度显示
里程显示霍尔传感单器片
机
外部存储报警部分
器
图2.1系统的原理图
Figure2.1Theprinciplediagramofsystem
2.3软件设计
本设计要使硬件系统实现速度和里程的显示,不仅硬件系统要搭得准确合理,而且软件编程也应该合理恰当。
本设计的程序设计原则采用总体到局部的方案,一个一个模块地设计编程,最后将所有的模块连成一个完整的整体。
本设计的软件部分的所有模块应该包括速度里程计算模块、延时模块、中断模块和显示模块等几大主要模块。
速度里程计算模块按照预先设置好的速度由车轮周长除以转完一圈的时间决定,而里程则由车轮周长乘以总的旋转圈数决定,从而设定所需要的程序。
4
东华理工大学毕业设计(论文)第二章总体方案设计
延时模块按照预先参考的书籍资料,设定单片机隔一定的时间显示,防止LED显示器因显示过快而导致显示的不清晰,显示模糊,便于人们读取信息。
中断模块可以使单片机处理一些复杂的情况,比如说当计数器计数溢出时,这时的中断子程序,就可以使单片机正常地工作。
显示模块主要控制LED显示器如何显示速度和里程的数据,如何控制各个LED的引脚,如何同时控制4个LED显示同一数据。
软件部分总体流程图如图2.2所示。
开始
初始化
N
P1.0=1?
计算速度计算里程
显示速度显示里程
图2.2软件总体流程图
Figure2.2Thegeneralflowchartofsoftware
5
东华理工大学毕业设计(论文)第三章下位机软件设计
第三章下位机软件设计
3.1概述
软件设计同硬件设计一样,也是非常重要的环节。
如果软件没有设计好,硬件电路设计得再怎么完美,也无济于事。
所以软件设计在本次的设计过程中扮演着同样重要的角色。
软件设计采用整体到局部的设计原则,分模块设计。
这样在后续的检查错误时,更能准确地判断错误的模块,并将其改正,目标更明确。
本设计的软件部分由初始化程序、中断子程序、速度调用子程序、里程调用子程序、LED显示子程序、延时子程序等部分组成。
3.2总体程序设计
总体程序的软件设计应当考虑到各个子程序之间的连贯性,过渡时恰当流畅。
单片机的初始化及其他芯片的初始化、速度和里程的初始化、循环等待及中断向量的设置,都需要在软件总体程序设计中解决。
在总体程序设计时,还需要对速度、里程寄存器等寄存器进行初始化。
本设计中,车轮的四个直径559mm、610mm、660mm、711mm分别通过单片机的P1.2、P1.3、P1.6和P1.7与单片机联系在一起,然而P1.0用于速度和里程的切换。
从而联系这些硬件电路设计程序。
主程序流程图如图3.1所示。
6
东华理工大学毕业设计(论文)第三章下位机软件设计
开始
初始化
NP1.2=1?
YN
P1.3=1?
YN
P1.6=1?
YN
P1.7=1?
Y
出错提示
将车圈周长调入21H
开中断,启动定时器
N
P1.0=1?
Y
调用速度处理子程序调用里程处理子程序
图3.1主程序流程图
Figure3.1Theprocessflowchart
7
东华理工大学毕业设计(论文)第三章下位机软件设计3.3中断子程序的设计
当考虑到定时时间和计数值会满的必然发生的情况,这时就需要设置定时中断。
单片机中有两个定时/计数器,它们都有定时器和计数器两种工作模式,因此有四种工作方式。
当发生计数溢出时,就可以用计数溢出信号为中断请求标志,设置其为单片机中断请求的标志。
本设计对自行车的速度和里程进行计数采用的是定时中断。
定时/计数器控制寄存器TCON的地址为88H,可以位寻址,是一个8位寄存器。
TCON的低4位作为外部中断,是中断标志和触发方式选择位,高4位的作用是控制定时/计数器的中断。
中断子程序流程图如图3.2所示。
开始
关中断
现场保护
开中断
中断处理
关中断
现场恢复
开中断
中断返回
图3.2中断子程序流程图
Figure3.2Interruptsubroutineflowchart
8
东华理工大学毕业设计(论文)第三章下位机软件设计3.4数据处理子程序的设计
3.4.1速度计算子程序
要编写程序计算速度,就必须知道车轮转一圈的时间。
用定时器计出车轮转一圈的时间,用车轮的周长除以每转一圈的时间就能得出自行车的速度。
处理轮子转动一圈后的计时数据需要用到外中断1服务程序。
当标志位(00H)为1时,计数溢出,放入最大时间值(为#0FFH);当标志位为0时,将计数单元(TL1、TH1、6CH、6DH)的值放入68H,6BH单元。
速度处理子程序流程图如图3.3所示。
开始
速度初始化
计算速度
N
是否超速,
Y
报警显示速度
返回
图3.3速度处理子程序流程图
Figure3.3Speedcalculationsubroutineflowchart
3.4.2里程计算子程序
9
东华理工大学毕业设计(论文)第三章下位机软件设计
车轮旋转时,霍尔元件将接收到脉冲数输入到单片机P3.2口,用计数器计量脉冲数,计数一次,进行存储一次,最后用总的脉冲数乘以车轮周长即得里程数,因为本设计车轮转一圈只有一个脉冲数。
用到的中断0服务程序,60H为低位,62H为高位。
里程计算子程序流程图如图3.4所示。
开始
里程初始化
将车圈数转换成里程
显示里程值
返回
图3.4里程计算子程序流程图
Figure3.4Mileagecalculationsubroutineflowchart
3.5显示子程序的设计
LED显示有动态显示和静态显示两种方式,本设计采用动态扫描显示接口电路。
动态显示是利用人的视觉暂留现象,因为每个显示器的点亮时间极短,给人的感觉就是同时显示的。
设计电路时,把a-h端的8个笔划端连在一起,单个显示器COM端各自独立地受I/O线控制,它还决定哪个显示器显示传输过来的字形。
LED显示器有两种不同的结构:
一种是阴极都连在一起的,称之为共阴极LED显示器;另一种是阳极都连在一起的,称之为共阳极LED显示器。
本次设计采用共阴极接法,如图3.12所示。
8个发光二极管组成八段LED显示器,其中7个发光二极管分别是字型“8”的各个笔画段的一段,dp发光二极管为另一个小数点。
本设计中是一个接一个逐步实现四个L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自行车 速度 里程计 软件设计