单片机测速仪课程设计.docx
《单片机测速仪课程设计.docx》由会员分享,可在线阅读,更多相关《单片机测速仪课程设计.docx(31页珍藏版)》请在冰豆网上搜索。
单片机测速仪课程设计
CHANGZHOUINSTITUTEOFTECHNOLOGY
科研实践
题目:
基于单片机的测速器设计
二级学院(直属学部):
延陵学院
专业:
电气工程及其自动化
班级:
10电Y1
学生姓名:
叶翔
学号:
10120731
指导教师姓名:
范力旻
职称:
副教授
2013年12月30日至2014年1月10日
1.绪论
1.1课题研究背景及意义
随着汽车工业和高速公路建设的发展,每年由各种交通事故造成的人员伤亡数目惊人,造成了巨大的经济损失。
据统计,造成各种交通事故的主要原因是车辆的超载和超速行驶,而后者随机性很大,纠章困难,而且由于中国公路条件复杂,不同等级的公路允许的最高速度不同,现有的限速装置难以适应这种情况。
针对这种状况,开发具有智能决策模块的汽车。
近年来随着科技的飞速本设计是发展,为了克服传统模拟车速显示仪表显示数不准确及没有超速提示的缺点,数字化仪表迅速的进入汽车仪表行业,成为一种趋势,本文从驾驶员自身安全角度出发,设计了一种检测车辆超速的报警系统。
该报警系统允许驾驶员通过自带键盘设置本车辆安全行驶的最高速度当车辆处于行驶状态中,该系统通过速度传感器时刻监测机动车辆。
并通过LED显示车辆的实际车速和用户设置的安全参数.当发现车辆速度超过驾驶员设置的最高值时,蜂鸣器开始报警,警告灯不断闪烁,提醒驾驶员减速。
达到防患于未然的目的。
单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。
此设计就是一种利用8051单片机对机动车超速行驶情况进行蜂鸣报警和灯光报警的系统。
该系统结构简单,可靠性高,操作方便,可广泛应用于摩托车、汽车等机动车辆。
1.2课题研究的内容
本文要求设计一个具有数字显示功能的单片机系统,实现车辆当前速度输出,当达到所设定的速度上限时并报警,以保证驾驶人员的人身安全。
首先要进行系统的总体方案设计,在设计中一般应考虑以下几点:
(1)遵循从整体到局部的设计原则。
在过程中,应遵循从整体到局部的设计原则,把复杂难处理的问题分为若干个较为简单的、容易处理的问题,分别加以解决。
(2)经济性要求。
为了获得较高的性能价格比,设计时不应盲目追求复杂高级的方案。
在满足性能指针的前提下,应尽可能采用简单的方案,因为方案简单意味着所用的元器件少,可靠性高,而且比较经济。
(3)可靠性要求。
所谓可靠性是指产品在规定的条件下和规定的时间内完成规定功能的能力。
可靠性指针除了可用完成功能的概率表示外,还可以用平均无故障时间、故障率、失效率或平均寿命等来表示。
2.测速器的系统概论
2.1系统的主要功能
软件分为主程序、数据处理子程序、按键子程序、中断服务子程序、LED数码显示子程序、声光报警器报警程序等。
主程序主要完成硬件初始化、子程序调用以及显示、报警等功能。
数据处理子程序主要完成监测车辆速度即主要是计算出车辆的时速,为报警子程序提供参考数据;按键中断子程序主要实现合法参数的输入;报警子程序主要实现在车辆超速行驶状态下发出报警信号,包括SPEAKER输出子程序和警报灯的闪烁子程序;显示子程序设计采用数字化显示用户设定的最高时速和车辆实际时速,用MAX7219芯片驱动LED进行动态显示
2.2系统需求分析
1.利用霍尔传感器产生里程数的脉冲信号。
2.对脉冲信号进行计数。
实现:
利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。
3.对数据进行处理,要求用LED显示里程总数和即时速度。
实现:
利用软件编程,对数据进行处理得到需要的数值。
最终实现目标:
自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。
2.3测速器的工作流程
对于本课题所研制的车速报警系统而言,其基本出发点就是利用现有工艺条件,采用现代计算机软件处理技术,提高系统的精度等级和工作的稳定性,拓展其功能,并赋予其智能化特征,使报警器不仅能够及时准确地显示车辆的当前速度信息,同时尽可能地减少不必要的人工操作,使报警能随时随地不间断进行并保证报警的工作效率。
有鉴于此,同时根据系统的要求,确定系统总设计方案如图所示:
抢答器工作流程图如图2-1所示
图2-1速度仪工作流程图
工作过程描述:
因条件有限改选为使用按键测速,计数器T1计算每按键一次所用的时间t,就可以计算出即时速度v。
当里程键按下时,里程指示灯亮,LED切换显示当前里程,与当速度键按下时,速度指示灯亮,LED切换显示当前速度。
当显示当前速度超过设定上限速度,便产生报警提示。
3总体设计方案
3.1单片机的选择
ATMEL公司的89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。
89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。
89C52单片机工作电压为2.7~6.0V,可以实现耗电最优化。
由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。
例如当设计仅仅需要一个单片机定时器那么选择89C1051或89C2051即可,而不选择89C52,因为后者的价格较高一些。
当然若程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。
表3-151和52的比较
数据存储器
程序存储器
定时器
中断
51系列
128B
4KB
2
5
52系列
256B
8KB
3
8
在本课题中,由于程序代码生成的.HEX格式的文件大小可能大于4KB,所以选用52系列单片机,即选用ATMEL公司的AT89C52。
3.1.1单片机的引脚功能介绍
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8KBytes的可反复擦写的只读程序存储器(EPROM)和256字节的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大,AT89C52单片机适合于许多较为复杂控制场合应用。
图3-2AT89C52引脚图
AT89C52提供以下标准功能:
8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,5个中断源,一个全双工串行通信口,片内具有振荡器及时钟电路。
AT89C52管脚图如图3-2所示。
3.2测速器方案论证
车速报警系统系统组成主要由单片机控制模块、霍尔传感器、LED数码显示器及声光报警器组成。
针对任务要求,我们发现此项设计在单片机接口芯片以及按键电路上有不同的选择。
因此,设计方案的比较主要对此展开。
3.2.1方案的提出
方案一:
采取通过带有I/O接口和计时器的静态RAM8155芯片与设定速度的键盘电路,速度显示电路,8155芯片具有256个字节的RAM,两个8位、一个6位的可编程I/O口和一个14为计数器。
系统的硬件电路简图如图1-1所示。
图3-3系统硬件电路简图
霍尔传感器用来产生脉冲方波,键盘输入用来设定限制速度,当车速超过最大速度Vm时,声光报警电路将发出报警信号。
单片机外部中断口接霍尔传感器的输出,车轮每转一圈产生一次INT0中断请求,单片机对INT0中断请求的次数进行计数。
并将在1秒内的计数值转换成机动车的时速,送至显示缓冲区以供显示程序调用。
具体算法如下:
设单片机每秒计数值为n,即nr/s。
设机车车轮的周长为dm,则机车的时速V=d×n×3.6km/h。
硬件电路方框图霍尔传感器的输出信号经AT89C51的INT0口输入并存储在内部R0M中,AT89C51外扩一片8155芯片,其PB口作为LED数码管的段选线,PA4~PA0作为LED的位选线和键盘的列线,PCO和PC1口作为键盘的行线,从而组成10个按键的键盘。
AT89C51的P2.6口外接三极管放大器用来驱动声光报警电路,P2.6不断地输出101010⋯⋯的高低电平,驱动声光报警电路报警。
只要使声光报警电路报警重复输出256Hz及350Hz的叫声各0.73s,便可以模拟警车的叫声,产生警示作用。
机车的上限速度Vm通过键盘设置并存储起来。
单片机检测霍尔传感器输出的信息,计算出机车当前的速度v,并送LED显示。
当V≥Vm时,控制声光报警电路报警发出警示音。
方案二:
利用高集成化的串行输入/输出的共阴极LED驱动显示器MAX7219及按键电路实现。
MAX7219芯片用来显示当前及设定速度,当速度超过最大速度Vm时,声光报警电路发出报警,按键设定用来设定报警速度(最大速度Vm)。
3.2.2方案的比较及确定
方案一和方案二比较,方案一采用8155芯片使用单片机引脚较多,采用键盘电路较复杂,而且只能显示当前速度,驾驶员对速度上限透明度不高,总体电路较复杂;方案二采用的MAX7219是一个高集成化的串行输入/输出的共阴极LED驱动显示器,每片可驱动8位7段加小数点的共阴极数码管,可以数片级联,而与微处理器的连接只需3根线,且速度设定只需通过几个按钮实现即可,并且可以实时实现速度上限的增减,因而硬件电路简单,人眼视觉效果好,可以方便的为驾驶员提供信息,易于实现维护,且MAX7219内部设有扫描电路,除了更新显示数据时从单片机接收数据外,平时独立工作,极大地节省了MCU有限的运行时间和程序资源。
4.硬件设计
4.1总体设计结构图
数字抢答器的总体设计结构见图4-1:
图4-1测速器总体结构图
4.2最小系统电路设计
4.2.1时钟频率电路图
单片机必须在时钟的驱动下才能工作.由之前所学的《单片机原理》最小系统内容,在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度,晶振电路的选择在软件部分有描述。
时钟频率电路见图4-2:
图4-2时钟频率电路图
4.2.2复位电路图设计
AT89C52单片机的复位输入引脚RET为AT89C52提供了初始化的手段。
有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序。
在89C52的时钟电路工作后,只要在RET引脚上出现两个机器周期以上的高电平时,单片机内部则初始复位。
只要RET保持高电平,则89C52循环复位。
只有当RET由高电平变成低电平以后,89C52才从0000H地址开始执行程序。
本系统的复位电路是采用按键复位的电路,如图2.12所示,是常用复位电路之一。
单片机复位通过按动按钮产生高电平复位称手动复位。
上电时,刚接通电源,电容C相当于瞬间短路,+5V立即加到RET/VPD端,该高电平使89C52全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。
按下按钮,则直接把+5V加到了RET/VPD端从而复位称为手动复位。
复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。
复位是单片机的初始化操作,只需要给8051的复位引脚RST加上大于两个机器周期(即24个时钟振荡周期)的高电平就可得到8051复位,复位时,PC初始化为0000H,时8051从OUT单元开始执行程序。
除了进入系统正常初始化之外由于程序运行出错或者操作错误而使系统处于死锁状态,为摆脱死锁状态,也需要按复位键使得RST脚为高电平,使8051重新启动。
在系统中,有时出现显示不正常,也为了调试方便,我们需要设计一个复位电路,在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。
复位可以由简单的RC电路构成,也可使用其他的相对复杂但功能更完善的电路。
本系统采用的电路如图3-3所示,工作原理是:
上电瞬间,RC电路充电,RESET引脚端出现正脉冲,只要RESET保持10ms以上高电平,就能使单片机有效的复位。
当时钟频率选用6MHZ时,其中C=22uF,R3=1K欧姆,R4=200欧姆
单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期即4us的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,复位按钮按下后即可输入高电平。
复位时间计算:
当取100us时
为高电平,所以可以达到复位作用。
复位电路见图4-3所示:
图4-3复位电路图
4.2.3电源电路的设计:
直流稳压电源又称直流稳压器。
它的供电电压大都是交流电压,当交流供电电压的电压或输出负载电阻变化时,稳压器的直接输出电压都能保持稳定。
稳压器的参数有电压稳定度、纹波系数和响应速度等。
前者表示输入电压的变化对输出电压的影响。
纹波系数表示在额定工作情况下,输出电压中交流分量的大小;后者表示输入电压或负载急剧变化时,电压回到正常值所需时间。
直流稳压电源分连续导电式与开关式两类。
前者由工频变压器把单相或三相交流电压变到适当值,然后经整流、滤波,获得不稳定的直流电源,再经稳压电路得到稳定电压(或电流)。
这种电源线路简单、纹波小、相互干扰小,但体积大、耗材多,效率低(常低于40%~60%)。
后者以改变调整元件(或开关)的通断时间比来调节输出电压,从而达到稳压。
这类电源功耗小,效率可达85%左右,但缺点是纹波大、相互干扰大。
所以,80年代以来发展迅速。
从工作方式上可分为:
①可控整流型。
用改变晶闸管的导通时间来调整输出电压。
②斩波型。
输入是不稳定的直流电压,以改变开关电路的通断比得到单向脉动直流,再经滤波后得到稳定直流电压。
③变换器型。
不稳定直流电压先经逆变器变换成高频交流电,再经变压、整流、滤波后,从所得新的直流输出电压取样,反馈控制逆变器工作频率,达到稳定输出直流电压的目的。
电源电路的功能和组成每个电子设备都有一个供给能量的电源电路。
电源电路有整流电源、逆变电源和变频器三种。
常见的家用电器中多数要用到直流电源。
直流电源的最简单的供电方法是用电池。
由于系统要求我们使用7805进行稳压,所以我们选择9V的直流电池,由于电池具有成本低、体积小、携带方便、不需要随时跟换等优点,因此比较经济实惠。
7805三端稳压集成电路,电子产品中,常见的三端稳压集成电路有正电压输出的78××系列和负电压输出的79××系列。
顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。
78系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。
7805表示输出电压为+5V。
电源电路见图4-4所示:
图4-4电源电路
4.3输入电路设计
4.3.1键盘电路的设计
在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。
本实验用的是独立式键盘,图中SW1-SW4表示设置测速上限,SW5表示按键测速。
键盘扫描电路图见图4-5:
图4-5抢答器独立键盘图
4.3.2功能键系统设计
功能键是控制系统功能的按键,由于电压和电流都比较小所以选择普通的按钮开关,如型号为:
TD-03B,可以满足条件。
功能键及对应的功能见表4-1:
表4-1功能键及对应功能
序号
字符
功能
1
START
开始
2
N
左起
3
P
加1
4
E/C
测速
5
PUSH
暂停
6
USEING
中断
7
STOP
停止
功能键系统结构图见图4-5:
图4-6功能键系统结构图
4.4输出电路设计
4.4.1数码管显示电路
显示电路由MAX7219芯片完成,MAX7219是一种高集成化的串行输入/输出的共阴极LED显示驱动器。
每片可驱动8位7段加小数点的共阴极数码管。
SEGA~SEGG(图中为A到G)为LED七段显示器段驱动端 ,SEGDP为小数点驱动端;(SEGA~SEGG,DP 驱动显示器7段及小数点的输出电流,一般为40mA左右,可软件调整,关闭状态时,接入GND。
)DIG7~DIG0:
8位数值驱动线。
输出位选信号,从每个LED公共阴极吸入电流,吸收显示器共阴极电流的位驱动线。
其最大值可达500mA,关闭状态时,输出+VCC。
MAX7219与LED数码管连接如下图
图2-3MAX7219与LED数码管连接电路图
4.4.2报警电路的设计
报警模块丰要负责声音报警和灯光报警,报警电路均比较简单,声音报警由单片机引脚接上拉电阻,晶体管及扬声器构成,灯光报警由两个发光二极管构成,电路设计简图如下图
图2-2声光式报警电路
5.Proteus仿真
5.1proteus软件的介绍及使用
5.1.1什么是Proteus软件
Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。
Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如按键、LED、数码管等等。
通过Proteus仿真软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。
5.1.2怎样操作Proteus仿真软件
我使用的Proteus软件是7.10版本的,仿真时只需在AT89C52单片机中加载Keil软件生成的.HEX格式文件,即可启动仿真。
5.2测速器proteus软件的仿真
绘制抢答器的软件仿真图步骤分一下四步:
(1)查找所需要的元器件;
(2)根据电路图进行连线;
(3)是用来写线所对应的坐标,即下图所示的P11等坐标;
(4)加载所写完的C程序生成的.HEX文件即可以仿真。
通过以上步骤,来实现抢答器设计的仿真实现,仿真如下图所示:
仿真开始时的仿真如图6-1:
图5-1开始时的proteus仿真图
测速器开始时用按键来调制速度上限的仿真如图5-2:
5-2设置速度上限的proteus仿真图
测速器开始按键测速仿真如图5-3:
图5-3测速器按键测速的proteus仿真图
测速器速度超过速度上限的仿真如图5-4:
图5-4测速器速度超过速度上限的proteus仿真图
6.实物制作
6.1电路板焊接
一般来说,造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直接响产品的正常运行。
造成焊接质量不高的常见原因是:
①焊锡用量过多,形成焊点的锡堆积;焊锡过少,不足以包裹焊点。
②冷焊。
焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮(不光滑),有细小裂纹(如同豆腐渣一样!
)。
③夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。
若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;若加热温度太高,则焊点下有一层碳化松香的黑色膜。
对于有加热不足的松香膜的情况,可以用烙铁进行补焊。
对形成的黑膜,要"吃"净焊锡,清洁被焊元器件或印刷板表面,重新进行焊接才行。
④焊锡连桥。
指焊锡量过多,造成元器件的焊点之间短路。
这在对超小元器件及细小印刷电路板进行焊接时要尤为注意。
⑤焊剂过量,焊点明围松香残渣很多。
当少量松香残留时,可以用电烙铁再轻轻加热一下,让松香挥发掉,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。
⑥焊点表面的焊锡形成尖锐的突尖。
这多是由于加热温度不足或焊剂过少,以及烙铁离开焊点时角度不当浩成的内。
6.2电路板调试
最小系统的电路不工作,首先应该确认电源电压是否正常。
用电压表测量接地引脚跟电源引脚之间的电压,看是否符合电源电压,常用的是5V左右。
接下来就是检测复位引脚的电压是否正常,EA引脚的电压要正常为5V左右。
如果补焊电源后最小系统还是不能工作,有可能是AT89C52单片机坏掉了,重新选择一个AT89C52单片机焊接。
如果是工作但是不能按需要的功能执行,也可用更换AT89C52单片机方法调试,但在此之前可以选择检查对应的模块是否有焊接问题,若没有再进行更换。
7.总结和展望
7.1科研实践总结
此系统充分利用了单片机小而灵活、成本低、可靠性高等特点,以其为心,成功的设计出了能测算出物体转速的产品,即让我回故了以前所学的知识,又有新的心德体验,开发了我的智力。
在大学毕业之前,能设计出一个电子产品,我深感欣慰,也感到无比的兴奋和激动,大学几年有所收获。
本次设计有个遗憾,就是这个设计实用价值不怎样太高,产品功能较少,当然,这是选题时的一些不足之处。
希望下一次,能设计出可以大量生产的产品,一个更好更实用的产品,来服务于现代化建设。
7.2对未来的展望
经过这次的基于单片机的测速仪的设计,让我学到很多东西,但就我个人感觉而言,学到的东西,对我今后的学习有重要的指导作用,这次学习对我的确很重要,至少我认可了自己,在过去的三年里,还是学到了一些有用的课本知识。
我学到了如何务实,如何去学一门技术,同时也知道了如何学习,什么才是学习。
如果每天都能像这样的学习,大学三年的课程,一年就够了,或许还不要。
这次的学习比我在读高三时都还累。
技术学到了,也许会忘记,学习的方法学到了,是一辈子的财富。
同时这也是值得回忆的。
现在看看自己以前自学的一点东西,学了都有将近一年了,还是一个新手。
这次学习让我知道了,只要想学,一个月就够了,关键是有没有毅力和压力。
自学的更是这样的,没有周围人的压力,就要自己去找压力。
现在学到的东西,在书本上是学不来的,在以后的工作中一定也会用到的,一定要自己经历了,在实践中才学得到。
这短暂的时间也许会对我的未来有大的影响。
很感激学院提供这次学习机会给我,这次学习绝对是一次成长的机会。
希望在以后的工作中,我今天学到的东西,能有用武之地。
附录
1.参考文献
[1]范力旻.《单片机原理及应用技术》.电子工业出版社
[2]李全利.单片机原理及应用技术[M].北京:
高等教育出版社,2004.
[3]蔡朝阳.单片机控制实习与专题制作[M].北京:
北航出版社,2006年.
[4].高伟.单片机原理及应用[M].北京:
国防工业出版社,2008年.
[5]胡文金杨健.《单片机应用技术实训教程》.重庆大学出版社.
[6]杨加国.《单片机原理与应用及C51程序设计》.清华大学出版社,2006年.
[7]楼然苗,李光飞.51系列单片机设计实例[M].北京航空航天大学出版社,2006.
[8]郭培源.电子电路及电子器件.高等教育出版社,2003年.
[9]张齐朱宁西.单片机应用系统设计实验(C51).电子工业出版社,2013年.
2.元器件清单
序号
文字标号
名称
数量
规格型号
备注
1
R1-R8
电阻器
8
1K
2
R9
电阻器
1
10k
3
R10
电阻器
1
4k
4
R11
电阻器
1
4k
5
C1C2
电容
2
30PF
无极性
6
C3
电容
1
10uF
无极性
7
U1
单片机
1
AT89C52
7
LCD
显示器
1
LMO16L
8
D1-D8
二极管
8
LED-RED
9
SW1-SW8
按钮
8
T