基于单片机的自行车测速仪设计毕业设计说明书Word文件下载.docx
《基于单片机的自行车测速仪设计毕业设计说明书Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的自行车测速仪设计毕业设计说明书Word文件下载.docx(56页珍藏版)》请在冰豆网上搜索。
![基于单片机的自行车测速仪设计毕业设计说明书Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/2/1ea98fc6-8958-4eb9-995f-85dc60421582/1ea98fc6-8958-4eb9-995f-85dc604215821.gif)
关键词:
里程/速度,时间,温度,霍尔元件,单片机,LCD
THECIRCUITDESIGNOFVELOCIMEETERBASEDONMCU
Abstract
ThisdesignmainlyelaboratedbasedonMCUandHallelementofspeedinstrumentdesign.TakeSTCMCUasthecore,Hallelementspeed,realizestothebicyclemileage,speed,time,temperaturemeasurement,andasimplebicyclemileageandspeedwiththeLCDrealtimedisplay.ThehardwarepartusingtheHallelementwillbikepersecondpulsenumberofincomingMCUsystem,andthenbythesinglechipmicrocomputersystemcalculationprocessingandprocessingresulttotheLCDdisplay.Programdesigninordertofacilitatetheexpansionandthechange,thesoftwaredesignusesthemodularstructure,makethelogicrelationsmoreconcise.Makehardwaretocoordinatetheoperationunderthesoftwarecontrol.Simulationexperimentsshowthatthedesignedhardwarecircuitandsoftwareprogramarecorrect,practicalhardwarecircuitalsobasicallycansatisfythedesignrequirement,butduetotheknowledgeandthelevelislimited,inpracticetherearestillsomeproblemsinthehardwarecircuit.
Keywords:
Mileage/speed,time,temperature,Hallelement,MCU,LCD
1绪论
1.1课题研究的目的和意义
目前环保问题已经成为一个世界性的课题,保护环境也已经成为每个人的责任,汽车已经不能够满足现在环境的要求。
且在人口众多的中国,人们的经济水平与西方国家还存在着一定的差距,人们使用的交通工具主要还是自行车,它轻巧便捷、使用简单、环保,深受大多数人的喜爱,同时也可以作为休闲运动工具,是人们锻炼身体的一种重要的工具。
但随着社会的发展,人们追求的是集成更多功能于一体的自行车,它能显示当前车子行驶的速度、里程、行车时间、最高行驶速度,甚至还有GPS全球定位系统、MP3、短信、新闻播报等娱乐功能。
本文就是以此为基础,设计一款简单低成本多功能的测速仪,旨在解决自行车驾驶者在行驶时能够了解当前的行驶状态,并且根据周围环境,能够做出正确的判断和操作,提高了驾驶的安全性。
另外自行车运动需一款测速装置,以了解运动情况,特别是对于运动员,他们需要一种能对实时运动情况进行测量并记录的仪器,通过记录的数据,运动员可以分析自己的训练成绩及训练过程,根据分析结果,可以调整自己的训练步骤。
并根据外界环境如温度、风速等进行适当调节运动方式,以达到最佳运动效果。
测速装置是对运动中几个参数进行测定。
现自行车测速仪的设计种类繁多,但是多数的测速装置都是由机械式或模拟数字电路来实现的,都存在体积大、精度低、不直观、功耗大、功能少等缺点。
本文所述测速系统是以单片机为核心实现的,具有功能多、功耗小、直观准确以及可显示时间、总里程、温度、速度等优点。
1.2课题的发展概况
随着微型计算机可靠性提高和价格下降,用单片机测量电机转速技术已经成熟,但是这种技术目前主要还是用于工业生产方面,测速装置用于生活中还是少之又少。
欲提高测量精度,必须先测出准确的转速,而原先在可控硅调速电路中采用的测速发电机方式已不能满足要求,必须采用数字测速的方法。
转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有M法(测频法)、T法(测周期法)和MPT法(频率周期法),该系统采用了M法(测频法)。
转速检测方式采用霍尔脉冲法测量转速有两种简单的方式。
本设计采用频率法,检测的是输入脉冲数,这种方式又称频率法。
它测出一定时间内外界所输入的脉冲的个数。
在控制系统中占有非常重要的地位。
对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。
所设计的基于霍尔元件的脉冲发生器要求具有成本低、结构简单、使用方便、性能好等特点。
由于需要采用霍尔传感器的应用领域,如汽车、电机、手机和电脑都已经采用了该器件,而且这些市场在未来几年的增长较为稳定,而其他一些新的应用市场又不足以与上述几个市场相比,因此霍尔传感器在全球总的市场份额是较为稳定的,每年的增长率基本上保持在5%到10%之间。
因为各种应用电机的部件、节气门位置的检测、各种阀体位置的检测、或者电磁感应的位置都会用到霍尔传感器。
而且,在中国市场中,国外厂商为了降低成本,陆续将零部件拿到中国进行设计和生产,这也进一步提升了中国市场霍尔传感器的使用量。
随着它在电子消费市场上的应用越来越广,如何控制功耗和成本将是厂商面临的挑战。
而且,它还面临生产测试技术方面的挑战。
国内外现在已经有生产销售类似的自行车测速仪里程表,有些简单的产品功能比较单一,就是单单只有测速或里程的功能,然而一些复杂的产品除了测速和里程功能外,还集成了GPS全球定位、单次行车里程、平均速度、时钟、行车时间、车轮转数。
未来的发展趋势可能还将加入MP3和短信收发、新闻播报、通讯功能等,使得自行车测速仪更加的人性化、现代化、生活化。
相信未来的测速仪会受到更多人的青睐,也将成为人类社会生活中的必需品。
1.3研究的主要内容
设计主要任务是利用单片机、时钟芯片、温度传感器等部件设计的一个可用LCD显示时间温度,行驶里程及速度的自行车测速仪。
本文主要介绍了自行车测速仪的设计思想、电路原理、方案以及元件的选择等内容,整体上分为硬件部分和软件部分设计。
本文首先扼要的对测速仪设计进行总体的介绍;
继而具体介绍了自行车测速仪的硬件设计,包括传感器的选择、时钟芯片的选择、单片机的选择、存储器的选择、显示电路的设计等;
然后阐述了该自行车测速仪的软件设计,包括主程序设计,子程序的设计;
最后对本次设计进行了系统的总结。
本设计的具体要求如下:
(1)对自行车进行实时速度的测量,显示出速度值。
(2)能够计算单次使用自行车的路程。
(3)能测量出当前环境的温度,以供使用者决定是否适宜进行运动。
(4)显示行车里程,实时时间,并且具有断电保护的功能。
2系统总体方案设计
2.1系统方案
系统主要分成四个模块,分别是时钟模块、温度模块、速度模块、显示模块。
温度及速度模块通过外部传感器对相应参数进行测量,将物理信号转换为电信号输入单片机,单片机对输入的电信号进行处理,最后通过显示器输出显示。
本设计中用到的主要元件包括单片机、时钟芯片、温度传感器、速度传感器以及液晶显示器[1]。
控制系统的方案计框图如图2—1所示。
图2—1系统框图
该方案是以单片机为核心,通过速度传感器将所感应到的速度传送到单片机当中,通过单片机的处理计算并通过显示器将所计算的速度和里程显示出来。
时间和温度的显示是通过时钟芯片和温度传感器并以单片机为核心通过显示器显示而按键用于调整时间。
2.2单片机选择
单片机普遍认为是在一块硅片上集成了中央处理器、存储器和各种输入、输出接口,这样的一块芯片具有一台计算机的功能,因而被称为单片微型计算机。
系统所使用的是通用型单片机,它可以把可开发资源全部提供给使用者。
宏晶科技是新一代增强型8位单片微型计算机标准的制定者和领导厂商宏晶科技是新一代增强型8位单片微型计算机标准的制定者和领导厂商。
致力于提供满足中国市场需求的高性能单片机技术,在业内处于领先地位,销售网络覆盖全国。
STC系列的单片机现在在中国的51单片机市场上占有较大比例。
其产品已通过国际权威认证机构SGS(瑞士通用公证行)的多项认证:
EFT测试认证和绿色环保认证。
STCMCU性能特点在于:
89C系列:
最高工作频率80M,FLASH程序储存4K-64K,RAM数据储存512B-1280B,内部集成EEPROM2K-16K及看门狗和专用复位电路,带A/D功能。
STC系列:
单时钟/机器周期。
超小封装。
2-4路PWM,8-10位高速A/D转换。
FLASH程序储存512B-12K,RAM数据储存256B-512B,集成1K的EEPROM及硬件WDT,产品都有为低功耗且有ISP和IAP功能,强抗干扰和降低EMI性能。
2.3时钟芯片选择
时钟芯片种类非常多,有内置晶振及充电电池类型,还有外置晶振类型,如现在流行的DS1302、DS1307、PCF8485、SB2068等等。
由于DS1302时钟芯片的电路接口简单,价格低廉、使用方便,被广泛地采用。
在系统中采用了DS1302时钟芯片,该实时时钟电路是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能,采用普通32.768kHz晶振。
DS1302时钟芯片是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
DS1302内部有一个31×
8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力[10]。
2.4温度传感器选择
温度传感器是利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器,它是温度测量仪表的核心部分。
由于品种繁多,所以在工业应用中温度传感器分类的方式方法有很多种。
由于DS18B202测试环境温度,数据直观、成本低廉,精度可达0.1℃,所以在设计中采用了DS18B20温度传感器。
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高。
在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果[3]。
其主要特点如下:
(1)独特的单线接口仅需要一个端口引脚进行通信。
(2)多个DS18B20可以并联在惟一的总线上,实现多点组网功能。
(3)可通过数据线供电,电压范围为3.0~5.5V。
(4)零待机功耗。
(5)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。
(6)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
2.5测速传感器选择
测速传感器是对被测物的运行速度进行测量并转化成可输出信号的传感器。
测速传感器包括测量线速度传感器和测量转速度传感器。
而测量转速的方式很多,常见的有:
霍尔传感器(例如你提到的那一种)、光电传感器(还分反射式与透射式)、以旋转编码器等等。
设计中采用了霍尔传感器进行测速,它具有对磁场敏感、结构简单、体积小、频率响应宽、输出电压变化大和使用寿命长等优点,因此,在测量、自动化、计算机和信息技术等领域得到广泛的应用。
霍尔传感器44E系列是AllegroMicroSystems公司生产的宽温、开关型霍尔效应传感器,其工作温度范围可达-40℃~150℃。
它由电压调整电路、反相电源保护电路、霍尔元件、温度补偿电路、微信号放大器、施密特触发器和OC门输出极构成,通过使用上拉电阻可以将其输出接入CMOS逻辑电路。
2.6显示器选择
由于设计中的需显示英文字符,且显示的数据比较多,所以不宜采用数码管显示。
而应该采用液晶屏显示,现在液晶显示屏种类繁多,12864、1602等都是常用的液晶显示屏。
而12864顾名思义像素是128*64,能显示8*4个汉字,因型号不同,有的带汉字库,有的不带,能显示图像效果,功能比1602强大。
1602一般只用于显示字母、数字和符号能显示16*2个字符,具有一些显示效果,如字符一个个显示、字符从左到右或从右到左显示等等,显示效果简单,价格低廉。
由于考虑到设计中不需汉字显示且显示字符足够。
因此,系统采用1602液晶显示。
3系统硬件设计
3.1单片机外围电路设计
3.1.1单片机介绍
STC89C54RD+具有16K在系统可编程Flash存储器和1280B的随机存取数据存储器。
(1)片内程序存储器内含16KB的Flash程序存储器。
(2)片内数据存储器内含1280字节的RAM。
(3)具有3个可编程定时器。
(4)具有32根可编程I/O口线。
(5)串行口是具有一个全双工的可编程串行通信口。
(6)中断系统是具有8个中断源、4个级优先权的中断结构。
(7)具有一个数据指针DPTR。
(8)低功耗工作模式有空闲模式和掉电模式。
(9)具有可编程的3级程序锁定位。
(10)STC89C54RD+工作电源电压典型值为5V。
(11)STC89C54RD+工作频率为0—80MHz。
STC89C54RD+单片机为40脚双列直插封装的8位通用微处理器,如图3—1所示,按其引脚功能分为四部分,下面对其进行简单的介绍:
(1)主电源引脚VCC和VSS。
(2)外接晶体引脚XTAL1和XTAL2。
(3)控制或与其它电源复用引脚RST、ALE、PSEN和EA/VPP。
(4)输入/输出(I/O)引脚P0、P1、P2、P3(共32根)。
P0口是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载,故在使用P0口作为输入/输出口时需在外界接入上拉电阻。
P1口是准双向8位I/O口。
由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。
P1口能驱动(吸收或输出电流)4个LS型的TTL负载。
P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2捕捉、重装触发,即T2外部控制端。
对Flash编程和程序验证时,它接收低8位地址。
P2口是准双向8位I/O口。
在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。
在对Flash编程和程序验证期间,它接收高8位地址。
P2可以驱动(吸收或输出电流)4个LS型的TTL负载。
P3口是准双向8位I/O口,在MCS-51中,这8个引脚还有其第二功能,是复用双功能口。
P3能驱动4个LS型的TTL负载。
图3—1STC89C54RD+引脚图
3.1.2单片机外围电路图
如图3—2所示为单片机外围电路连接图。
由于设计采用STC单片机,此系列单片机具有掉电自动复位的功能,所以在单片机中并未设计复位电路。
且在仿真中,单片机晶振在其属性中可调,即在仿真电路中没有晶振电路。
但是在实际的硬件电路中晶振必须要接入。
因此,系统采用12MHz的晶振。
图中的两个按键是调节时钟芯片的时间。
由于在仿真图中并没有霍尔元件可功模拟,即在P3.2接入数字激励源,代替了实际的电路中的霍尔传感器。
图3—2单片机外围电路图
3.2时钟模块设计
3.2.1时钟芯片介绍
DS1302的引脚排列,其中VCC1为主电源,VCC2为后备电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由VCC1或VCC2两者中的较大者供电。
当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。
当VCC2小于VCC1时,DS1302由VCC1供电。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;
其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在VCC>
2.0V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端,后面有详细说明,SCLK为时钟输入端。
如图3—3所示为DS1302的引脚功能图。
图3—3DS1302引脚图
DS1302控制字如表3—1所示。
表3—1DS1302控制字
7
6
5
4
3
2
1
RAM
A4
A3
A2
A1
A0
RD
(1)控制字的最高有效位位7:
必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。
(2)位6:
如果为0,则表示存取日历时钟数据,为1表示存取RAM数据。
(3)位5至位1(A4~A0):
指示操作单元的地址。
(4)位0(最低有效位):
如为0,表示要进行写操作,为1表示进行读操作。
控制字总是从最低位开始输出。
在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。
同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。
DS1302有关日历、时间的寄存器如表3—2所示。
表3—2DS1302日历、时间寄存器
R
W
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
RANGE
81h
80h
CH
10Seconds
Seconds
00-59
83h
82h
10Minutes
Minutes
85h
84h
12/24
10
Hour
1-12
/0-23
AM/PM
87h
86h
10Date
Date
1-31
89h
88h
10Mon
Mon
8Bh
8Ah
Day
1-7
8Dh
8Ch
10Year
Year
00-99
8Fh
8Eh
WP
—
91h
90h
TCS
DS
RS
这张表是DS1302内部的7个与时间、日期有关的寄存器图和一个写保护寄存器,我们要做的就是将初始设置的时间数据写入这几个寄存器,然后再不断地读取这几个寄存器来获取实时时间。
这几个寄存器的说明如下:
(1)秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。
当初始上电时该位置为1,时钟振荡器停止,DS1302处于低功耗状态;
只有将秒寄存器的该位置改写为0时,时钟才能开始运行。
(2)小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。
当为高时,选择12小时模式。
在12小时模式时,位5是为1时,表示PM。
在24小时模式时,位5是第二个小时十位。
(3)控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。
在对任何的时钟和RAM的写操作之前,WP位必须为0。
当WP位为1时,写保护位防止对任一寄存器的写操作。
也就是说在电路上电的初始态WP是1,这时是不能改写上面任何一个时间寄存器的,只有首先将WP改写为0,才能进行其它寄存器的写操作。
所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。
突发模式寄存器如表3—3所示。
表3—3DS1302的工作模式寄存器
工作模式寄存器
读寄存器
写寄存器
时钟突发模式寄存器
CLOCKBURST
BFh
BEh
RAM突发模式寄存器
RAMBURST
FFh
FEh
DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位WriteProtect(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;
D6=0,指定时钟数据,D6=1,指定RAM数据;
D5~D1指定输入或输出的特定寄存器;
最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。
在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。
若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。
DS1302与RAM相关的寄存器分为两类:
一类是单个RAM单元,共3