《基于单片机的汽车测速系统设计与实现》12000字(论文)_第1页
《基于单片机的汽车测速系统设计与实现》12000字(论文)_第2页
《基于单片机的汽车测速系统设计与实现》12000字(论文)_第3页
《基于单片机的汽车测速系统设计与实现》12000字(论文)_第4页
《基于单片机的汽车测速系统设计与实现》12000字(论文)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ⅢⅢ基于单片机的汽车测速系统设计与实现摘要随着时代的变革以及汽车行业迅猛发展,人们的出行愈发依赖汽车。然而人们往往会容易忽视不安全驾驶所造成的重大后果。交通安全成为危及驾车出行安全的重要因素,因此车辆拥堵的提前预警以及合理限速行驶,将显著的降低交通事故的发生。目前世界上优秀的汽车研发技术产品逐渐运用到汽车安全行驶上,因此,本文按照智慧交通的功能要求,制造出基于STC89C52单片机的控制系统。本文全面具体的阐述了单片机控制系统的功能、原理、硬件、软件的设计,以及各元器件的选择与应用。以STC89C52芯片通过红外传感器感应同一路段车辆的数量,辅以超声波测试车速、电子讯响器、控制开关、按键以及LED等能够准确测量出该路段的车速以及拥堵情况。从而,提示后方来车减速慢行,让其车速实现智能化提示,使得道路上拥堵的发生率大大减少,减少路上拥堵的时间浪费。经过多次模拟实验与调试后的限速提示系统完成了预期设计目标,实现了测速、计数等参数控制。能够基本满足路段拥堵显示以及提示需求。实现让交通疏导更为智能与便利,同时还可以在一定程度上减少交通拥堵的发生概率。关键词:单片机;LED;超声波;红外传感器目录引言 图316所示。图3-16红外检测原理图。3.5.2led指示模块led是最简单且最正规的输出元器件之一。本系统中用了红、黄、蓝分别代表拥堵等级的三、二、一级。在实际的交通路况中,用led显示也能十分明显的表示出拥堵的状况,方便警示来车是否需要减速与绕行。通过led的用途不同,与按键相似的可以分别独立led和矩阵led。矩阵lcd节省端口但编程相当复杂,一般使用的led比较多的时候采用,而独立led编程简单但浪费接口,一般led较少时使用。图3-17按键模块原理图由于本设计中使用的led使用的规模比较少,所以选用独立led为的接线控制方式,并为其设置三个led输出,用于显示拥堵的三个等级,led显示模块原理图如图3-17所示。4软件程序设计总所周知C语言之所以能够广泛应用,这得益于其紧凑简洁的语法,灵活多变的应用以及丰富的数据类型结构。由于设计自由度大,所以其也是当前单片机编程应用最广泛的底层语言之一。无论控制大型亦或者小型设备C语言都是最贴合硬件的语言之一,由于其上述优点,所以是控制系统编写的不二选。4.1编程环境介绍在本设计中的编程软件使用keil作为本设计的编程环境,其不仅可以完美兼容C语言的程序,还可以生成HEX文件在ISIS里仿真。同时因为在keil的环境下C语言的目标代码生成率非常之高且结构紧凑、易懂等优点,所以经过多方比较最终选用其为本设计的编程工具。图4-1KeiluVision4开发界面图本设计使用的仿真工具ISIS是目前最为常见的仿真工具之一。其相对于同类型的仿真软件具有动态模拟、实时仿真验证,过程与实物统一等优势。其作用是大大缩短设计周期,降低设计成本等,对于常见的产品开发具有极大的帮助。4.2程序设计流程4.2.1主程序设计流程本设计的主要核心部分通过红外检测模块实时检测车辆的数量,配合一个1602显示模块与三个led更新车辆数量以及拥堵等级,超声波传感器检测来车的车速与另一个传感器配合显示来车测速,根据拥堵等级警示来车进行减速,当拥堵级别到达最高级时,提示来车绕行。主程序流程原理为:首先将两个lcd1602进行默认配置初始化、其次将两个定时器中断初值及工作模式设置,分别用于计算超声波距离以及定时减少车辆,然后初始化显示内容,最后进入主循环程序,不断地计算车辆、来车测速,更新显示信息,达到实时监控的效果。主循环不断获取输入信号的同时,也将输入的信号进行处理并输出到LCD。首先,显示红外测物传感器检测探头前面是否有物品,有物品的时候,等待探头前面的物品消失,车辆数目加一,更新车辆显示,然后超声波传感器获取一次前方的距离,更新并计算前方车辆的速度显示,拥堵时,警示来车减速或绕行,系统经过图如下图4-2所示。图4-2主程序设计流程图在程序编写中,首先应该明确所需要的的功能以及熟悉硬件数据手册,其次需要将自己的思路绘制成系统框图以便明确编程的框架,最后应该将程序转换成hex文件下载进isis中进行仿真功能验证。在设计的过程中根据系统框图设计的方案调用不同的子程序组成主程序。例如:在主程序的框架中调用延时,中断等子程序进行填充,部分主程序如下所示。voidmain(void){ lcd1_init(); //初始化lcd lcd2_init(); init_timer();//初始化计时器 init_display(); //初始化显示 while(1) { measure_distance(); if(out==0) { //delay(1); if(out==0) { while(out==0); i_cars++; if(i_cars==20) //车辆到20时,更新标记,提示绕行 { update_con=1; } lcd1_update_cars(); //更新车辆显示 } } measure_distance(); //获取测速并更新显示 }}4.2.2超声波测速程序设计使用超声波模块进行数据获取时,需要将Trig端口的电平拉低,时间为10um左右,电平拉低后需等待Echo输出代表模块发送出超声波信号的高电平,当超声破接收到高电平后开始工作。当T0在工作状态时只有将Echo输出为高电平,传感器才能检测到遮挡物的反弹脉冲信号,最后通过公式计算出测量的实际距离,相关程序如下。voidconut_distance(void){ inti=0; //用于遍历显示 uchardisplay[6]="000.00"; unsignedlongdistance=0; //计算距离 unsignedlonggap=0; //两次的距离 unsignedlongspeed=0; uinttime=TH0*256+TL0; TH0=0; TL0=0; lcd1_set_pos(0,7); distance=time*1.7; //distance=(time*1.8446)/100;//11.0592晶振算法 if((distance>=10000)||flag==1) { flag=0; } else { //如果上次的距离,大于当次的距离 if(last_dis>distance) { gap=last_dis-distance; //计算两次距离差 speed=time*gap; } //单位:厘米 display[0]=speed/10000+'0'; display[1]=speed/1000%10+'0'; display[2]=speed/100%10+'0'; display[4]=speed/10%10+'0'; display[5]=speed%10+'0'; } last_dis=distance; for(i=0;i<6;i++) { lcd1_write_data(display[i]); } //dis=(display[1]-'0')*10+(display[2]-'0');} 4.2.3显示程序设计(1)初始化初始化时,首先进行上电延时一般为15ms(首次书写指令应给予足够反应时间),其次设定显示行列数量(16*2),最后进行是否闪烁光标、是否清屏等指令的编写。相关程序如下。 write_cmd(0x0c); //显示移动效果 write_cmd(0x06); write_cmd(0x01);///清空显示}(2)设置显示位置内容显示前需要设定开始与结束的坐标、其显示的内容与数量。由于采用的液晶数字显示器最多显示16位字符,因此如何显示、显示的内容必须斟酌简化。默认的显示流程是从左到右显示,内容从左到右显现出来。其数据的显示位置灵活多变,可根据不同的设计思路或需求进行调整。 本设计使用的液晶交互,内容可根据数据手册将不同需求定制更改。液晶的交互显示内容首先需要通过程序的编写定义内容的显示位置,其次将数据的数组按照设定顺序依次写入即可完成内容的位置,最后将定义的内容进行设置即可完成显示程序的编程。本设计使用的液晶不仅可以定义16*2的字符内容,还可以定义其显示的长度与时间间隔以及显示的顺序,例如:“1”“20”“0.5”首先显示1s,“汉字”“符号”“空格”随后1s间隔闪烁显示总共显示30s。同时还可以根据实际要求定义显示内容的大小、亮度以及向左(向右)的移动速度等都可通过程序的编写进行精准的显示控制。因为1602的设计流程极度简化,所以大大的降低了初学者入门学习的难度。部分液晶程序如上所示。图4-3显示程序设计流程图4.3软件仿真与分析本设计使用的仿真软件具有同类型软件的所有功能且更为灵活多变,元器件库更为丰富,其最大的特点是可视化的电路仿真交互。通过该软件的VSM,设计师可以对各种电路、程序、核心处理器及外围器件等电路进行系统仿真。为了设计更为简洁与便捷本设计采用ISIS进行制作实物前的仿真与调试。同时使用该软件可有效地节省设计时间以及设计成本容错率可在一定程度上放宽。因此经过几款软件的分析与对比最终采用ISIS进行本设计电路及程序的仿真,ISIS的优缺点分析如表4-4所示。表4-4ISIS优缺点分析表优缺点分析优点含有示波器x等功能,一定程度上可以排错仅考虑理想状态,免除元器件可能造成的干扰缺点元件库不足,某些元件无法仿真仿真环境过于理想,程序在仿真正常运行,在实际电路板上或许无法运行图4-4仿真分析结果图在早期的电路设计过程中并没有电路仿真验证这个概念,尤其是当年的科技还远不如现在发达,所以造成电路仿真的结果与实物相差甚远。例如放大电路的准确性以及仿真的延时性与实际不符等问题。在绘制电路图的过程中,电路图并不能代表所有信息,与实物相比太过于理想化,例如磁场的干扰是仿真软件无法模拟的。即使现在的技术正在日益趋于成熟,但仿真依旧无法十全十美的验证设计的成果。虽然数据无法完全模拟现实,但是在技术如此正在伴随着世界日新月异。在ISIS中已经可以模拟大部分的电路以及程序的验证。对于本设计而言已经足以胜任。当原理图与程序完成后,根据原理图制作相应的仿真图,利用该软件的功能将hex文件烧录进MCU进行仿真验证。在程序加载完成后,运行该软件并且验证本设计的功能是否与自己设计的一样,是否达到相应的设计要求。在实时的验证过程中反复测试,保证该程序与该硬件相互兼容且可稳定运行。如图4-4所示。5硬件实现与调试手工焊接是最常用也是最基本的焊接方法,随着科技的飞速发展,目前大型的工厂已经实现了半自动化甚至全自动化焊接。但是由于自动化焊接的局限性,对于元器件的修理以及个人小批量设计依旧采用手工焊接为主。整个调试部分焊接最为重要,如果焊接不良轻则影响功能的稳定,严重的情况下还可能会导致整个控制系统不可用等情况发生。5.1硬件电路制作手工焊接主要有如下四步组成的:第一步开始焊接:首先需要把pcb表面清理干净,注意pcb的位号以及方向。方向不对有可能导致该功能无法实现,表面有脏污有可能导致焊点存在虚焊假焊等情况。其次注意烙铁的加热放上焊锡丝的过程中不能与别的引脚连锡。第二步给焊接升温:完成第一步后,接下来需要加热烙铁、元器件管脚以及焊锡丝。这三者同时加热才可进行焊接,此处需要注意的点为烙铁温度不宜过高并且接触元器件时间不宜过长,否则容易损坏元器件。一般烙铁温度设定在360±20℃即可,接触时间不能超过5s。第三步清理焊接面:当第二部完成后,观察焊点是否有脏污、虚焊、假焊以及焊锡过多过少等情况。主要观察两种情况的,1:锡不足,焊点不够圆润缺锡,在这种情况下应对相应的焊点进行补焊操作,避免焊接出现假焊虚焊导致功能无法实现,增加调试难度。当然补锡的量不宜过多,否者容易造成连锡等情况。2:是焊锡过多,这种情况可用电洛铁放在焊接处拖锡,烙铁的张力会把多余的焊锡带走的,如若不行,只能借助吸锡器把多余的锡剔除了。第四部检查焊点:当前三步都已完成后,最后的步骤应该是整体观察pcba是否有异常,焊点是否牢固,有无连锡等。除了以上焊接步骤,元件的焊接应尽量遵循先“小”后“大”,先“低”后“高”,先“难”后“易”的焊接基本原则。电路板焊接原则及规范如表5-1所示。表5-1电路板焊接原则及规范表电路板焊接原则及规范焊接的元器件遵循先小后大的原则焊点需成小山堆状,且必须认真检查防止虚焊及焊点有杂质放置元件时需注意其极性、大小及放置方向焊点焊锡应适量,不应过多或过少烙铁温度应大于焊锡熔点(220℃)且小于400℃5.2系统调试与分析在整机上电调试前的准备工作应使用万用表检测一下,电源正负极之间是否短路等严重的电源问题,在多次检擦后确保系统焊接没有问题,还需要进行再次观察pcba是否与设计一致且无明显硬件问题。例如元器件是否按照位号放置,元器件正负极是否有相连等问题。在pcb平台搭建完成后,需要对程序功能进行调试。对比设计思路、仿真分析、实物程序是否存在差异。若功能有问题,则需要继续进行实物与程序的调试调试程,反复进行验证与调试,直到实物所有功能都可以正常实现为止。在pcb平台搭建完成后,需要对程序功能进行调试。对比设计思路、仿真分析、实物程序是否存在差异。若功能有问题,则需要继续进行实物与程序的调试调试程,反复进行验证与调试,直到实物所有功能都可以正常实现为止。5.2.1硬件测试硬件整体测试的基础工具也是必不可少的工具就是万用表。主要使用万用表辅以、直流电源、烙铁或示波器等对pcba进行整体调试,其主要目的就是检测pcba的各个模块是否正常输入、输出以及导通。其调试主要分为两个环节动态调试和静态调试。一、静态调试,其中静态调试主要分为以下三种:(1)首先进行肉眼观察焊点是否饱满,元件与元件之间是否存在短路、断路等现象。(2)其次使用万用表测量,查看电源是否短路,同时测量元器件管脚是否连接正确,是否存在开路或者短路等情况。(3)最后的上电检查必须是在前两个步骤都验证无问题后才可进行上电调试,上电后还需耐心观察元件是否正常运行,再逐一测试其功能的可靠性。二、动态调试:动态测试的要领就是灵活多变,在上电调试过程中观察是否正常,元件或模块的工作是否满足设计开发分需求。在这同时,有何异常都应停止调试,防止硬件烧坏,影响性能甚至无法使用。硬件实物调试图如图5-1所示图5-1硬件实物图5.2.2软件测试软件调试步骤如下:(1)在Keil4软件中编译事先写好的程序,确保五警告与报错提示(2)如若有警告与错误提示则需要先找到问题并解决后才可进行下一步(3)将生成的hex文件导入ISIS软件进行仿真,看功能是否正常,不正常则需要重新修改程序,功能正常即可烧录进入实物调试(4)实物调试过程中观察功能是否正常,灵敏度等是否需要根据实物进行调整。keil软件调试结果如图5-2所示。图5-2提示信息无错误5.2.3整机联调在上述的软硬件调试完成后,还需要进行实物的模拟演示,测试其功能的灵活、灵敏以及可靠程度。当系统开始通电以后,需要等待液晶正常显示车辆信息。用手划过红外检测模块,观察车辆是否增加,车辆到达一定数量,LCD能否实时更新拥堵等级以及LED拥堵警示能是否正常显示,一定时间后,观察车辆是否能够自动减少,用手摸在超声波模块前面来回晃动,观察LCD能否正常检测到前方物品的晃动速度,整机是否正常。图中上下两块显示屏是LCD1602模块,每个显示模块旁边都有一个白色的可调电阻,可以调节LCD1602的背光对比度,实现不同的显示效果。图中的显示器第一行显示的是右下角的超声波模块检测到的速度,调试时,需要用物品在超声波模块前滑动,观察数值变化,是否正常,第二行显示的是右边红外检测模块计算到通过车辆的数量,当有车辆在红外检测模块前面经过时,红外检测模块检测到车辆,LCD显示模块车辆数目加1。为了模拟实际效果,程序中还采用了计时器,每五秒车辆数目自动减1。图中下面的LCD1602第一行显示“Congestion”,第二行显示的是拥堵等级和需要限制的速度,拥堵等级分0到3级,当通过车辆少于10辆时,为正常通行情况,此时不拥堵,显示0限制的速度为初始值60;当车辆超过10辆时,此时为轻度拥堵状态,显示拥堵等级为1限制的速度值40,右边蓝色警示灯亮,当车辆超过15辆时,此时为中度拥堵状态,显示拥堵等级为2,右边黄色警示灯亮限制的速度值20,当车辆超过20辆时,此时为高度拥堵状态,显示拥堵等级为3限制的速度值10,右边红色警示灯亮,显示器第一行提示前方车辆绕行,显示为“Pleasebypass”,如图5-3所示。图5-3硬件调试图6结论由于经济与科学技术不断提高,人们外出的次数越来越多,对于安全及效率外出的要求增长的很快。如何提高效率、降低风险,已成为交通道路发展的瓶颈。因此,更高效、更智能、控制精度更高的智能限速系统给此问题提供了解决方案。经广泛调研,本文采用STC89C52单片机作为本文的重点,在此基础上创新出一款更加利民的智慧交通系统,实现智能限速的控制。本设计主要研究内容如下:首先,在对比分析各种实现方案的基础上,确定全局制造方向并实现方案所需的控制芯片及传感器等元件的择取。其次,以单片机为控制核心进行硬件电路设计。在设计单片机最小系统的基础上完成了各控制系统及传感模块的硬件电路设计,结合超声波与红外检测模块搭建了较为行车监控系统。在本设计中不仅采用了超声波实时获取来车车速,还通过红外检测模块实时获取经过的车辆,计算分析车况拥堵情况,并通知来车适当减速。然后,在确定系统软件设计流程的基础上进行程序设计,将系统程序划分几个部分,其中包括:延时、实时显示、中断、及主程序等各个程序。编译的程序根据设定的间隔读取超声波数据,再由程序处理后将数据呈现在液晶上与用户交互。应用软件仿真针对所编程序进行了软件与硬件的仿真分析,在设计的系统模型中对各个模块进行了相应的测试与复检。同时对其核心功能如:LED记录与提示拥堵情况、定时模拟车辆减少、LED提示绕行等均进行了测试。最后,做好系统硬件实物电路,完成了电路元器件安装及测试。经系统调试完成后的行车监控控制系统完成了预期设计目标,实现了行车监控系统。经调试完成后的行车监控控制系统完成了预期设计目标,实现了行车监控系统车辆测速检测。本设计在能够适应复杂工作情况的同时,还具有一定的实用价值,能够在驾车出行日益增多的今天一定程度上减少事故发生、降低拥堵频率。但因时间所限,行车监控系统的超声波计算测速与红外检测传感器计算来车数量仍存在进一步提升的空间,有待于进一步加以研究,进而满足更为稳定、可靠的行车监控系统。参考文献郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009.林嘉.基于89S52的LCD1602程序设计[J].电脑知识与技术,2012,8(26):6376-6378.殷斌.基于单片机的温度控制系统的研究[J].机电工程,2015,32(06):887-890.严敏.1602液晶显示计数器的设计与实现[J].焦作大学学报,2016,30(04):82-84.隋清江.基于PROTEUS的LCD1602接口设计与仿真[J].微计算机信息,2010,26(19):171-172.吴汉清.单片机温度控制器[J].电子制作,2006(08):17-18.徐晓光.数字逻辑与数字电路[M].北京:机械工业出版社,2008.黄智伟.印刷电路板设计技术与实践[M].北京:电子工业出版社,2013.张俊谟.单片机中级教程[M].北京:北

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论