欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    基于单片机的汽车倒车雷达系统设计(含程序).docx

    • 资源ID:845514       资源大小:146.48KB        全文页数:18页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的汽车倒车雷达系统设计(含程序).docx

    基于单片机的汽车倒车雷达系统设计摘要随着社会经济的开展交通运输业日益兴旺,汽车的数量在大副攀升。交通拥挤状况也日趋严重,撞车事件屡屡发生,造成了不可防止的人身伤亡和经济损失,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车倒车防撞预警系统势在必行。本设计是利用最常见的超声波测距法来设计的一种基于单片机的汽车倒车雷达系统。本设计的主要是基于STC89C52单片机利用超声波的特点和优势,将超声波测距系统和STC89C52单片机结合于一体,设计出一种基于STC89C52单片机的汽车倒车雷达系统。该系统采用软、硬件结合的方法,实现了汽车与障碍物之间距离的显示以及危险距离的声光报警等功能。本设计论文概述了超声波检测的开展及根本原理,阐述了超声波传感器的原理及特性。在超声波测距系统功能和STC89C52单片运用的根底上,提出了系统的总体构成,对系统各个设计单元的原理进行了介绍,并且对组成各单元硬件电路的主要器件做了详细说明和选择。本设计论文还介绍了系统的软件结构,并通过编程来实现系统功能和要求。关键词:汽车倒车雷达、STC89C52、超声波、测量距离、显示距离、声光报警第一章绪论课题设计的目的和意义随着汽车的普及,越来越多的家庭拥有了汽车。交通拥挤状况也随之出现,撞车事件也是经常发生,人们在享受汽车带来的乐趣和方便的同时,更加注重的是汽车的平安性,许多“追尾"事故都与车距有着密切的关系。为了解决这个平安问题,设计一种汽车测距防撞报警系统势在必行。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比拟迅速、方便、计算简单。所以超声波测距法是一种非常简单常见的方法,应用在汽车停车的前后左右防撞的近距离测量,以及在汽车倒车防撞报警系统中,超声波作为一种特殊的声波,具有声波传输的根本物理特性一折射,反射,干预,衍射,散射。超声波测距是利用其反射特性,当车辆后退时,超声波测距传感器利用超声波检测车辆前方的障碍物位置,并利用LED显示出来,当到达一定距离时,系统能发出报警声,进而提醒驾驶人员,起到平安的左右。通过本课题的研究,将所学到的知识用在实践中并有所创新和进步。该设计可广泛应用在生活、军事、工业等各个领域,它需要设计者有较好的数电、模电知识,并且有一定的编程能力,综合运用所学的知识实现对超声波发射与接收信号进行控制,通过单片机程序对超声波信号进行相应的分析、计算、处理最后显ZK在液晶显Z5屏上。第二章设计原理及总体方案2.1 本设计的研究方法本设计选用USToO超声波传感器。了解超声波测距的原理的,只有对理论知识有一定的学习才能运用到实际操作中。根据原理设计超声波测距仪的硬件结构电路。对设计的电路进行分析能够产生超声波,实现超声波的发送和接收,从而实现利用超声波测距的方法测量物体之间的距离。具体设计一个基于单片机的超声波测距器,包括单片机控制电路,发射电路,接收电路,液晶显示电路,声光报警电路。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比拟方便,计算处理也较简单,并且在测量精度方面也能到达农业生产等自动化的使用要求。超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用STC89C52单片机作为控制器,超声波驱动信号用单片机的定时器。2.3 系统整体方案的论证超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的上下成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。第三章系统的硬件设计2.1 系统的总体框图照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波收发模块、声光报警模块共四个模块组成。单片机主控芯片使用51系列STC89C52单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。模拟电压信号US-IOO 超 声波收发模块中断接收 触发电路计算ff18距显示声光报警STC89(52里片机图3T:系统设计框图硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路、报警输出电路、供电电路等几局部。单片机采用STC89C52,系统晶振采用12MHZ高精度的晶振,以获得较稳定时钟频率,减小测量误差。2.2 US-100超声波收发模块该超声波收发模块可自己产生40kHz的方波,并经放大电路驱动超声波发射探头发射超声波,发射出去的超声波经障碍物反射后由超声波接收探头接收。经接收电路的检波放大,积分整形,在ECHO引脚上产生方波脉冲,该脉冲宽度与被测距离成线性关系。具体过程如图2所示。触发信号I""IH)IS高电平II图2US-Io0超声模块次得发射0接收的时间差原始的测距结果模块启动温度传感器测温口测读当前环境温度值输出回响信号根据环境温度对制研结果进 行校正输出,距离更准确温度校正后,回响电平宽度只与距离有关,与环境温度无关.波收发模块工作时序图发射探头发出信号错环发出8个WKHZl冲上图说明:只需要在Trig/TX管脚输入一个IOUS以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号,当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过ECho端输出一个高电平,可以根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2设1为测量距离,t为往返时间差,超声波的传播速度为c那么有(2-1)而声波在空气中的传播速度为:(2-2)式中T为环境温度;c。为绝对温度时的速度,是常数。从上述两式可以推出:(2-3)注:因为距离值己经经过温度校正,所以在此不需考虑温度补偿问题,声速选择340ms即可。使用US-100超声波收发模块进行距离测量测量时,单片机只需要输出触发信号,并监视回响引脚,通过定时器计算回响信号宽度,并换算成距离即可。该模块简化了发送和接收的模拟电路,工作稳定可靠,其参数指标如表1所示。应注表1US-IOo模块参数电气参数US-100超声波测距模块意测工作电压量V1J静态电流2mA.作温度-20+70度期必输出方式电平或UART(跳线帽选择)感应角度小于15度须在探测距离2cm-450cm毫探测精度+1%60UART模式下串口配置波特率9600,起始位1位,停止位1位,数秒以据位8位,无奇偶校验,无流控制。上,防止发射信号对回响信号的影响。模块共有两个接口,即模式选择跳线和5pin接口。模式选择跳线接口设置为当安装上短路帽时为IJART(串口)模式,拔掉时为电平触发模式。2.3 单片机电路单片机选用高性能的STC89C52,其管角如图3所示:图3STC89C52单片机管脚图该芯片为52内核8位单片机,兼容Intel等52内核单片机,支持ISP下载,适用于常用检测控制电路。由STC89C52组成的单片机系统原理图如图4所示。图中TRlG引脚为单片机发送触发信号的引脚,ECHo引脚为US-I(X)模块送回回响信号的引脚,接至单片机外部中断P3.2脚上,可以利用外部中断测量回响信号宽度。当测量距离小于20Cm时,单片机通过管脚P3.6发出灯光报警信号,触发LED报警灯亮,同时通过管脚P3.7发出声音报警信号,该信号用以触发蜂鸣器鸣响报警。"ZZZM”3U>T"B,0QJ】 MbURn jPoWJ HV1>1KaMI>2 MU) RWAXX NJ/2S XWAXMnJ I 力3 F)VAB MXAQ “All ”»“3】317缮图4单片机系统及超声波模块接口原理图蜂鸣器报警电路图5所示为蜂鸣器报警电路。由于单片机管脚的输入比输出电流大,因此电路设计为低电平输出时蜂鸣器响,高电平关闭。当P3.7脚输出低电平时,PNP型三极管8550导通,有集电极电流通过,蜂鸣器鸣响。当P3.7脚输出高电平时,三极管截止,蜂鸣器关闭。图5蜂鸣报警电路显示局部采用SMC1602液晶屏进行数据显示,其主要技术参数为:显示容量16*2个字符芯片工作电压表2液晶屏技术指标工作电流2.OmA(5.OV)模块最正确工作电压字符尺寸2.95*4.35(WXH)mm接口信号说明表如表3表3液晶屏借口信号说明编号符号引脚说明编号符合引脚说明1VSS电源地9D2DataI/O2VDD电源正极IOD3DataI/O3VL液晶显示偏压信号11D4DataI/O4RS数据/命令选择端(H/L)12D5DataI/O5R/W读/写选择端(HZL)13D6DataI/O6E使能信号14D7DataI/O7DODataI/O15BLA背光源正极8DlDataI/O16BLA背光源负极与单片机的接口电路如图6所示图6LCD与单片机的接口电路2.6系统总电路图通过对单片机主控模块、显示模块、超声波收发模块、声光报警模块共四个模块进行结合,可以绘出系统总的电路图如图7:图7系统总电路图第四章系统的软件设计本设计软件主程序流程图如图8所示,(a)为主程序流程图,(b)为外部中断子程序流程图。(a)主程序流程图(b)外部中断流程图图8程序流程图3. 2主程序详见附录4. 3程序说明系统加载5V电压后启动,数据、定时器、LCDI602进行初始化,程序进入While循环,超声波测距模块触发,发射超声波并检测有无回波,如果有回波,那么超声波模块发射电平信号,驱使单片机进行计算,将数据显示在LCD1602上,如果无回波那么跳过判断。程序在计算完距离后与20cm进行比拟,如果小于20cm,那么驱动蜂鸣器和LED报警灯进行报警,如果大于20cm,那么进入一个60ms的延时,继续while循环进行测量。硬件设计图结论本文主要讲述了倒车雷达,即超声波测距仪的原理和设计方法,设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离,并以数字的形式显示测量距离,在距离小于50cm时发出报警。超声波测距的原理是利用超声波的发射和接收,根据超声波传播的时间来计算出传播距离。超声波测距仪硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三局部。单片机采用STC89C51,采用12M高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机控制超声波发射与接收模块进行信号的发射与接收。显示电路采用LCD显示屏进行显示。附录:(1)头文件和一些宏定义/*超声波测距仪*/*(液晶屏显示)*/*晶振.0592MHz*孝*/#include<reg52.h>#include"1602h'IypedefunsignedcharU8;*definedforunsigned8-bitsintegervariable无符号8位整型*/IypedefsignedcharS8;*definedforsigned8-bitsintegervariable有符号8位整型*/typedefunsignedintUl6;*definedforunsigned16-bitsintegervariable无符号16位整型*/IypedefsignedintS16;*definedforsigned16-bitsintegervariable有符号16位整型*/IypedefunsignedlongU32;*definedforunsigned32-bitsintegervariable无符号32位整型*/IypedefsignedlongS32;*definedforsigned32-bitsintegervariable有符号32位整型*/typedeffloatF32;*singleprecisionfloatingpointvariable(32bits)单精度浮点数32位长度*/typedefdoubleF64;*doubleprecisionfloatingpointvariable(64bits)双精度浮点数64位*/"定时器0的定时值为ImS,即11059/12=922个时钟脉冲,其补为65536-922:64614#defineSYSTEMCLK921600/11059200/12#defineTOCLK921600/110592(X)/12#defineTlCLK921600/11059200/12#defineT1MER0HOxFC/64614/256=252#defineTIMER0L0x66/54447%256=102(2)管脚、常量、变量定义和函数声明管脚定义sbitTrig=P13;回波必须接在外部中断引脚上报警灯,低电平亮/报警蜂鸣器/测量成功标志显示标志sbitEcho=P32;sbitLedAlann=P36;sbitBeep=P37;定义标志volatilebitFlagSucceed=0;volatilebitFlagDispIay=0;"定义全局变量U16DisplayCount=O;U16time=0;U32distance=O;函数声明voiddelay_20us();voidSIartModule。;voidINTOJnit(Void);voidData_Init();voidTimerOJnit();voidTimerl_Init();(3)各子程序/20us延时程序,不一定很准voiddelay_20us()(U16bt;for(bt=0;bt<1OOibt+);/8M晶振是Ioo数据初始化voidData_Init()(T11g=0;distance=0;DisplayCount=0;戈外部中断初始化函数voidINTOJnit(Void)ITO=0;/负边沿触发中断EXO=O;/关闭外部中断外部中断处理用做判断回波电平voidINT0_ISR(void)interrupt0time=TH1*256+TL1;/取出定时器的值FIagSucceed=1;/置成功测量的标志EXO=O:/关闭外部中断定时器0初始化,16位定时模式,初始化为ImS中断一次。voidTimerOJnitOTMOD=OxII;"定时器0和I工作在16位方式THO=TIMER0H;TLO=TIMER0L;TRO=1;启动定时器ETO=1;允许定时器0中断/定时器0中断,用做显示计时voidTimerO-ISR(void)interrupt1/定时器0中断是1号THO=TlMER0H;TLO=TIMER0L;DispIayCount+;if(DispIayCount>=1000)/I秒钟显示一次FlagDisplay=1;DisplayCount=0;/定时器1初始化,16位计数模式,时钟为11059200/12=921600HZ/60ms计数为55296,即0xD800voidTimerl_Init()TMOD=OxII;定时器0和1工作在16位方式THl=0;TLl=O;ETl=1;启动模块,Trig管脚20US正脉冲voidStartModule。启动模块Trig=I;启动一次模块delay_20us();Trig=O;*名称=MainO功能:主函数*:|:*;(:*:|:*/voidmain()U16iJ;EA=O;INTOJnitO;TimeiOJnitO;定时器0初始化Timer1Jnit();/定时器1初始化Datanit();EA=1;1.1602Jnit();1.1602_string(1,1/'Welcometomy");1.1602_string(2,1/'distancemeter!”);"延时for(i=0;i<1000;i+)for(j=0<1000+÷);)while(l)EA=0;以下为一次检测过程:先发出Trig电平,翻开外部中断,清零Tl,"最后在外部中断下降沿触发时取出Tl当前值,计算出Trig脉冲宽度。Start_Module();While(EChO=0);等待Echo回波引脚变高电平FlagSucceed=0;EXO=I;THl=O;TLl=O;TFl=O;TRl=I;启动定时器1开始计数EA=1;while(THl<80);盲区TRl=0;关闭定时器IEXO=O;关闭外部中断Jf(FlagSucceed=I)一次测试成功,那么计算距离,单位为厘米distance=time1.085;计算得到脉冲时间(以微秒为单位)将微秒时间转变成厘米距离的算法:Y米=(X秒*344)/2X秒=(2*Y米)/344=)>X秒=0.0058*Y米二=厘米=微秒/58distance/=58;如果距离小于20cm,那么声光报警if(FlagSucceed=I)&&(distance<20)1.edAlarm=0;Beep=0;elseLedAlarm=1;Beep=1;if(FlagDisplay=I)/I秒显示时间到If(FlagSucceed=O)/LCD提示无回波1.l602_string(1,1,''OutOfRange(0-4m)r,);1.1602.string(2,17,');else/LCD显示数据Ll602_string(1,1,'DistanceResultf');1.1602_string(2J,Mcm”);1.1602_int(2,5,distance);HagDisplay=0;3、显小程序*描述:该程序实现了对液晶1602的控制。include,'1602.h#include',math.h"*名称:delay() 功能:延时,延时时间大概为I40US。 输入:无 输出:无*/voiddelay()inti,j;for(i=0;i<=10;i÷÷)for(j=0;j<=2;j+)*名称:Convert(ucharIn_Date) 功能:因为电路设计时,P0.0-P0.7接法刚好了资料中的相反,所以设计该函数。 输入:1602资料上的值 输出:送到1602的值*:!:*;!:*/UCharConvert(ucharIn-Date)UCharifOUt-Date=0,temp=0;for(i=0;i<8;i+)temp=(In-DatC»i)&0x01;Out_Date=(temp«(7-i);retunOut_Date;*/returnIn_Date;/*木* 名称:enable(uchardel) 功能:1602命令函数 输入:输入的命令值*输出:无voidenable(uchardel)PO=Convert(del);RS=O;RW=O;E=O;delay();E=I;delay();*名称:Write(UChardeI) 功能:1602写数据函数 输入:需要写入1602的数据 输出:无*/voidwrite(uchardel)PO=Convert(del);*i:*;!;* 名称:L1602Jnit() 功能:1602初始化,请参考1602的资料 输入:无 输出:无*/voidL1602_init(void)enable(0x01);enable(0x38);enable(xc);enable(0x06);enable(xd);/*木*名称:Ll602_char(ucharhang,ucharlie,charsign)*功能:改变液晶中某位的值,如果要让第一行,第五个字符显示”b”,调用该函数如下1.1602.char(l,5,V)输入:行,歹U,需要输入1602的数据*输出:无*/voidL1602_char(ucharhang,ucharlie,charsign)uchara;if(hang=1)a=0x80;if(hang=2)a=OxcO;a=a+lie-1;enable(a);write(sign);* 名称:LI602_string(UCharhang,ucharlie.uchar*p)调用该函数如下* 功能:改变液晶中某位的值,如果要让第一行,第五个字符开始显示"abedeF,LI602_string(l,5,Mabcdef;”)* 输入:行,列,需要输入1602的数据* 输出:无voidL1602_string(ucharhang,ucharlie,uchar*p)uchara;if(hang=1)a=0x80;if(hang=2)a=OXC0;a=a+lie-1;enable(a);while(l)if(*p=,0,)break;write(*p);p+:1显示整型的温湿度数据用,共占用4位,其中一位符号位voidL1602_int(ucharhang,ucharlie,intnum)inttemp;intgewei,shiwei,baiwei,sign;if(num>=0)sign=0;elseHsign=1;temp=abs(num);baiwei=temp/100;temp=temp-baiwei*100;shiwei=temp/10;gewei=temp-shiwei*10;num=abs(num);if(num>=100)if(sign=1)负数1.1602_char(hang,lie,'-,);1.1602_char(hang,lie÷1,baiwei÷48);1.I602_char(hang,lie+2,shiwei+48);1.1602_char(hang,lie÷3,gewei÷48);elseif(num>=10)if(sign=1)1.1602一Char(hang,lie+1J-');1.1602_char(hang,lie+2,shiwei+48);1.1602_char(hang,lie+3,gewei+48);elseif(sign=1)1.1602-Char(hang,lie+2,三,);)1.1602_char(hang,lie+3,gewei+48);

    注意事项

    本文(基于单片机的汽车倒车雷达系统设计(含程序).docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开