基于单片机的自行车测速系统设计与实现论文.docx
- 文档编号:4846146
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:53
- 大小:907.69KB
基于单片机的自行车测速系统设计与实现论文.docx
《基于单片机的自行车测速系统设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的自行车测速系统设计与实现论文.docx(53页珍藏版)》请在冰豆网上搜索。
基于单片机的自行车测速系统设计与实现论文
毕业设计(论文)说明书
题目:
自行车测速系统设计与实现
院(系):
信息与通信学院
专业:
电子信息工程
学生姓名:
学号:
指导教师:
职称:
副教授
题目类型:
理论研究实验研究工程设计工程技术研究软件开发
2014年5月20日
摘要
随着社会的进步发展和环保意识的增强,能够锻炼身体,且能环保出行的自行车成了大众的宠儿。
随自行车的快速发展,人们对自行车的功能要求也越来越高。
自行车测速仪通过测量并显示出行时的日期、时间、温度、速度和里程数,能够较好的满足人们对自行车的基本需求。
本设计通过分析自行车测速仪的原理,基于STC89C52单片机和C语言,设计和实现了一种自行车测速系统。
该系统主要包括单片机数据处理、电机测速、温度测量、时钟计时、显示数据、按键控制七大功能模块.在系统实现中,硬件部分以STC89C52单片机为处理核心,用红外对管传感器将车轮的转数转换为电脉冲,进行处理后送入单片机,通过测量电机转的圈数,经过数据处理得到速度和路程数。
软件部分采用C语言进行编程,实现系统的控制与显示。
本系统的实现达到了预期的设计目标。
关键词:
自行车测速;STC89C52单片机;红外对管传感器;C语言
Abstract
Withthedevelopmentofsocialprogressandenvironmentalprotectionconsciousness,canphysicalexercise,andgreentravlbicycle,becamethedarlingofthepublic.Withtherapiddevelopmentofbicycle,thebicyclefeaturespeopleareincreasinglyhighrequirements。
Bicyclespeedometercandisplaythetraveldate,time,temperature,speedandmileagebymeasuring,tobettermepeople'sbasicneedsforbicycle.
Thisdesignthroughtheanalysisofprinciplesofbicyclespeedometer,basedonSTC89C52singlechipandClanguage,designandimplementationofabicyclespeedsystem.ThesystemincludesaSCMdataprocessing,motorspeed,temperaturemeasurement,timing,datashows,keycontrolthatsevenmajorfunctionmodule。
Inthesystemrealization,ThehardwarepartwithSTC89C52SCMascoreprocessor.Usingtheinfraredtubesensorwillwheelspeedisconvertedintoelectricalpulses,processedintothemicrocontroller。
Bymeasuringthemotorcycles,afterdataprocessing,wecanknowthespeedanddistance。
ThesoftwareusingClanguageprogramming,torealizethesystemcontrolanddisplay。
Therealizationofthissystemreachestheexpecteddesigngoal.
Keywords:
BicycleTachometer;STC89C52singlechipmicrocomputer;Infraredtubesensor;Clanguage
引言
自行车是传统产业,具有100多年的历史,由于环保以及交通的问题,自行车再度成为世界各国特别是发达国家居民喜爱的交通、健身工具.在美国、欧洲、日韩等发达国家,自行车深受人们的喜爱,是一种比较普遍的运动、休闲和娱乐性产品。
每年全世界自行车需求量巨大,日本CYCLEPRESS的数据统计显示,全世界自行车需求规模保持在1.06亿台的水平,自行车年交易额约为50亿美元。
数据显示,世界自行车行业的重心正从传统的代步型交通工具向运动型、山地型、休闲型转变,随着自行车功能类型的转变和行业的需求日益增大,自行车的辅助功能配件市场也越来越火热[1]。
虽然自行车出行环保健康,但是也存在着许多安全隐患。
在骑自行车的过程中想要知道时间要看手表或者手机,骑车过程东张西望很容易发生交通事故,停车下来查看又不不能便利出行。
虽然自行车的车速没有机动车快,但是在一些特殊路况中也要安全减速。
在以往的自行车对于行驶的路程没有一个准确的数值,达不到一些以锻炼身体的目的的出行者的要求。
大众的需求和环境的变化促使了自行车辅助配件的诞生,自行车测速仪则很好的解决这些难题,本设计的自行车测测速仪不仅能简单明了的现实当前的时间日期,还能显示出当前的车速,为我们的安全出行带来了保障。
当车停下来还可以知道自己骑行的里程数,为自己锻炼身体提供了便利.测速仪还能实时显示当前环境的温度,为我们的健康出行提供了有利参考。
自行车测速仪不仅为出行带来便利,也为安全出行提供了保障。
1设计要求
1.1毕业设计题目
自行车测速系统设计与实现
1。
2设计的主要功能
本设计以STC89C52单片机为核心,用红外对管传感器和DS18B20温度传感器测量数据,使用DS1302作为时钟芯片,由LCD12864显示其数据,制作而成的一个自行车测速系统。
其主要的实现功能如下:
(1)实现自行车的测速功能,当自行车在行驶时,能显示自行车行驶的速度;
(2)测量当前的温度,自行车行驶过程中能实时显示当前环境的温度值;
(3)显示当前时间,自行车行驶过程中能显示当前的日期和时间;
(4)当自行车车停止行驶时,显示自行车总行驶的里程数。
2工作原理和系统结构
根据设计的要求自行车测速系统设计与实现[2]主要分为七大模块:
单片机控制处理模块、红外对管传感器检测模块、DS1302时钟芯片模块、DS18B20温度采集模块、电机驱动模块、LCD12864显示模块、按键控制模块。
系统结构如图2—1所示。
图2-1系统结构框图
(1)单片机控制处理模块
采用STC89C52单片机芯片作为本模块的控制处理核心[3],主要负责对其他部分进行数据处理和控制;
(2)红外对管传感器检测模块
红外对管传感器将车轮的转数转换为电脉冲,然后将所测得数据送入单片机,通过测量电机转的圈数,经过数据处理得到当前速度和里程数;
(3)DS1302时钟芯片模块
DS1302可以对年、月、周、日、时、分、秒进行记时,具有闰年补时等多种功能,能让系统实时显示日期和时间;
(4)电机驱动模块
模仿自行车的车轮,用于红外对管传感器采集车轮转速;
(5)DS18B20温度采集模块
采用数字DS18B20的温度传感器负责测量当前室内空气的温度,并输送到单片机由其进行数据处理;
(6)LCD12864显示模块
LCD12864液晶屏显示单片机处理所得当前速度、时间、日期、温度、里程数的数据.
3硬件设计
3.1系统总电路图
系统总电路由STC89C52单片机[4]构成的单片机控制处理模块、红外对管传感器构成的测量电机转速模块、电机构成的模仿车轮转动模块、DS18B20构成的温度测量模块、DS1302构成的时间日期计数模块、串口下载模块和四个按键组成功能按键控制模块组成,系统总电路图如图3—1所示。
图3—1系统总电路图
3。
2单片机控制处理模块
本设计控制和数据处理模块由STC89C52芯片构成,STC89C52单片机通用性强,可利用多种软件编程,不仅算术运算能力强,而且具有低功耗、高性能、I/0端口丰富、占用体积小、成本低廉等优点。
只要外部电源给电源部分提供+5电压供电,控制和数据处理模块就可以正常工作。
当单片机外接RE232DB9串口字母接口可连接电脑,可实现程序的下载支持在线调程序.通过外接端口连接电路可实现对红外对管检测脉冲的计数,从而计算出电机转速和里程数,还具有时间日期显示、温度显示、控制数据检测与清零等众多功能。
单片机控制处理模块电路图如3-2所示.
图3—2单片机控制处理模块电路图
STC89C52是STC公司推出的一款低功耗、高性能的CMOS8位微控制器,内核采用的是经典的MCS—51,而且做了许多优良的改进,在51单片机的基础上增添了许多实用功能。
其主要的功能和性能参数[5]如下:
(1)在51单片机内核基础增强,可以任意选择机器周期为6时钟或12时钟,所使用的指令代码适用于传统的51单片机;
(2)拥有8位CPU和在系统可编程Flash,8K字节Flash:
(3)内置4KBEEPROM,MAX810复位电路;
(4)32个通用I/O接口;
(5)共有T0/T1/T23个16位定时器
(6)4路外部中断;
(7)工作电压:
3。
3V~5。
5V
(8)工作频率:
0~40MHZ,实际可达48MHZ:
(9)工作温度:
-40°C~+85°C
(10)内部存储空间为:
512B;
(11)通用异步串行口;
(12)有ISP(在系统可编程)、IAP(在应用可编程),无需专用编程器和仿真器;
(13)具有多种外形封装,PDIP—40、PLCC-44、PQFP等.
下面介绍STC89C52的其中一种封装PDIP-40(如图3-3所示)和其引脚功能:
图3—3STC89C52引脚图
STC89C52引脚功能说明:
1。
VCC:
电源电压
2.VSS:
接地
3。
P0口:
即P0。
0~P0。
7,39~32引脚,P0口是一组8位漏极开路的双向I/O口。
当此作输出端口,8个引脚能驱动8个TTL负载,若让其作为高阻抗输入,可在PO端口写入‘1’。
当访问数据存储器和外部程序时,P0端口可提供8为地址/数据的地址复用总线,PO端口内部上拉电阻有效。
在编程时,P0端口接收指令字节;而在校验程序时,PO端口输出指令字节且要求外接上拉电阻。
4。
P1口:
即P1.0~P1.7,1~8引脚,P1口是一个带内部上拉电阻的8位双向I/O口。
P1的输出缓冲器通过吸收或者输出电流方式可驱动4个TTL输入。
当其作输入口时,可对端口写入‘1'并通过内部的上拉电阻把端口拉到高电位。
当P1口作输入口时,被外部拉低的引脚因为内部有电阻会输出一个电流。
另外,与传统的51单片机不同之处,P1.0与P1。
1还可以分别作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),编程和程序校验时,P1接收低8位地址。
具体如下表3-4所示.
表3-4引脚功能特性
引脚号
功能特性
P1。
0
T2(定时器/计数器2外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器2捕获/重装触发和方向控制)
5.P2口:
即P2.0~P2。
7,21~28引脚,P2口是一组8位双向I/O端口且带内部上拉电阻的。
P2的输出缓冲器通过吸收或输出电流方式可驱动4个TTL输入。
当其作为输入口时,只需对端口写入‘1’并将内部的上拉电阻把端口拉到高电平。
P1口作输入口时,被外部拉低的引脚因为内部有电阻会输出一个电流。
在访问外部程序存储器/16位地址的外部数据存储器时,P2送出高8位地址。
在访问8位地址的外部数据存储器时,P2口引脚上的内容不会改变.
在对Flash编程和程序校验时,P2也接收高位地址和一些控制信号。
6.P3口:
即P3.0~P3。
7,10~17引脚,P3是一组内部带上拉电阻的8位双向I/O端口。
P3的输出缓冲器通过吸收或输出电流方式可驱动4个TTL输入。
当其作为输入口时,只需对端口写入‘1’并将内部的上拉电阻把端口拉到高电位。
P3口作输入口时,被外部拉低的引脚因为内部有电阻会输出一个电流。
在对Flash编程或程序校时,P3好可以接收控制信号。
P3口不仅可以作为一般I/O口外,还具许多复用功能,如下表3-5所示。
表3—5P3口复用功能
引脚号
复用功能
P3。
0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3。
4
T0(定时器0的外部输入)
P3。
5
T1(定时器1的外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
7.RST:
即9引脚,复位输入。
当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
8。
ALE:
即30引脚,地址锁存控制信号,在访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚也用作编程输入脉冲。
9.PSEN:
即29引脚,外部程序存储器选通信号.当从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。
10。
VPP:
即31引脚,访问外部程序存储器控制信号.为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。
注意加密方式1时,将内部锁定位RESET。
接VCC时,执行内部程序指令.在Flash编程期间,也接收12V电压.
11.XTAL1:
即19引脚,振荡器反相放大器和内部时钟发生电路的输入端.
12.XTAL2:
即18引脚,振荡器反相放大器的输入端。
STC89C52单片机基本能满足本设计硬软件上的要求,故选用其为本设计的单片机控制处理模块的核心。
3。
3红外对管测速模块
测速模块主要由红外对管,LM358比较器和电阻组成。
其电路图如3—6所示。
图3—6红外对管测速电路
红外对管包括红外线发射管、光敏接收管、红外线接收管、红外接头。
当它们配合起来使用时则称为红外对管[6].本设计使用的红外对管为红外线发射管和红外线接收管。
红外发射管:
又称红外线发射二级管,是一种可以将电能直接转换成红外光(不可见光)并辐射出去的二级管发光器件,其结构、原理与普通发光二级管相近,不同在于使用的半导体材料,它的半导体材料为砷化镓(GaAs)、砷铝化镓(GaAIAs)等材料,封装一般采用透明、浅蓝色或黑色的树脂。
红外接收管:
一种可以将光信号转化成电信号的半导体器件,它主要的核心部件是一个特殊材料的PN结,PN结面积比一般的二级管要大,电极面积更小,这样可以更大更多的面积接收入射光线,PN结的结深一般小于1微米。
当红外发射管工作时,发出的红外线照射在红外接收管时,携带能量的红外线光子进入PN结,把能量传给共价键的束缚电子,部分共价电子因此挣脱共价键,由此产生光载流子.它们在反向电压的作用下发生漂移运动,这样使反向电流增大,当光的强度越大,产生的反向电流也越大,这种特效叫做光电导。
若在外电路接上负载,负载就会获得电信号,光强度越大电信号越强。
LM358:
内部包含有两独立的、高增益、内部频率补偿的运算放大器,可用于单电源和双电源两种工作模式,在推荐的工作条件下,电源电流与电源电压无关.可用于传感放大器、直流增益模块和其他单电源供电的使用运算放大器的场合。
在本设计中,LM358用作一个比较器,在有高低电平输入时,输出高电平.LM358性能特征如下:
(1)内部频率补偿;
(2)直流电压增益高(约为100dB);
(3)低输入偏流;
(4)双电源(±1.5V);
(5)电源电压(3V~30V);
(6)低功耗,可用电池供电;
(7)输出电压摆幅大(0~VCC-1。
5V);
(8)单位增益频带宽(约1MHZ);
(9)低输入失调电压和失调电流
(10)差模输入电压范围宽,等于电源电压范围。
在本设计中,用红外对管对电机车轮进行测速,在两个红外对管间装上自制的车轮,车轮有四个扇形空缺。
如图3—7所示。
图3—7红外对管工作方式与车轮形状
当发射管和接收管有车轮遮挡时,红外对管不导通,无电信号输出,LM358比较器输出一个低电平;当发射管和接收管没有车轮遮挡时,红外对管导通,通过LM358比较器,输出一个高电平。
测速模块输出端外接STC89C52的P。
17口,通过单片机定时器功能,计算出单位时间内接收到的脉冲个数,可算出其速度和里程数。
本设计中设定车轮周长为1米,定时器0。
5秒计算一次,轮子转动一周产生4个脉冲,一个脉冲为0。
25米。
则可算出每秒速度V与路程S:
V(每秒速度)=脉冲个数*轮子周长/4*2
S=V*单位时间
3.4DS1302时钟芯片模块
本设计使用的实钟芯片为DS1302,芯片的CLK、I/O、RST分别直接到STC89C52的P2。
3、P2。
4、P2。
5接口,通过程序控制可让系统进行实时计时。
时钟芯片模块电路图如图3—8所示。
图3—8DS1302时钟芯片模块电路图
DS1302是DALLAS公司推出的一款涓流充电时钟芯片,内部的实时时钟和日历电路提供年、月、周、日、时、分、秒的信息,闰年的天数可自动调整。
通过简单的串行接口就可与单片机通信。
具体的参数和功能[7]如下:
(1)工作电压:
2V~5。
5V;
(2)时钟/RAM的读写数据通信方式:
1~~31个字节的字符组;
(3)采用双电源供电(备用电源和主电源);
(4)只需3线接口便可实现通信;
(5)31字节静态RAM;
(6)工作温度:
—40°C~+85°C;
(7)兼容TTL(VCC=5V);
DS1302的管脚配置图如3—9所示。
图3—9DS1302管脚配置图
各个管脚功能如下:
(1)VCC1:
主电源接+5V;
(2)VCC2:
备用电源,当VCC1>VCC2时,由主电源VCC1为DS1302供电,当VCC2>VCC1+O.2V时,则改为VCC2为DS1302供电;
(3)GND:
接地;
(4)SCLK:
串行时钟的输出,输入和输出数据的控制端口;
(5)I/O:
3线接口时的双向数据线;
(6)RST:
复位引脚,输入驱动置高电平启动所有数据传输,两个功能:
(1)可接控制逻辑,允许地址/命令序列进入移位寄存器;
(2)为单字节或单字节传输提供终止方式;
(7)X1/X1:
振荡源,外接32。
768KHZ晶振.
1。
DS1302的控制字节
每一数据传输都是通过一个控制字节开始的,控制字节的高7位必须为逻辑‘1';6位为1表示存取RAM数据,为0时表示存取日历时钟数据,位5~1表示操作单元的地址;位0为1时表示读操作,为0时表示写操作;控制字节的输出都是从最低位开始的。
控制字节如下图3-10所示。
图3-10DS1302控制字节
2.DS1302的数据输入与输出
数据输入从最低位开始,当控制指令字节输入后的下一个SCLK时钟上升沿时,数据就写入了时钟芯片中。
读取数据也是从最低位到最高位,在8位控制指令字节后面的下一个下升沿读出DS1302的数据。
3.DS1302的寄存器
共有12个寄存器,其中与时钟、日历有关的有7个,数据都为以BCD码的形式存放.除此之外还有充电、控制、年份、时钟突发、与RAM相关等寄存器。
3。
5DS1302温度采集模块
在本设计中选择DS18B20温度传感器测量周围环境的温度,DS18B20的输出端口接STC89C53的P2.2接口,通过编写程序读度传感器所测量周围环境的温度,实现系统的测温功能。
DS1302温度采集模块电路图如3—11所示。
图3-11测温模块电路图
本设计中,系统大多在户外工作,接触的环境较复杂,对硬件的要求较高。
DS18B20温度传感器[8]是美国DALLAS公司生产的一款数字智能型温度传感器,不仅设计线路简单,而且不需要其他元器件就可实现测温.还具有价格低廉、硬件体积小、抗干扰力强和精确读度高等众多优点,完全符合本设计的硬软件上的要求.DS18B20和引脚如图3-12所示。
图3—12DS1302和引脚
DS18B20主要参数指标[9]如下:
(1)单线接口,仅需一线就可与微处理器实现相互通信;
(2)可测量温度范围:
—50°C~~+125°C,固有误差1°C
(3)多个DS18B20并联可实现多点测温;
(4)工作电压:
3。
0V~5.5V;
(5)具有唯一序列号;
(6)温度可选择9~12位数字量读出;
(7)待机时零功耗;
(8)正负接反时,不会烧毁,但不能正常工作;
DS18B20引脚功能如下:
(1)GND:
接地;
(2)DQ:
输入/输出数据引脚,总线接口引脚,当使用寄生电源时,可为器件提供电源;
(3)VCC:
电源,当工作在寄生电源时接地。
DS18B20可采用寄生电源和外部供电两种供电模式,本设计DS18B20采用的外部供电。
DS18B20内部包含两个存储器,一个是8字节的高速暂存RANM,另外一个是非易失性可电擦除的EERAM。
DS18B20是1—Wire总线数字温度传感器,通信接口只有一个,当与主机对接的时候,主机可提供ReadROM,MatchROM,SearchROM,SkipROM,AlarmSearch5种ROM操作命令,可控制其中的操作命令指示DS18B20完成测温工作。
表3—13是DS18B20的ROM命令,表3-14是DS18B20功能命令。
表3—13DS18B20的ROM命令
命令
描述
协议
此命令发出后1-Wire总线上的活动
SEARCHROM(搜索)
识别总线上挂着的全部DS18B20的ROM码
F0h
所有DS18B20向主机传送ROM码
READROM
(读)
仅有一个DS18B20挂着总线时,此命令用来读取ROM码
33h
DS18B20向主机传送一个ROM码
MATCHROM
(符合)
主机用ROM指定其中一个DS18B20,只有匹配才会相应
55h
主机向总线传送一个ROM码
SKIPROM
(跳过)
用于指定总线上的所有器件
CCh
无
ALARMSEARCH
(警告)
与SEARCHROM命令相似,只有温度超出警报线的DS18B20才会响应
ECh
超出警报线的DS18B20向主机传送ROM码
表3—14DS18B20功能命令
命令
描述
协议
此命令发出后1-Wire总线上的活动
ConventT
(温度变换)
开始温度转换
44h
DS18B20向主机传送转换状态(不适用于寄生电源)
ReadScratchpad
(读暂存器)
读取暂存器全部的数据
BEh
DS18B20向主机传送9字节的数据
WireScratchpad
(写暂存器)
向暂存器的2、3、4字节写入数据(TH、TL和精度)
4Eh
主机向DS18B20传送3字节的数据
CopyScratchpad
(复制暂存器)
将TH、TL和配置寄存器的数据复制到EEROM
48h
无
RecallE2
(重调E2PRAM)
将TH、TL和配置寄存器的数据从EEROM调用到暂存器中
B8h
DS18B20向主机传送调用状态
ReadPo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 自行车 测速 系统 设计 实现 论文