基于单片机的多功能自行车里程速度仪设计.docx
- 文档编号:8956247
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:36
- 大小:337.40KB
基于单片机的多功能自行车里程速度仪设计.docx
《基于单片机的多功能自行车里程速度仪设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的多功能自行车里程速度仪设计.docx(36页珍藏版)》请在冰点文库上搜索。
基于单片机的多功能自行车里程速度仪设计
毕业设计报告(论文)
基于单片机的多功能自行车里程速度仪设计
所属系电子工程系
专业自动化
学号01212117
姓 名陆奕喆
指导教师辛海燕
起讫日期2016.02---2016.05
设计地点东南大学成贤学院实验大楼502
东南大学成贤学院毕业设计报告(论文)
诚信承诺
本人承诺所呈交的毕业设计报告(论文)及取得的成果是在导师指导下完成,引用他人成果的部分均已列出参考文献。
如论文涉及任何知识产权纠纷,本人将承担一切责任。
学生签名:
日 期:
基于单片机的多功能自行车里程速度仪设计
摘要
当今社会,能源资源越来越紧缺,全世界,包括中国都在倡导绿色出行,骑车出行越来越成为一种时尚,风格,甚至一种生活态度,随着自行车的不断普及与发展,与之相关的一些配套设备也将蓬勃发展,码表就是其中之一。
一个好的码表集美观、实用、功能多样于一身,码表应该在能够正常稳定的基础上尽可能多的显示骑行者所需信息,方便骑行者调整自身。
本次设计将UBLOX-GPS芯片接收到的信息与霍尔元件接收的脉冲通过单片机处理以后传输到一块LCD12864显示芯片中,从而将定位速度信息显示出来。
本文主要介绍所用芯片的特点,并将这些芯片按照一定方式组合起来,再通过软件的编程使每个芯片发挥应有的作用。
单片机有体积小,能耗低,稳定性好的特点,可以获得理想的效果,从而产生一个优秀的自行车码表。
关键词:
UBLOX-GPS;单片机;霍尔元件
DesignofMultifunctionalBicycleSpeedmeterBasedonMCU
Abstract
Intoday'ssociety,moreandmorescarceenergyresourcesleadstheworld,includingChina,Advocatinggreentrave.Cyclingisbecomingmoreandmorefashionable,style,andevenakindoflifeattitude.Withthepopularizationanddevelopmentofbicycle,somerelatedequipmentwillalsobedeveloped,whichcontainsCycleComputers.AgoodCycleComputermustContainbeautiful,practical,functionaldiversity.CycleComputersshouldbebasedonthestabilityasmuchaspossible,andtheyalsoshoulddisplaytheridersthenecessaryinformationtheyneed,tomakeridersadjustthemselvessimply.
ThisdesignmakestheGPSUBLOX-chipreceivingtheinformationandHolzercomponentsreceivingthepulseandthentransmittedthroughtheMCUtoaLCD12864displaychip,whichwilldisplaythelocationandspeedinformation.
Thispapermainlyintroducesthecharacteristicsoftheusedchips,andthechipsarecombinedinacertainway.Programmingthroughthesoftwaretoplaytheroleofeachchip.MCUhasasmallsize,lowenergyconsumption,goodstabilitycharacteristics.Wecanobtainidealresults,sothatagreatbikecomputerisgoingtobecreated.
Keywords:
UBLOX-GPS;MCU;Hallelement
目录
摘要I
AbstractII
第一章绪论1
1.1研究背景1
1.2国外现状1
1.3国内现状1
1.4发展前景1
1.5 功能介绍 2
1.6设计内容与预期结果2
第二章系统方案设计3
2.1系统总体设计3
2.2系统设计原则3
2.3单片机选择3
2.4显示模块的选择4
第三章系统硬件电路5
3.1 主控模块5
3.1.1STC89C525
3.1.2STC89C52的主要特点5
3.2时钟电路6
3.3复位电路7
3.4GPS模块7
3.5霍尔测速模块8
3.6LCD12864显示模块9
3.7接口转换电路10
第四章系统软件11
4.1主程序11
4.2GPS数据解析程序12
4.3霍尔元件处理程序12
4.4LCD12864显示模块程序13
4.5小结13
第五章心得与体会15
致谢16
参考文献(References)17
附录:
系统总体程序18
第一章绪论
1.1研究背景
随着人们生活水平提高,越来越多的人更加注重生活质量,与世界他国的接触越来越多,文化的交融,政策的变化致使一些曾经不被人们重视的东西也越来越被人重视。
在这样的背景下,自行车行业也重现活力,越来越多的人选择用低碳环保的自行车出行以及锻炼,同时人们也能通过自行车来挑战自己,与之对应的,自行车的一系列相关衍生品也就有了越来越大的市场价值,其中码表就是一样非常重要的配件,几乎每个骑行爱好者都会在爱车上安装一块码表,方便看时间和计速,国内的自行车发展太迟,故自行车配件上也落后国外很多,中国发展这一方面技术很有必要。
1.2国外现状
中国被称为自行车大国,但是这个名号看起来并不是太适合,平常的日常出行,选择自行车作为交通工具的人很少,自行车运动越来越趋于个人兴趣或者商业模式的运作。
在瑞典,公共自行车的计划在快速推广中,并且已经小有成效。
法国作为自行车运动强国,自行车的销量在持续平稳增长,有市场才有需求,法国骑行人数持续上升,骑行频率也在持续上升。
此外,三大环赛车队也都是外国车队,只有台湾的厂商美利达和捷安特各自赞助一支车队。
国外自行车运动的氛围远远强于国内,自行车运动在全世界范围内目前都在蓬勃发展。
与之对应的,在国外骑行大热的氛围下催生了很多的做码表的品牌,比如德国的CRIVIT,美国的SCHWINN,猫眼,等等...发展了有20来年,产品线很完善,质量可靠,功能丰富,和各大车队都有合作,在这方面外国领先我国太多。
1.3国内现状
骑行运动的繁荣昌盛确实从欧洲开始的,单英国注册自行车运动员已经超过40000人,而作为三大环赛之首的环法的主办国法国注册自行车运动员多达50万,但中国13亿人口才2000的自行车注册运动员,这个比例远小于欧洲国家。
无论是作为爱好还是作为运动,在中国发展骑行非常有必要。
好在现在倡导绿色出行,短途出行以及旅游,私家车的出行方式已经被越来越多的人所放弃。
但是毕竟发展时间太短,与之对应的一系列产品都不成熟,从车架到套件到轮组,前叉,甚至更简单的三件套等等,都是国外的技术遥遥领先,中国做的码表更多的只有简单的计速功能的低端码表,中国的高端码表依然空白。
1.4发展前景
中国人口基数大,故而即使骑行人口比例不高,但是数目依旧巨大,码表需求量也十分大,尤其中高端码表,功能多样并且非常方便的就可以放在自行车上,同时可以提供多方面信息。
随着骑行者需求的提高,越来越多的骑行者必将舍弃简单的计速计时的码表,而转向需求更多的功能,故中高端码表的需求会越来越大,前景很好,同时为了防止外国产品的垄断,本国也应该研发中高端码表来与外国厂商竞争。
1.5 功能介绍
本次设计所做码表能够即时的反馈使用者的定位和时间信息,让使用者清楚的知道自己当前所处的位置,经纬度,海拔高度和北京时间,方便使用者规划自己的骑行时间分配,何时休息,离下一个休息点还需要骑行多久等等。
。
。
同时,该码表还能反应当前骑行速度,时刻提醒使用者是否已经超速,并且可以让使用者时刻调节自身,防止过快导致体力消耗,后继无力。
此外,车载码表应该越小越好,首先不占空间,而且对于专业运动员来说空气阻力的影响非常大,小的码表能够减小一定的阻力,对于专业TT计时赛车,在设计车型时候会考虑码表而特地预留一个位置用来放码表,满足需要的同时尽可能减少空气阻力。
1.6设计内容与预期结果
本文主要完成的内容有:
(1)确立系统的总体设计思路;
(2)完成系统总体以及各模块原理图绘制;
(3)焊接以后并且对硬件电路进行测试;
(4)设计编译软件部分,并且能够运行;
预期结果:
按照原理图连接完硬件电路以后,将软件下载进系统,当自行车转动时能够较为准确的将计算所得速度显示在屏幕上,同时定位信息每秒刷新,也在屏幕上显示。
第二章系统方案设计
2.1系统总体设计
系统需要完成的任务如下:
(1)UBLOX-GPS采集到的数据以及霍尔元件检测到的脉冲实时采集,由单片机循环处理,实现速度的持续测量以及定位信息的实时更新;
(2)设备应反应及时,精准度比较高;
(3)软件设计应尽量精简,执行速度要快;
系统框图如下图2.1所示:
图2.1系统框图
2.2系统设计原则
由于自行车上空间有限,所以针对自行车设计的码表应满足如下几点:
(1)可靠性高
可靠性是一个单片机系统能够稳定使用的前提,在自行车上面对不同环境能够稳定工作,自行车用作不同用途时可能遇见风雨,泥沙甚至一些碰撞,在遇到这些情况时也要能够稳定工作。
为了提高可靠性,需要使用可靠性高的元件,元件之间的连接也应该尽量稳定可靠。
(2)性价比高
单片机除体积小,功耗低的特点外,还有一个明显特点就是性价比高,作为期望打进中国中高端的产品,做工质量上短时间内难以打败国外众多厂商,只能通过高性价比来拓宽市场。
增加性价比的方法就是在保证质量的情况下降低硬件成本,比如简化硬件电路,用软件功能来代替硬件功能。
(3)体积小
作为自行车载的码表,鉴于空间有限,并且有些对于速度的需要,体积应该尽量的小。
现在主流的码表体积都比较小,方便使用,为了达到体积小的效果,必须多采用高度集成的元件,同时注意走线,硬件电路应该尽量精简。
2.3单片机选择
鉴于大学期间所学为51系列单片机,故本次设计采用51系列及其加强版52系列的单片机。
出于成本的考虑,采用国产单片机价格更加实惠,而且芯片资料有中文资料,学习更加方便。
在上网寻找各种型号芯片以后发现51与52单片机的价格相仿,而52单片机的性能更加强大,故而选择52单片机。
2.4显示模块的选择
常见的显示模块有LCD1602、LCD12864、还有现在用的比较多TFTLCD。
3个芯片都是液晶显示的芯片,都具有轻薄短小、工作电压低、功耗低、体积小、无辐射、平面直角显示及影像稳定不闪烁等优点,但是其中LCD1602显示内容太少,不能满足需求,而TFT的彩色显示价格较高,并且码表显示不需要彩色,功能过剩,此外,相比于LCD12864,其功耗也更大,所以最终选定LCD12864作为显示模块。
第三章系统硬件电路
3.1 主控模块
本次设计采用高度集成的STC89C52单片机作为控制核心,通过GPS模块采集到的所有定位信息通过STC89C52处理后传送到LCD12864模块显示出来,同时将霍尔元件采集到的脉冲通过STC89C52计算并通过LCD12864显示出。
通过中文加显示的信息(单位采用国际标准单位),方便使用者更加直观的看到所需信息,同时因为目标市场为中国,所以定位的时间转换成北京时间。
3.1.1STC89C52
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有在系统内可编程的Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案[2]。
3.1.2STC89C52的主要特点
STC89C52相比于STC89C51的主要特点有:
(1)C52是一款增强型8051单片机,相比于51单片机,52单片机多了个定时器,共3个16位定时器/计数器。
即定时器T0、T1、T2;
(2)C52单片机的RAM与ROM均为51单片机的两倍,C51是12yteRAM、ROM,C52是25yteRAM、ROM;
(3)C52比C51具有更多的中断源,C51有6个中断源、C52有8个;
(4)C52相比C51多了一个看门狗功能,即具有EEPROM功能,在断电以后数据不会损失,能够有效的保护数据安全;
单片机STC89C52的管脚图如图3.1所示:
图3.1STC89C52引脚图
STC89C52引脚功能说明:
VCC:
电源端,接+。
VSS:
接地端。
P0端口(P0.0~P0.7引脚):
数据/低8位地址复用总线端口。
P1端口(P1.0~P1.7引脚):
静态通用端口。
P2端口(P2.0~P2.7引脚):
高8位地址总线动态端口。
P3端口(P3.0~P3.7引脚):
双功能静态端口。
RST/Vpd:
用于进行单片机的复位。
当该端口接收到两个周期的高电平脉冲时,该端口对单片机进行初始化的复位操作。
当VCC端失去电压时,接入自身电源,此时进入看门狗状态,以低功耗运行并且保护RAM中的数据,这也是52单片机的一大优势。
ALE/PROG:
程序锁存允许。
当单片机访问外部存储器时,该引脚的输出信号ALE用于锁存P0的低8位地址。
ALE输出的频率为时钟振荡频率的1/6。
EA/VPP:
EA=0,单片机只访问外部程序存储器,EA=1单片机访问内部程序存储器。
对内部有程序存储器的51单片机,此引脚应该接高电平,但若地址值超过范围,单片机将自动访问外部程序存储器。
PSEN:
程序控制允许。
输出读取外部程序数据信息的信号。
取指令操作期间,PSEN的频率为振荡周期频率的1/6;若此期间有访问外部数据存储器的操作,则有一个机器周期中的PSEN信号将不出现。
XTAL1:
接外部晶振的一个管脚。
XTAL2:
接外部晶振的一个管脚。
3.2时钟电路
时钟电路是一个单片机的心脏,没有时钟电路,单片机无法工作,单片机各部分的运行都是以时钟电路的时钟信号为基准,严格按照时钟信号的节拍工作,一个时钟信号工作一个指令。
本次设计采用的是外部时钟,时钟频率为11.059kHz。
用11.0592k晶振的原因是52单片机的定时器导致的。
用52单片机的定时器做波特率发生器时,如果用11.059khz的晶振,根据公式算下来需要定时器设置的值都是整数;如果用12khz晶振,则波特率都是有偏差的,比如9600,用定时器取FD,实际波特率10000。
原理图如图3.2所示:
图3.2时钟电路原理图
3.3复位电路
复位电路长期为低电平,当开关闭合后,VCC通过导线导通,单片机复位端口接收到高电平,启动复位。
由于需要接受两个高电平脉冲,电压快速变化会引起意外,所以需要电容来降低变化的速度,给单片机反应时间。
因此对于低电平复位的单片机,在系统刚上电的时候,电容还没有充电,或电压没有达到单片机认同的高电平,此时单片机复位,之后电容的电压逐渐上升至高电平,单片机就不会复位了。
当不需要复位时,断电,该电路回到原来状态,再需要复位时再次启动。
当码表不工作或者工作有误的时候可以通过复位电路一次性修正,使之能够正常使用,犹豫硬件的不稳定和软件可能的漏洞,虽然开发的时候会极力避免此类事情发生,但是难免还是会出现,所以为了码表能够持续进行,一个复位功能的按键显得十分重要。
原理图如图3.3所示:
图3.3复位电路原理图
3.4GPS模块
GPS模块就是集成了RF射频芯片、基带芯片和核心CPU,并加上相关外围电路而组成的一个集成电路。
GPS模块其实就是一个接收芯片,工作原理是通过不停接受不同卫星发送过来的时间和位置信息,将其采集后送到核心CPU,当GPS模块移动时,接收到的数据也随之产生变化,CPU通过生产时候拷贝进去的算法将接受的时间位置计算出来,得到自己的位置和速度信息。
GPS常见的天线是陶瓷平板天线,这种天线成本低,外部加有源放大电路,接收信号方向单一,增益比较高,所以采用最多。
本次设计所采用的就是这样的一种陶瓷芯片,该芯片工作不稳定,接收信号不够强,所以本次设计所采用的GPS加上天线的整体只能在室外工作,但是考虑到自行车码表的工作地点,尤其是需要定位的场合,基本都是在室外,故而本款GPS模块已经能够满足设计的要求。
GPS天线的信号传输线同样非常重要,包括外部馈线与PCB走线。
只有在阻抗匹配时输出功率才可能最大。
因此整个传输线要保证5的高频阻抗。
具体的RF上的阻抗需要设计者去学习计算,已达到最高功率。
原理图如3.4所示:
图3.4GPS原理图
本次试验采用UBLOX-GPS芯片,特点如下:
1、该GPS采用U-BLOXNEO-模组,体积非常小,十分适合本次设计。
2、该GPS增加放大电路,有利于无源陶瓷天线快速搜星。
3、该GPS可以直接设置各种参数,并保存在EEPROM中,使用方便。
4、该GPS自带SMA接口,可以连接各种有源天线,适应能力强。
5、该GPS兼容3.3V/5V电平,方便连接各种单片机系统[3]。
6、该GPS自带可充电后备电池,可以掉电保持星历数据。
主要参数:
1)本模块默认波特率为9600;
2)供电电压3.-(可直接接或者3.供电,内核工作电压3.);
3)可直接接3.或者单片机IO进行通信;
3.5霍尔测速模块
霍尔元件即是应用霍尔效应的半导体。
所谓霍尔效应,是指磁场作用于载流金属导体、半导体中的载流子时,产生横向电位差的物理现象。
金属的霍尔效应是1879年被美国物理学家霍尔发现的。
当电流通过金属箔片时,若在垂直于电流的方向施加磁场,则金属箔片两侧面会出现横向电位差。
半导体中的霍尔效应比金属箔片中更为明显,而铁磁金属在居里温度以下将呈现极强的霍尔效应[4]。
如果把霍尔元件集成的开关按预定位置有规律地布置在物体上,当装在运动物体上的永磁体经过它时,可以从测量电路上测得脉冲信号。
根据脉冲信号列可以传感出该运动物体的位移。
若测出单位时间内发出的脉冲数,则可以确定其运动速度[4]。
理论来说霍尔元件使用的越多,每次测得脉冲之间间隔就会更短,但是考虑到抗干扰性的影响,以及高速运动时的风阻影响,越少的器件越不容易发生故障,阻力也更小,而且在自行车中,直行车运行速度已经足够快,所以一个霍尔元件已经足够正常使用。
原理图如图3.5:
图3.5霍尔测速模块
3.6LCD12864显示模块
原理图如图3.6所示:
12864是一种统称,说明由128*64个点构成,本次采用LCD12864并行口通信,通信编程比较方便,而且LCD12864相比LCD1602,除了显示的类容更多外,还自带中文字库,使用起来非常方便。
对比于TFTLCD,功耗较小,尽管不能显示彩色以及更多的信息,但是作为一款定位中端的码表所用的显示器,其能显示的信息已经足够设计所需。
图3.6LCD12864原理图
12864显示模块显示原理是将一定数目的像素点看作一整个模块,8*16作为一个英文字符,16*16作为一个中文字符,每一个模块就可以用16个8位二进制数或者16个16位二进制数来表示,每一个1表示点亮,0表示不点亮,通过这些组合,就可以在屏幕上显示出本次设计所需的信息。
LCD12864芯片刚到手时是没有接线的,只预留了焊接的孔,需要使用者自己将线焊接上去,在焊接时要注意,与线连接时间不能过长,否则线上胶皮会融化,容易伤手,此外,与电路板接触时间也不宜过长,对电路板可能造成损坏。
3.7接口转换电路
由于编程矫正是在电脑上完成,完成程序编写以后需要将程序烧录进单片机中,而单片机本身与电脑无法直接通信,所以需要一个转换接口将电脑与单片机连接,CH340芯片由此而生。
CH340是一个USB总线的转接芯片,实现USB转串口或者USB转打印口。
在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线[5]。
该芯片能够兼容USB2.0,且使用简单,外围电路只需要再接晶振和电容,电路也相对更加简单,体积小。
而且网上资源有现成的驱动,接上电脑,安装驱动后就可以被识别并且直接使用。
支持波特率也很广,从240bps到11520bps,考虑到本次试验采用9600bps,故而完全够用。
原理图如图3.7所示:
图3.7接口转换电路
第四章系统软件
本次系统编译采用C语言,在KeiluVision4的环境下编译。
相比于汇编语言,C语言编属于高级语言,具有可移植性,能够结构化编程。
C语言也是现在大学主要学习的计算机语言,编写程序时上手更快,C语言的逻辑偏向人的逻辑,更容易理解和编写,C语言的一些固定模块网上也能找到,直接移植过来,编写能够节省很多时间,尤其是GPS的编写模块,能够节省大量时间。
而汇编语言针对不同的操作系统平台,不同的微控制器,指令都是完全不同的,即使指令相似,也不具有可移植性。
但是汇编语言是针对专门的控制器的,所以运行速度可以精确到一个指令周期。
汇编语言的程序读懂需要借助微控制器的指令手册以及各个寄存器的说明,所以很难读懂[6]。
此外,汇编的编写逻辑更偏向于机器语言,而C语言是更加接近人的逻辑,所以汇编更加难以理解,编写难度大。
同时,汇编的语句限制太多,关于寄存器,存储器,变量,每个语句都有其局限性,使用时顾忌很多,编写困难。
KeiluVision4是专门针对单片机卡发而制作的一个软件,归属于ARM公司,旨在使用c语言进行单片机的开发,能够完美的兼容C51系列单片机,Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
相比于初代的uVision,2009年2月发布的KeilμVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。
新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。
新版本支持更多最新的ARM芯片,还添加了一些其他新功能。
2011年3月ARM公司发布最新集成开发环境RealViewMDK开发工具中集成了最新版本的KeilμVision4,其编译器、调试工具实现与ARM器件的最完美匹配[7]。
烧录软件采用STC自主开发的专用烧录软件st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 多功能 自行车 里程 速度 设计