1、前 言随着汽车的普及,越来越多的家庭拥有了汽车。汽车的数量逐渐增加,造成公路、街道、停车场、车库等越来越拥挤。汽车驾驶员越来越担心车的安全了,其中倒车就是一个典型。我们所设计的汽车倒车雷达主要是针对汽车倒车时人无法目测到车尾与障碍物的距离而设计开发的。该设计将51单片机技术与超声波的测距技术、传感器技术等相结合,可检测汽车倒车,其障碍物与汽车的距离,通过发光二极管闪烁的频率来显示距离,障碍物越近,闪烁的频率越高,并根据障碍物与车尾的距离远近实时发出报警。虽然我们设计的倒车雷达和轿车上的倒车雷达有很大的差别。但这个设计把我们平时学到的理论运用到实践里去了,同时教会了我们怎么样使用实验室的仪器,提
2、高了我们动手实践的能力和文字表达能力。1. 汽车倒车雷达的初步认识1.1 汽车倒车雷达的原理倒车雷达是根据蝙蝠在黑夜里高速飞行而不会与任何障碍物相撞的原理设计开发的。探头装在后保险杠上,主要于前后保险杠上安装。探头能够以最大水平120度垂直70度范围辐射,上下左右搜寻目标。它最大的好处是能探索到那些低于保险杠而司机从后窗难以看见的障碍物,并报警,如花坛、路肩、蹲在车后玩耍的小孩等。倒车雷达的显示器装在后视镜上,它不停地提醒司机车距后面物体还有多少距离,到危险距离时,蜂鸣器就开始鸣叫,以鸣叫的间断/连续急促程度,提醒司机对障碍物的靠近,及时停车。倒车雷达就相当于超声波探头,从整体上来说超声波探头
3、可以分为两大类:一是用电气方式产生超声波,其二是用机械方式产生超声波,鉴于目前较为常用的是压电式超声波发生器,它有两个电晶片和一个共振板,当两极外加脉冲信号,它的频率等于压电晶片的固有震荡频率时,压力晶片将会发生共振,并带动共振板振动,将机械的能转为电信号的这一过程,这就成了超声波探头的工作原理。为了更好地研究超声波和利用起来,人们已经设计和制造出很多超声波发声器,超声波探头加以运用在使用汽车倒车雷达上。这种原理用在一种非接触检测技术上,用于测距来说其计算简单,方便迅速,易于做到实时控制,距离准确度达到工业实用的要求。倒车雷达用于测距上,在某一时刻发出超声波信号,在遇到被测物体后的射回信号波,
4、被倒车雷达接收到,得用在超声波信号从发射到接收回波信号这一个时间而计算出在介质中的传播速度,这就可以计算出探头与被探测到的物体的距离。1.2 汽车倒车雷达的组成倒车雷达有这几部分构成: 超声波传感器:用于发射及接收超声波信号,通过超声波传感器可以测量距离。 主机:发射正弦波脉冲给超声波传感器,并处理其接收到的信号,换算出距离值后,将数据与显示器通讯。 显示器或蜂鸣器:接收主机距离数据,并根据距离远近显示距离值和提供不同级别的距离报警音。2. 系统硬件设计按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成系统设计框图如图1所示。单片机主控
5、芯片使用51系列AT89S51单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。系统设计框图如图1所示。显示模块超声波接收模块供电单元单片机控制系统AT89C51超声波发射模块图1系统设计框图硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路、报警输出电路、供电电路等几部分。单片机采用AT89S51,系统晶振采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P2.7端口输出超声波换能器所需的40kHz的方波信号,P3.
6、5端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3口,数码管位驱运用PNP三极管S9012三极管驱动。2.1 AT89S51单片机AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。AT89S51集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功
7、能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数: 全双工串行UART通道 低功耗空闲和掉电模式 中断可从空闲模唤醒系统 看门狗(WDT)及双数据指针 掉电标识和快速编程特性 与MCS-51产品指令系统完全兼容 4k字节在系统编程(ISP)Flash闪速存储器 灵活的在系统编程(ISP字节或页写模式) 4.05.5V的工作电压范围 2个16位定时/计数器 全静态工作模式:0Hz33MHz 32个可编程I/O口线 1000次擦写周期 6个中断源 三级程序加密锁 1288字节内部RAM除此以外AT89S51还提供一个5 向量两级中断结构,片
8、内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。AT89C51引脚图如图2所示。图2 AT89C51引脚图2.2 超声波测距的系统及其组成本系统由单片机AT89S51控制,包括单片机系统、发射电路与接收放大电路和显示电路几部分组成。硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。单片机采用AT89S51。采用12MHz高精度的晶振,以获得较
9、稳定时钟频率,减小测量误差。单片机用P2.7端口输出超声波换能器所需的40kHz的方波信号,P3.5端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3口,数码管位驱运用PNP三极管S9012三极管驱动。超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机P3.5输入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器T0计时,当检测到P3.5由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声速相乘再除以2即可得到测量值,最后经3
10、位数码管将测得的结果显示出来。2.2.1 超声波测距单片机系统超声波测距单片机系统主要由:AT89S51单片机、晶振、复位电路、电源滤波部份构成。由K1,K2组成测距系统的按键电路。用于设定超声波测距报警值。超声波测距单片机系统如图3所示。图3 超声波测距单片机系统2.2.2 超声波发射、接受电路超声波发射电路由电阻R1、三极管BG1、超声波脉冲变压器B及超声波发送头T40构成,超声波脉冲变压器,在这里的作用是提高加载到超声波发送头两产端的电压,以提高超声波的发射功率,从而提高测量距离。接收电路由BG1、BG2组成的两组三级管放大电路构成;超声波的检波电路、比较整形电路由C7、D1、D2及BG
11、3组成。40kHz的方波由AT89S51单片机的P2.7输出,经BG1推动超声波脉冲变压器,在脉冲变压器次级形成60VPP的电压,加载到超声波发送头上,驱动超声波发射头发射超声波。发送出的超声波,遇到障碍物后,产生回波,反射回来的回波由超声波接收头接收到。由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大,整形,最后输出一负跳变,输入单片机的P3脚。超声波发射如图4所示,接收电路如图5所示。图4 超声波测距发送单元图图5 超声波测距接收单元该测距电路的40kHz方波信号由单片机AT89S51的P2.7发出。方波的周期为1/40ms,即25s,半周期为12.5s。每隔半周期时间
12、,让方波输出脚的电平取反,便可产生40kHz方波。由于单片机系统的晶振为12M晶振,因而单片机的时间分辨率是1s,所以只能产生半周期为12s或13s的方波信号,频率分别为41.67kHz和38.46kHz。本系统在编程时选用了后者,让单片机产生约38.46kHz的方波。由于反射回来的超声波信号非常微弱,所以接收电路需要将其进行放大。接收到的信号加到BG1、BG2组成的两级放大器上进行放大。每级放大器的放大倍数为70倍。放大的信号通过检波电路得到解调后的信号,即把多个脉冲波解调成多个大脉冲波。这里使用的是I N 4148检波二极管,输出的直流信号即两二极管之间电容电压。该接收电路结构简单,性能较
13、好,制作难度小。2.2.3显示电路本系统采用三位一体L E D 数码管显示所测距离值。数码管采用动态扫描显示,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3口,数码管位驱运用PNP三极管S9012三极管驱动。系统显示电路如图6所示。图6 系统显示电路2.2.4 供电电路本测距系统由于采用的是LED数码管用为显示方式,正常工作时,系统工作电流约为30-45mA,为保证系统统计的可靠正常工作,系统的供电方式主要交流AC6-9伏,同时为调试系统方便,供电方式考虑了第二种方式,即由USB口供电,调试时直接由电脑USB口供电。6伏交流是经过整流二极管D1-D4整流成
14、脉动直流后,经虑波电容C1虑波后形成直流电,为保证单片机系统的可电,供电路中由5伏的三端称压集成电路进行稳压后输出5伏的真流电供整个系统用电,为进一步提高电源质量,5伏的直流电再次经过C3、C4滤波。系统供电电路如图7所示。图7 系统供电电路2.2.5 报警输出电路为提高测测距系统的实用性,测距系统的报警输出提供开关量有两种方式。方式一:报警信号由单片机P3.1端口输出,继电器输出,可驱动较大的负载,电路由电阻R6、三极管BG9、继电器JDQ组成,当测量值低于事先设定的报警值时,继电器吸合,测量值高于设定的报警值时,继电器断开。方式二:报警信号由单片机P0.2口输出,提供声响报警信号,电路由电
15、阻R7、三极管BG8、蜂鸣器BY组成,当测量值低于事先设定的报警值时,蜂鸣器发出“滴、滴、滴”报警声响信号,测量值高于设定的报警值时,停止发出报警声响。报警输出电路如图8所示。图8 报警输出电路3. 系统软件设计3.1 软件设计的总体结构框图 本系统是基于超声波测距的倒车雷达。系统由系统初始化模块、数码管显示模块、发射接收控制模块、运算结果处理模块、声光报警模块。总体框架图如图9所示。系统各功能模块系统初始化模块数码管显示模块发射接收控制模 块运算结果处理模 块声光报警模块图9 总体框架图3.2主程序设计主程序先对系统环境初始化,设定时器0为计数,设定时器1定时。置位总中断允许位EA。进行程序
16、主程序后,进行定时测距判断,当测距标志位ec=1时,测量一次,超声波测距频度是4-5次/秒。测距间隔中,整个程序主要进行循环显示测量结果。当调用超声波测距子程序后,首先由单片机产生4个频率为38.46kHz超声波脉冲,加载的超声波发送头上。超声波头发送完送超声波后,立即启动内部计时器T0进行计时,为了避免超声波从发射头直接传送到接收头引起的直射波触发,这时,单片机需要延时约1.5 -2ms时间后,才启动对单片机P3.5脚的电平判断程序。当检测到P3.5脚的电平由高转为低电平时,立即停止T0计时。由于采用单片机采用的是12 MHz的晶振,计时器每计一个数就是1s,当超声波测距子程序检测到接收成功
17、的标志位后,将计数器T0中的数计算,即可得被测物体与测距仪之间的距离。设计时取15时的声速为340 m/s则有:d=(ct)/2=172T0/10000cm其中,T0为计数器T0的计算值。测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。3.3超声波测距子程序及其流程图产生超声波程序流程图如图10所示。超声波测距标志=1?发送超声波启动计时器T0延时避开盲区 收到回波 预定时间停止计时计算测量质结束NYNNYN图10 产生超声波程序流程图产生超声波程序代码为:void wdzh()TR0=0;TH1=0x00;TL1=0x00;csbint=1;sx
18、=0;delay(1700);csbfs();csbout=1;TR1=1;i=yzsj;while(i-)i=0;while(csbint)/判断接收回路是否收到超声波的回波i+;if(i=3300)csbint=0;TR1=0;s=TH1;s=s*256+TL1;TR0=1;csbint=1;jsz=s*csbc;/计算测量结果jsz=jsz/2; 产生超声波的子程序:为了方便程序移置及准确产生超声波信号,本测距的超声波产生程序是用汇编语言编写的进退声波产生程序。产生的超声波个数为UCSBFS SEGMENT CODERSEG UCSBFSPUBLIC CSBFSCSBFS:mov R6,
19、#8h ;超声波发射的完整波形个数:共计四个 here:cpl p2.7 ;输出40kHz方波 nop nop djnz R6,here RETEND3.4超声波测距流程图超声波测距流程图如图11所示显示距离上限值距离盲区值测量段码转化超声波测距测量标志开始启动定时器初始化YYN=0NNY图11 超声波测距流程图4. 设计总结确定设计题目后,我们首先分析了汽车倒车雷达与汽车运行状态的关系,然后对汽车倒车雷达系统功能进行描述,确定汽车倒车雷达系统的结构框图,最后进行电路设计。通过本次课程设计,我体会到了学习不但要把书本知识学好,要得弄懂东西还要自己勤翻书,上网查资料,要勤动脑,学会思考,可以从各
20、个方面去思考同一个问题,最重要的是要学会学以致用。把一个大的电路分割成很多小模块后会容易很多,设计起来也相对灵活,会有一个清晰的思路。通过本次的课程设计,把上学期刚刚学过的单片机知识和加入到了设计的过程中,其中的单片机应用是一个难点,利用单片机是一种十分有效的方法,它可以让我们简化一部分硬件电路的设计,并且可以快捷简便的控制电路。但是在使用单片机的过程中,遇到了很多困难,其中包括硬件和软件的问题。在编程的过程中,虽然控制的目的很明了,但是具体实施起来,程序的编译就有些困难了。如雷达的原理和程序的编写,对于这样的问题我通过在网上和图书馆里查阅资料对它有了大概的了解。通过这次课程设计让我清楚了现在
21、专业课的重要点,通过现在的专业课汽车电器与电子控制系统让我们学习了解汽车身上的电子电路的结构,明白其工作和设计的原理。同时让我清楚了要实现汽车的某一个功能不仅要会设计电路而且要懂得如何编写程序,只有电路和程序同时正确才能正确完成自己设计的初衷。所以在接下来的学习中我不仅要学好现在的专业课而且还要复习原来的C语言程序的编写。经过全组同学的努力,设计终于完成了,虽然用到了很多学过的知识,但对于单片机的应用然有很多的问题,不够熟练,掌握的不够全面,也不够深入,只了解一些比较肤浅的知识。 同时也十分感谢陈老师的帮助,在写课程设计的过程中陈老师给我指出了我课程设计中的不足,帮我不断的完善了我的课程设计。
22、也让我自己清洗的认识到了自己的不足。在今后的学习和生活中我会努力地学习理论知识,并且有效地将理论和实践相结合。5. 参考文献1 康华光:电子技术基础(数字部分),武汉:高等教育出版社,2006。2 盛春明:超声波测距仪J.制作天地,2010,(5):31-423 杨国田 白董玲 :51单片机实用C语言程序设计M 中国电力出版社 20094 麻友良:汽车电器与电子控制系统,北京: 机械工业出版社,2009。5 杨志忠:数字电子技术基础M.北京:高等教育出版社,20046 谭浩强:C程序设计M.北京:清华大学出版社,20057 王俊峰,孟令启:现代传感器应用技术M.北京:机械工业出版社,20098
23、 阮一辉:基于超声波定位技术的障碍物探测D.苏州:苏州大学,2007附 录:超声波测距原理图: 读书的好处1、行万里路,读万卷书。2、书山有路勤为径,学海无涯苦作舟。3、读书破万卷,下笔如有神。4、我所学到的任何有价值的知识都是由自学中得来的。达尔文5、少壮不努力,老大徒悲伤。6、黑发不知勤学早,白首方悔读书迟。颜真卿7、宝剑锋从磨砺出,梅花香自苦寒来。8、读书要三到:心到、眼到、口到9、玉不琢、不成器,人不学、不知义。10、一日无书,百事荒废。陈寿11、书是人类进步的阶梯。12、一日不读口生,一日不写手生。13、我扑在书上,就像饥饿的人扑在面包上。高尔基14、书到用时方恨少、事非经过不知难。陆游15、读一本好书,就如同和一个高尚的人在交谈歌德16、读一切好书,就是和许多高尚的人谈话。笛卡儿17、学习永远不晚。高尔基18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。刘向19、学而不思则惘,思而不学则殆。孔子20、读书给人以快乐、给人以光彩、给人以才干。培根