基于单片机的自行车里程表及速度仪的毕业设计.docx
《基于单片机的自行车里程表及速度仪的毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的自行车里程表及速度仪的毕业设计.docx(36页珍藏版)》请在冰豆网上搜索。
基于单片机的自行车里程表及速度仪的毕业设计
重庆三峡学院
毕业设计(论文)
题目基于单片机的自行车里程表及速度仪的设计
院系
专业电子信息工程
年级2010级
学生姓名
学生学号
指导教师职称副教授
完成毕业设计(论文)时间2013年12月
基于单片机的自行车里程表及速度仪的设计
摘要本文介绍了基于单片机控制的简易自动自行车里程以及速度的计算系统,包括自行车里程表的硬件构成、软件逻辑以及程序代码。
该自行车测速系统以AT89C51作为系统控制核心,采用霍尔传感器来检测信号,通过一定时间间隔内对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在LCD以及LED上显示车辆行驶里程、平均速度和瞬时速度,并且具有超速报警功能。
关键字:
自行车测速单片机霍尔传感器LCD显示LED显示
第一章绪论
1.1选题背景与研发意义
中国人口众多,还是发展中国家,经济不发达制约了大多数人的消费水平,人们休闲时使用的交通工具主要还是自行车,它便捷轻巧,使用简单,深受人们的喜爱,作为休闲运动工具,是人们锻炼身体的好工具,好伙伴。
但随着时间的推移,人们追求的是具有更多功能的自行车它能显示当前车子行驶的速度,里程,行驶时间,最高行驶速度,甚至还有GPS定位系统。
本次论文就是以这个作为出发点,尝试设计一款低成本多功能的测速仪,旨在解决自行车驾驶者在驾驶时能够准确的知道车子的行驶状态,根据周围环境,做出正确的判断和操作,提高了驾驶者的安全性。
另外自行车运动需一款测速装置,以了解实时情况,特别是对于运动员,他们需要一种能对实时运动情况进行测量并记录的仪器,通过记录的数据,运动员可以分析自己的训练过程及训练成绩,根据分析的结果,可以调整自己的训练步骤及计划。
根据外界的条件,如温度、风速等进行适当调节,达到最佳运动效果。
测速装置是对运动中各种参数进行测定。
现测速表的设计已很多,多数由机械式或模拟数字电路来实现的,都存在精度低、不直观、体积大、功能少、功耗大等缺点。
本文所述测速系统是以单片机为核心来实现的,具有功能多、直观准确、功耗小以及可显示总里程、速度、时间等优点。
1.2课题的发展情况
随着微型计算机可靠性的提高和价格的下降,用单片机测量电机转速已日趋普遍。
我们知道,欲提高测量精度,必须先测出准确的转速,而原先在可控硅调速电路中采用的测速发电机方式已不能满足要求,必须采用数字测速的方法。
转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有M法(测频法)、T法(测周期法)、和M/T法(频率周期法),该系统采用了M法(测频法)。
所谓M法(测频法)就是在规定的检测时间内,检测光电脉冲发生器所产生的脉冲信号的个数来确定转速。
虽然检测时间一定,但检测的起止时间具有随机性,因此M法测量转速在极端情况下会产生士1个转速脉冲的误差。
当被测转速较高或电机转动一圈发出的转速脉冲信号的个数较大时,才有较高的测量精度,因此M法适合于高速测量。
转速检测方式采用霍尔脉冲法测量转速。
本文采用频率法,检测的是输入脉冲数,这种方式又称频率法。
它测出一定时间内输入的脉冲的个数。
在控制系统中占有重要的地位。
对测速装置的要求是:
分辨能力强、高精度和尽可能短的检测时间。
所设计的基于霍尔元件的脉冲发生器要求成本低,性能好,构造简单。
在电气控制系统中存在着较为恶劣的电磁环境,因此要求产品本身要具有较强的抗干扰能力。
所以需要采用霍尔传感器来做测速装置。
国内外现在都有生产销售类似的自行车测速仪里程表,有些简单的产品就是单单只有测速或里程的功能比较复杂的产品除了测速和里程功能外,还加入了GPS全球定位,自行车里程,当前速度,时钟,行车时间,使得自行车测速仪更加的人性化相信会受到更多人的青睐。
1.3研究的主要内容
本课题主要任务是利用单片机等部件设计的一个可用LCD显示时间,行驶里程及速度的自行车测速仪。
本文主要介绍了自行车测速仪的设计思想,电路原理,方案论证以及元件的选择等内容,整体上分为硬件部分和软件部分设计。
本文首先扼要的对该课题的自行车测速仪设计进行总体的介绍,继而具体介绍了自行车测速仪的硬件设计,包括传感器的选择,时钟芯片的选择,单片机的选择,存储器的选择,显示电路的设计,传输电路的设计等,然后阐述了该自行车测速仪的软件设计,包括主程序设计,子程序的设计,最后对本次设计进行了系统的总结。
第二章开发工具介绍
2.1KEIL介绍
Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。
Keil公司由两家私人公司联合运营,分别是德国慕尼黑的KeilElektronikGmbH和美国德克萨斯的KeilSoftwareInc。
Keil公司制造和销售种类广泛的开发工具,包括ANSIC编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-timekernel)。
有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。
其KeilC51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种。
keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
下面介绍KeilC51开发系统基本知识。
(1)系统概述
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
(2)KeilC51单片机软件开发系统的整体结构
C51工具包的整体结构,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
(3)使用独立的Keil仿真器时,注意事项
①仿真器标配12MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
②仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
③仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
(4)KeilC51优点
①KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
②与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
2.2Proteus介绍
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MATLAB等多种编译。
除了其具有和其他EDA工具一样的原理图,PCB自动或人工布线及电路仿真的功能外,其中一个重要的功能是,电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。
Proteus组合了高级原理图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。
(1)Proteus简介
Proteus产品系列包含了VSM技术,用户口可以对基于微控制器的设计连同所有的周围电子器件一起仿真。
用户甚至可以实时采用诸如LED/LCD。
键盘、RS232终端等动态外设模型来对设计进行交互仿真。
其功能模块有一个易用而又功能强大的ISIS原理布图工具,PROSPICE混合模型SPICE仿真,ARF.SPCB设计。
软件具有以下特点。
①支持许多通用的微控制器,如ARM7,PIC,AVR,HC11以及8051。
②交互的装置模型包括:
LED和LCD显示,RS232终端,通用键盘,开关,按钮等。
④支持如IAR.Keil和Hitech等开发工具的c源码和汇编的调试。
⑤内置超过6000标准SPICE模型,完全兼容制造商提供的SPICE模型。
⑥DLL接口为应用提供特定的模式。
⑦基于工业标准的SPICE3F5混合模型的i“路仿真器。
⑧14种虚拟仪器:
示波器、逻辑分析仪、信号发生器、规程分析仪等。
⑨高级仿真包括强大的基于图形的分析功能:
模拟、数字和混合瞬时图形,频率,转换,噪声,失真,傅立叶,交流、直流和音频曲线。
⑩模拟信号发生器包括直流、正弦、脉冲、分段线性、音频、指数、单频FM;数字信号发生器包括尖脉冲、脉冲、时钟和码流以及集成PROTEUSPCB设计形成完整的电子设计系统。
(2)ProteusISIS
ISIS是PROTEUS系统的中心,它远不仅是一个图表库。
它是具有控制原理图画图的外观的超强设计环境。
无论是实现复杂设计的仿真以及PCB设计,还是设计精美的原理图ISIS都是最好工具。
双击桌面上的ISIS6Professional图标或者单击屏幕左下方的“开始”、“程序”、“Proteus”、“ISIS6Professional”菜单就启动了ProteusISIS集成环境。
ProteusISIS的工作界面是一种标准的Windows界面。
包括:
标题栏、主菜单、工具栏、预览窗口、挑选元件按钮、库管理按钮、原理图编辑窗口。
元件列表、对象选择按钮、预览对象方位控制按钮、仿真控制按钮、状态栏。
2.3单片机
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。
单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),单片机芯片常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
它最早是被用在工业控制领域。
由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。
其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列单片机系统。
因为简单可靠而性能不错获得了很大的好评。
尽管2000年以后ARM已经发展出了32位的主频超过300M的高端单片机,直到目前基于8031的单片机还在广泛的使用。
在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。
事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!
单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
应用分类:
单片机作为计算机发展的一个重要分支领域,根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。
通用型/专用型:
这是按单片机适用范围来区分的。
例如,80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线型/非总线型:
这是按单片机是否提供并行总线来区分的。
总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型/家电型:
这是按照单片机大致应用的领域进行区分的。
一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。
显然,上述分类并不是惟一的和严格的。
例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
发展历史:
单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。
其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列MCU系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
基本结构:
单片机由运算器、控制器、存储器、输入输出设备构成。
早期阶段:
SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。
“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。
在开创嵌入式系统独立发展道路上,Intel公司功不可没。
中期阶段:
MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:
不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。
从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。
在发展MCU方面,最著名的厂家当数Philips公司。
Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。
因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
当前趋势:
SoC嵌入式系统SystemonChip)式的独立发展之路。
向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。
随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。
因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
早期发展:
1971年intel公司研制出世界上第一个4位的微处理器;Intel公司的霍夫研制成功世界上第一块4位微处理器芯片Intel4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。
因发明微处理器,霍夫被英国《经济学家》杂志列为“二战以来最有影响力的7位科学家”之一。
1971年11月,Intel推出MCS-4微型计算机系统(包括4001ROM芯片、4002RAM芯片、4003移位寄存器芯片和4004微处理器)其中4004(下图)包含2300个晶体管,尺寸规格为3mm×4mm,计算性能远远超过当年的ENIAC,最初售价为200美元。
1972年4月,霍夫等人开发出第一个8位微处理器Intel8008。
由于8008采用的是P沟道MOS微处理器,因此仍属第一代微处理器。
1973年intel公司研制出8位的微处理器8080;1973年8月,霍夫等人研制出8位微处理器Intel8080,以N沟道MOS电路取代了P沟道,第二代微处理器就此诞生。
主频2MHz的8080芯片运算速度比8008快10倍,可存取64KB存储器,使用了基于6微米技术的6000个晶体管,处理速度为0.64MIPS(MillionInstructionsPerSecond)。
1975年4月,MITS发布第一个通用型Altair8800,售价375美元,带有1KB存储器。
这是世界上第一台微型计算机。
1976年intel公司研制出MCS-48系列8位的单片机,这也是单片机的问世。
Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工业自动控制设备。
当时,Zilog、Motorola和Intel在微处理器领域三足鼎立。
20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位高档单片机。
MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。
硬件特性:
①、主流单片机包括CPU、4KB容量的ROM、128B容量的RAM、2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。
②、系统结构简单,使用方便,实现模块化;
③、单片机可靠性高,可工作到10^6~10^7小时无故障;
④、处理功能强,速度快。
⑤、低电压,低功耗,便于生产便携式产品
⑥、控制功能强
⑦、环境适应能力强。
第三章硬件电路的设计
3.1相关元器件及其简介
3.1.1AT89C51单片机简介
AT89C51是一种低功耗、高性能CMOS8位微控制器,具有2K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89C51具有以下标准功能,4k字节Flash,128字节RAM,32位I/O口线,看门狗定时器,2个数据指针,2个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89C51可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
3.1.2LCD液晶显示模块
液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。
本里程表使用常见的1602字符型LCD模块。
1602可以显示2行16个字符,有8位数据总线D0-D7和RS、R/W、E三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。
LCD液晶显示模块如图3-1所示
图3-1LCD液晶显示模块
LCD采用标准的14脚(无背光)接口,各引脚接口说明如表3-1所示。
表3-1引脚接口说明表
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
8
D1
数据
2
VDD
电源正极
9
D2
数据
3
VL
液晶显示偏压
10
D3
数据
4
RS
数据/命令选择
11
D4
数据
5
R/W
读写/选择
12
D5
数据
6
E
使能信号
13
D6
数据
7
D0
数据
14
D7
数据
第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端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
3.1.3传感器的选择
测速传感器是对被测物的运行速度进行测量并转化成可输出信号的传感器。
测速传感器包括测量线速度传感器和测量转速传感器。
而测量转速的方式很多,常见的有:
光电传感器、干簧管、霍尔传感器等。
1、红外光电传感器。
把红外对管分别安装在自行车车轮的两侧,当车轮转动时,辐条会阻挡红外对管的光路,接收管输出低电平,单片机根据此信号可计算里程、速度等。
红外对管的优点是测量精度高,缺