基于C51单片机的超声波倒车雷达系统设计

辽宁科技大学本科生毕业设计(论文) 第I 页

基于单片机的超声波倒车雷达系统设计

摘要

随着我国汽车产业的高速发展,我国开始进入私家车时代,汽车的数量逐年增加,造成公路、街道、停车场、车库等越来越拥挤。汽车驾驶员越来越担心车的安全了,其中倒车就是一个典型。倒车时,驾驶员疲于前瞻后顾,很容易就发生追尾等碰撞事故。因此,增加汽车的后视能力,研制汽车后部探测障碍物的倒车雷达便成为近些年来的研究热点。本文设计的倒车雷达预警系统主要是针对汽车倒车时人无法目测到车尾与障碍物体的距离而设计开发的。该系统将微计算机技术与超声波的测距技术、传感器技术等相结合,可检测到汽车倒车中,其障碍物与汽车的距离,通过LED 数码管显示距离,并根据障碍物与车尾距离远近实时发出报警等级。工作时,超声波发射器不断发射出一系列连续脉冲,给测量逻辑电路提供一个短脉冲。最后由信号处理装置对接收的信号依据时间差进行处理,自动计算出车与障碍物之间的距离。本文介绍了基于AT89C51单片机的超声波测距器,其由超声波发射模块、信号接收模块、单片机处理模块、数码显示以及声光告警显示模块等部分组成。文中运用理论分析、计算机仿真等研究手段,完成了倒车测距仪硬件和软件的设计,并在测距算法上进行了改进,使测距速度更快。系统设计中采用了模块设计思想,简化了调试工作量,最终很好完成了超声波测距倒车雷达系统的硬件设计、软件设计及系统调试。

关键词:汽车倒车测距仪;超声波;AT89C51

DESIGN OF ULTRASONIC VEHICLE

REVERING SYSTEM WITH

UL TRASONIC BASEDON MCU

Abstract

With the rapid development of China's automobile ind ustry, China began to enter into the era of private cars, the car number increases year by year, causing the highway, streets, parking lot, garage, more and more crowded. Car drivers are increasingly worried about the safety of the car, the reverse is a typ ical. Therefore, to increase the ability o f the car after depending on and developing the back of my car detection of radar become obstacles back research topic in recent years. In this paper the reverse radar warning system design is mainly directed against the car back to the rear of the car and people can't visual obstacle the distance of the object and the design and development. This system makes the combinatio n of the computer technolo gy and the ultrasonic ranging techno lo gy, the sensor technolo gy, etc. It can detect the car back to the obstacles and the automobile distance, through the LED shows distance,and according to the obstacle and thetailstock which far and near sends out real-time warning level.At work, ultrasonic transmitters continuously launch a series of continuous pulse, to logic circuit provides a short pulses. Finally by signal processing device of received signal processing according to the time, calculating the d istance between the car and the obstacles automatically. This paper introduces the ultrasonic range finde r based on AT89C51. It consists of ultrasound module, the signal receiving module, SCM processing module, d igital d isp lay and sound and light alarm display module components.This paper using theoretical analysis, computer simulation research tools, and comp leted the reverse rangefinderdesign of hardware and software.It is so mething improved in the measure programme for measure quickly. A modular design concept was used at the process of

designing the system, it simplifies the debugging work load. Ultimately, hardware design, software design and system debugging about the ARR was completed very well.

KEY WORDS:Automob ile Reversing range finder;Ultrasonic Computer Simulatio n ;AT89C51

目 录

1 绪论.......................................................................................................................... 1

1.1 选题背景.............................................................................................................. 1

1.2 设计意义.............................................................................................................. 1

1.3 目前国内倒车雷达的发展概况.......................................................................... 1

1.4 当前存在的问题.................................................................................................. 3 2 总体设计方案 . ...................................................................................................... 4

2.1 模块构建.............................................................................................................. 4

2.2 超声波测距原理.................................................................................................. 5

2.3 超声波特点.......................................................................................................... 5

2.4 系统方案选择...................................................................................................... 7

2.5 超声波传感器...................................................................................................... 8

2.5.1 超声波传感器的原理及结构....................................................................... 8

2.5.2 超声波传感器的频率特性....................................................................... 10 3 系统的硬件设计 ................................................................................................ 12

3.1系统总体方案设计 ............................................................................................ 12

3.2 AT89C51单片机简介 . ....................................................................................... 12

3.3 电源部分的设计................................................................................................ 16

3.4 控制电路............................................................................................................ 17

3.5 温度补偿电路.................................................................................................... 17

3.5 超声波发射和接收电路.................................................................................... 19

3.5.1 超声波发射部分......................................................................................... 19

3.5.2 超声波接收电路......................................................................................... 20

3.6 LED 显示模块.................................................................................................... 23

3.7 语音实时播报电路............................................................................................ 23 4 系统软件设计 . .................................................................................................... 26

4.1 软件设计要求.................................................................................................... 27

4.2 超声波测距算法设计........................................................................................ 27

4.3 主程序................................................................................................................ 28

4.4 超声波发送、接收中断程序............................................................................ 29

4.5 显示程序、报警程序........................................................................................ 30 结 论 . ......................................................................................................................... 32 致 谢 . ......................................................................................................................... 33 参考文献 . .................................................................................................................. 34 附录A 程序清单 . .................................................................................................. 35

1 绪论

1.1 选题背景

随着汽车工业的发展,城市汽车数量迅速增加。尤其是近几年来,我国汽车的拥有量逐年增加,已是汽车消费大国了。人们将汽车作为其日常的生活工具,这也带来了不少的安全隐患。汽车驾驶员也越来越担心车的安全,其中倒车就是一个典型的问题。由于驾驶员无法看见车后的障碍物,倒车时很容易刮伤汽车,甚至发生事故。为了减少因此带来的损失,需要有一种专门的辅助装置帮助司机安全倒车。目前用于辅助司机倒车的装置主要有:语音告警装置、后视系统以及倒车雷达等。语音告警装置用于播放提示语以提醒车后的行人注意避让正在倒车的汽车。这种装置价格便宜,使用方便,其缺点是只能对车后的行人起告警作用,对于其他障碍物则不起作用,所以其应用范围有限。后视系统是由视频捕捉装置和视频播放装置组成,通过后视系统司机可以直观地看到车后的障碍物,消除视觉盲区。由于这类装置的价位较高,目前还没有普遍推广使用。

1.2 设计意义

随着汽车的迅速增加,停车难已经是不争的事实,狭小的停车场地常常令有车一族无所适从,稍不慎,则闯祸,烦事又烦人。虽然每辆车都有后视镜,但不可避免的都存在一个后视盲区。倒车雷达是汽车泊车或者倒车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员驾驶车辆周围障碍物的情况,解除了驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了使用死角和视线模糊的缺陷,提高驾驶的安全性。倒车雷达的发明是迫在眉睫的,是必不可少的设备。

1.3 目前国内倒车雷达的发展概况

目前,很多科研机构已对倒车测距技术进行深入研究、开发,国内外

也已有相应的产品。经过分析总结,按其工作方式分主要有超声波、红外、激光和毫米波等方法。虽然所用到的技术不完全相同,但基本原理都是通过不同的方法判断车后方障碍物与本车的相对距离,并根据预设置好的危险等级发出相应的指示信号。下面简要分析一下几种方式的特点:

超声波方式:超声波是频率大于20kHz 的声波,具有方向性强、能量衰减缓慢、在介质中传播距离远等特点,用于测距计算方法简单,常用于非接触式距离测量,其传感器种类较多, 由于超声波指向性强,在传输过程中能量损耗缓慢,反射能力强,经常被用于距离的测量。由于超声波测距的探测距离较短,主要用于倒车雷达等近距离测距[1]。

红外线方式:红外线的波长比可见光长,是肉眼看不见的光,有显著的热效应和较强的穿透云雾的能力。红外线可以人为制造, 自然界中也广泛存在,一般的生物都会辐射出红外线,体现出来的宏观效应就是热度。红外线透视和夜视是分别利用了红外线的不同性质。红外线测距系统成本低廉,但是容易受到天气和路边等物体干扰的影响,在恶劣的天气与环境下探测距离仍然不能满足要求。

激光方式:激光具有高定向性,能以定向的光束无发散地直线向前传播;单色性好,它可以达到的亮度比太阳光还高几百亿倍;相干性好,激光的频率、振动方向、相位高度一致。因此激光波束近似直线性,很少扩散,波束能量集中,传输距离较远。但它在对气候的适应能力方面具有局限性,因为激光测距方式受恶劣天气、汽车激烈震动、发射镜表面磨损、污染等因素影响,则探测距离减少二分之一至三分之一,降低了实用精度,所以在汽车倒车雷达领域激光测距方式没有得到很好发展。

毫米波方式:毫米波是微波的一个波段,频率在30-300G ,相应波长为1-10mm 。毫米波电子系统具有如下特性:小天线孔径具有较高的天线增益;高跟踪精度和制导精度;不易受电子干扰;不受被测物体表面形状、颜色等的影响;对大气紊流、气涡等具有适应性,并且毫米波雷达的天线也不会因为灰尘等污染而产生较大的误差;低角跟踪时多径效应和地杂波干扰小;多目标鉴别性能好;雷达分辨率高;大气衰减“谐振点”可作保密传输。但其价格昂贵,结构复杂。

汽车雷达按照其测距的方向可分为倒车雷达和前置雷达。倒车雷达主要针对当前在拥挤的街道、停车场以及人群当中倒车时时有发生的倒车碰撞事故而设计的。它是在汽车以较低速度倒车行驶时,周期内不停检测车后障碍物到车的距离,当达到一定危险距离时即时给予司机以声与光的形式的警告。由于倒车雷达检测距离比较短,可选择红外线和超声波,而本文就是对超声波倒车雷达的具体分析研究。

目前,很多汽车生产商已经开始在生产的汽车中加入超声波倒车雷达。

1.4 当前存在的问题

超声波倒车雷达运用超声波测距原理结合单片机或IC 的智能技术作为一种具有结构简单、智能判断不受可见光限制等特点的汽车倒车安全辅助装置应用到了轿车当中,但现有的倒车雷达还仍然存在如下一些问题[2]:

(1) 最大有效探测距离偏小的问题,等到报警后再减速就很紧张,感到预警时间不充足;

(2) 显示滞后性,多数倒车雷达的显示速度因考虑到抗干扰等因素,显示更新的速度约为0.2-0 4s,算上从倒车雷达发现目标到发出警报将需要1-2s ,这时车已经行使了一段距离,这显然存在反应迟钝;

(3) 以往关于倒车雷达的研究都采用的是不容易购买到的专用元件作为附加电路,使其难以推广;

(4) 主流产品仅仅是独立的控制单元,无法与汽车数字化信息平台接轨。目前我国的整车制造厂和汽车电子电器厂几乎没有涉及到汽车电器网络化设计的领域,选择一个合理的总线实现汽车电器的网络化非常必要[3]。

2 总体设计方案

2.1 模块构建

按照系统设计要求,超声波倒车测距仪由硬件和软件两部分组成,系统设计采用模块化思想。系统硬件结构分为三个主要部分:测距部分、控制部分和显示报警部分。软件部分按不同功能模块分别进行编程,便于调试和移植。

整个系统根据“回波测距”的原理设计的,其结构框图如图2.1所示。

图2.1 倒车测距仪系统结构原理图

该设计的应用背景是基于A T89C51的超声信号检测的,因此单片机选择为AT89C51 单片机(AT89C51)发出短暂的40KHz 信号,反射后的超声波经超声波接收器作为系统的输入,锁相环对此型号进行技术判断后,把相应的计算结果送到LED 显示电路显示,并进行声光报警。

2.2 超声波测距原理

超声波测距工作原理:

超声波测距正是利用超声波的直线传播特点,通过超声波换能器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时,根据计时器记录的时间t ,就可以计算出发射点距障碍物的距离(s ) ,即:s=ct/2 ——公式中c 代表超声波波速[4]。由于超声波也是一种声波,其声速c 与温度有关,表1列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理。图2.3即为超声波测距的具体流程图。

图2.3系统总体设计流程图

2.3 超声波特点

超声波是一种人耳无法听到的、频率一般超过20KHz 的声音。

超声波的基本特性如下所述:

(1)波长与辐射

波的传播速度是用频率乘以波长来表示。电磁波的传播速度是3 108m/s,而声波在空气中的传播速度很慢,约为344m/s(20℃时)。在这种比较低的传播速度下,波长很短,这就意味着可以获得较高的距离和方向分辨率。正是由于这种较高的分辨率特性,才使我们有可能在进行测

量时获得很高的精确度。超声波设备的外表面尺寸易于获得精确的辐射。

(2)反射

要探测某个物体是否存在,只要超声波能够在该物体上得到反射。由于金属、木材、混凝土、玻璃、橡胶和纸等可以反射近乎100%的超声波,此我们可以很容易地发现这些物体。由于布、棉花、绒毛等可以吸收超声波,因此很难利用超声波探测到它们。同时,由于不规则反射,通常可能很难探测到表面振动幅度很大的物体。

(3)温度效应

声波传播的速度C 可以用下列公式表示。C=331.5+0.607t(m/s)式中, t =温度(℃)也就是说,声音传播速度随周围温度的变化而有所不同。因此,要精确的测量与某个物体之间的距离时,始终检查周围温度是十分必要的。

如图2.4所示,温度越高,声音传播速度越快。

(4)衰减

图2.4 温度与声速的关系

传播到空气中的超声波强度随距离的变化成比例地减弱,这是因为衍射现象所导致的在球形表面上的扩散损失,也是因为介质吸收能量产生的吸收损失。如图2.5所示,超声波的频率越高,衰减率就越高,波的传播

距离也就越短。

图2.5 声压在不同距离上的衰减特性

2.4 系统方案选择

目前,汽车倒车测距技术主要有超声波、红外、激光和毫米波。对于各种方法都各自的优缺点,这前面也介绍了,而本系统采用超声波进行测距,不过超声波测距也有几种方案:

方案一:取输入脉冲的平均值电压

在超声波探测电路中,发射模块不断连续发射频率为40KHz 的超声波,同时接收模块将遇到障碍物反射回来的超声波转换成脉冲的平均值电压,该电压与距离成正比,通过A/D转换得到电压的数字信号量,再用查表法得出距离值。其原理是根据超声波在空气传播中的超声波强度随距离的变化成比例地减弱,再将超声波相应的幅值转换成相应的电压值。这种方案需要不断发射超声波,从而增加系统的功耗,并且需要用到一个A/D转换。如果主控芯片不带A/D转换,需要格外增加一块A/D转换芯片,增加成本。并且要事先测量出不同电压值对应的实际距离,制成表格,供程序查表,这也一定程度限制了测量的精度。

方案二:时间差测距法

超声波测距正是利用超声波的直线传播特点,通过超声波换能器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t ,就可以计算出发射点距障碍物的距离(s ) ,即:s=340t/2 ——这就是所谓的时间差测距法。这种方案不需要不断连续发射超声波,也不需要A/D转换,更重要的是,在不增加硬件的条件下可以把测量精度做到很高。

方案一是基于反射回来的超声波强度转换成脉冲的平均值电压,其抗脉冲干扰能力强,但增加了系统的复杂性,同时要增加A/D转换芯片,增加了成本。而方案二是基于时间差的测距原理,不需要A/D转换芯片,对回波的检测、放大、滤波处理较方案一更容易实现。且其测量误差主要取决于计时器的精度,基于成本、实现难度、精度等因素的考虑,本系统选择方案二。

2.5 超声波传感器

2.5.1 超声波传感器的原理及结构

超声波传感器是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同频率的其他形式的能的器件。目前常用的超声传感器有两大类,即电声型与流体动力型。电声型主要有:1 压电传感器;2 磁致伸缩传感器;3静电传感器。流体动力性中包括有气体与液体两种类型的哨笛。由于工作频率与应用目的不同,超声传感器的结构形式是多种多样的,并且名称也有不同,例如在超声检测和诊断中习惯上都把超声传感器称作探头,而工业中采用的流体动力型传感器称为“哨”活“笛”。压电式传感器属于超声传感器中电声型的一种。探头有压电晶片、契块、接头等组成,是超声检测中最常用的实现电能和声能相互转换的一种传感器,是超声波检测装置的重要组成部分。压电材料分为晶体和压电陶瓷两类。属于晶体的如石英,铌酸锂等,属于压电陶瓷的有锆钛酸铅,钛酸钡等。

其具有下列的特性:把这种材料置于电场之中,它就产生一定的应变;相反,对这种材料施以外力,则由于产生了应变就会在其内部产生一定方向的电场。所以,只要对这种材料加以交变电场,它就会产生交变的应变,从而产生超声振动。因此,用这种材料可以制成超声传感器[5]。

传感器的主要组成部分是压电晶片。当压电晶片受发射电脉冲激励后产生振动,即可发射声脉冲,是逆压电效应。当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号,是正压电效应。前者用于超声波的发射,后者即为超声波的接收。超声波传感器一般采用双压电陶瓷晶片制成。这种超声传感器需要的压电材料较少,价格低廉,且非常适用于气体和液体介质中。在压电陶瓷上加有大小和方向不断变化的交流电压时,根据压电效应,就会使压电陶瓷晶片产生机械变形,这种机械变形的大小和方向在一定范围内是与外加电压的大小和方向成正比的。也就是说,在压电陶瓷晶片上加有频率为f 0交流电压,它就会产生同频率的机械振动,这种机械振动推动空气等媒介,便会发出超声波。如果在压电陶瓷晶片上有超声机械波作用,这将会使其产生机械变形,这种机械变形是与超声机械波一致的,机械变形使压电陶瓷晶片产生频率与超声机械波相同的电信号。

压电式超声波发生器实际上是利用压电晶体的谐振类工作的,超声波发生器内部结构如图2.6所示。

图2.6压电式超声波传感器结构

它有两个压电晶片的一个共振板,当它的两级外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板的振动,便产生超声波。反之,如果两级间为外加电压,当共振板接收到

超声波时,将压迫压电晶片作振动,将机械能转化为电信号,这时它就成为超声波传感器。

压电陶瓷晶片有一个固定的谐振频率,即中心频率f 0。发射超声波时,加在其上面的交变电压的频率要与它的固有谐振频率一致。这样,超声传感器才有较高的灵敏度。当所用压电材料不变时,改变压电陶瓷晶片的几何尺寸,就可非常方便的改变其固有谐振频率。利用这一特性可制成各种频率的超声传感器。

超声波传感器的内部结构由压电陶瓷晶片、锥形辐射喇叭、底座、引线、金属壳及金属网构成,其中,压电陶瓷晶片是传感器的核心,锥形辐射喇叭使发射和接收超声波能量集中,并使传感器有一定的指向角,金属壳可防止外界力量对压电陶瓷晶片及锥形辐射喇叭的损坏。金属网也是起保护作用的,但不影响发射与接收超声波。 2.5.2 超声波传感器的频率特性

这里以本设计选用的超声波传感器TCT40-16型探头(如图2.7)为特例加以说明。

型号:TCT40-16R/T(直径16mm ) 1. 标称频率(KHz ):40KHz

2. 发射声压at10V (0dB=0.02mPa):≥117dB

3. 接收灵敏度at40KHz (0dB=V/ubar):≥-65dB

图2.7 TCT40-16型探头

4 .静电容量at1KHz,

TCT40-16R/T声压能级及灵敏度如图2.8 :

图2.8 TCT40-16R/T声压能级及灵敏度

由图2.8可以看出40khz 处为超声波传感器的中心频率,在此中心频率处,超声波传感器所产生的机械波最强,也就是说40khz 处所产生的声压能级最高。而在40khz 两侧声压能级迅速衰减。其频率特性曲线如图2.9所示。

图2.9 TCT40-16R/T传感器的频率特性曲线

由图2.9知超声波传感器一定要使用非常接近于中心频率40khz 的交流电压来激励。

3 系统的硬件设计

3.1系统总体方案设计

本系统基于超声波反射原理利用单片机控制器产生40Khz 的方波信号,通过发送模块对方波信号进行功率放大,驱动超声波探头,发射40K 超声波。超声波信号在空气中传播至障碍物后发生反射,反射回波经空气传播给超声波接收换能器并转换成电信号,经接收模块滤波、放大、整形后,输入到微控制器的外部中断口,产生中断,通过相应的公式计算出距离,然后将距离值通过LED 显示出来。为了减少不同环境下,系统都能达到测量精度的要求,需要对测量数据进行温度补偿,而本系统采用数字化温度传感器DS18B20进行温度取样,用算法对数据进行温度补偿。

如图3.1所示为系统总体框图。

超声波

··

图3.1 系统总体框图

3.2 A T89C51单片机简介

单片机是本系统的核心元件,它负责各个模块的协调工作,记录超声

波发送到遇障碍物后反射回来的时间差,并将这个时间差转化为距离,然后通过LED 显示模块把距离显示出来。

AT89C51是一种带4KB 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATME L 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

(1)主要特性: 与MCS-51 兼容

4K 字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8位内部RAM 32可编程I/O线

两个16位定时器/计数器 5个中断源 可编程串行通道

低功耗的闲置和掉电模式 片内振荡器和时钟电路 (2)AT89C51引脚如图3.2 管脚说明: VCC :供电电压。 GND :接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部

程序数据存储器,它可以在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。

图3.2 AT89C51引脚图

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL )这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示:

口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)

RST :复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 (3)振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

(4)芯片擦除:

整个PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但RAM ,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.3 电源部分的设计

在各种电子设备中,直流稳压电源是必不可少的组成部分,它是电子

设备唯一的能量来源,稳压电源的主要任务是将50Hz 的电网电压转换成

稳定的直流电压和电流,从而满足负载的需要,直流稳压电源一般由整流、

滤波、稳压等环节组成。其电路图图3.3所示。

其中,变压器将交流电源(220V/50Hz)变换为符合整流电路所需要

的交流电压;整流电路是具有单方向导电性能的整流器件,将交流电压整

流成单方向脉动的直流电压;滤波电路滤去单向脉动直流电压中的交流部

分,保留直流成分,尽可能供给负载平滑的直流电压;稳压电路是一种自

动调节电路,在交流电源电压波动或负载变化时,通过此电路使直流输出

电压稳定[7]。

图3.3 电源电路

220V 交流电通过电源变压器变换成交流低压电源,再经过桥式整流

电路D1~D4和滤波电容的整理和滤波,在固定式三端稳压器LM7805的

Vin 和GND 两端形成一个并不十分稳定的直流电压。此直流电压经过

LM7805的稳压和电容滤波便在稳压电源的输出端产生了精度高、稳定度

好的直接输出电压。如3.3所示的电路为输出电压为+5V、输出的电流1.5A

的稳压电源。它由电源变压器,桥式整流电路D1~D4,滤波电容C4、C5,

防止自激电容C10、C11和一只固定式三端稳压器(7805)组成。

3.4 控制电路

主控制器主要由单片机AT89C51、振荡器和复位电路三部分组成,它

是单片机工作的必要组成部分,又称为单片机最小系统。其中XTAL1和

XTAL2外接一个晶体振荡器,采用12MHZ 的晶振以获得稳定的时钟频率,

减小误差。RST 外接一个复位电路,晶体振荡电路为单片机提供时钟控制

信号。复位电路采用上电复位方式。电路图如图3.4所示。

图3.4 控制电路

3.5 温度补偿电路

DS18B20数字式温度传感器是DALLAS 公司生产的1-Wire ,即单总

线器件,与传统的热敏传感电阻温度传感器不同,能够直接读出被测温度

值,并且可根据实际要求,通过简单编程,实现9~12位的A/D转换。其

具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路

简单,十分方便。其测量温度范围在-55~+125℃之间。引脚图如图3.5。

引脚详细功能描述如表3.1。

图3.5 DS18B20引脚图

表3.1 DS18B20引脚功能描述 实际情况下,温度每上升或者下降 1℃, 声速将增加或者减少 0.607m

/s 。温度对于声速影响很大。本设计温度测量选用的DS18B20数字式温

度传感器,因其独特的一线接口,只需要一条口线通信多点能力,简化了

分布式温度传感应用,无需外部元件,可用数据总线供电电源范围为3.0V

至5.5V 无需备用电源。它通过输出9位(二进制)数字来直接表示所测

量的温度值,温度值是通过DS18B20的数据总线直接输入CPU , 无需A/D

转换,而且读写指令,温度转换指令都是通过数据总线传入DS18B20。

DS18B20数字温度传感器除了具有相当的测量范围和精度外,还具有温度

测量精度和不受外界干扰等的优点。其电路连接如图3.6所示。

图3.6温度补偿电路

3.5 超声波发射和接收电路

3.5.1 超声波发射部分

超声波发射电路包括超声波产生电路和超声波发射电路两个部分,超声波换能器选用压电式,可采用软件发生法和硬件发生法产生超声波。前者利用软件产生40KHz 的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波。这种方法的特点是充分利用软件,灵活性好。第二种方法是利用超声波专业发生电路或通用发生电路产生超声波信号,并直接驱动换能器产生超声波。这种方法的优点是无需驱动电路,但缺点是灵活性低。本设计采用第一种方法产生超声波发射信号。利用AT89C51的P1.0口发射40kHz 的方波信号后经过74LS04三级放大后输出到超声波换能器,产生超声波。74LS04是一个高速CMOS 六反相器,具有放大作用,具有对称的传输延迟和转换时间,而相对于LSTTL 逻辑IC ,它的功耗减少很多。对于HC 类型,其工作电压为2~6 V,它具有高抗扰度,可以兼容直接输入LSTTL 逻辑信号和CMOS 逻辑输入等特点。本系统将40KHz 方波信号分成两路,分别由74LS04经两次和一次反向放大,

从而构成推拉式反向放大。

发射电路主要由反向器74LS04和超声波换能器构成,如图3.7所示。单片机P1.0端口输出40KHz 方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极。用这种推挽形式将方波信号加到超声波换能器两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力,上拉电阻R10、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡的时间。

图3.7 超声波发射电路

3.5.2 超声波接收电路

超声波接收包括接收探头,信号放大以及波形变换电路三部分,超声波接收探头必须与发送探头相同的型号,否则可能导致接收效果不好甚至不能接收。由于超声波接收探头的信号非常弱,所以必须用放大器放大,放大后的正弦波不能被微处理器处理,所以必须经过波形变换。本次设计为了降低调试难度,减少成本,提供系统可靠性,所以我们采用了一种用在彩色电视机上面的一种红外接收

检波芯片CX20106,由于红外遥控的中心频率在38KHz ,和超声波的40KHz 很接近,所以可以用来做接收电路。CX20106是日本索尼公司的产品,采用单列8引脚的直插式封装,内部包含自动偏置控制电路、前置放大电路、带通滤波、峰值检波、积分比较器、斯密特整形输出电路,配合少量外接元件就可以对38KHz 左右的信号的接收与处理,该芯片内部如下图3.8所示:

图3.8 CX20106内部结构

前置放大器:它是高增益的放大器,由于超声波在空气中直线传输时,传输距离越大,能量的衰减越厉害,故反射回来的超声波信号的幅值会有很大的变化。为了不使放大器的输出信号过强而产生失真,集成块内部有自动电平限制电路,对前置放大器的增益进行自动限制。通过反馈将放大器设定于适当的状态,再由限制电平电路进行自动控制。

限度放大器:当信号太强时为了防止放大器过载,限制高电平振幅,同时也可消除寄生调幅干扰。

宽频带滤波器:其频率范围为30Hz~60Hz,其中心频率可调。

检测器:将返回的超声波的包络解调回来。

积分滤波器与整形电路:检测器输出的信号经积分滤波器送到整形电路,输出较好的矩形波。-

接收的回波信号先经过前置放大器和限幅放大器,将信号调整到合适的幅值;再经过带通滤波器滤波得到有用信号,滤除干扰信号;最后由峰值检波器和整形电路输出到锁相环路,实现准确的计时。

X20106构成本次设计接收电路如下图3.9:

图 3.9 超声波接收电路

使用CX20106A 集成电路对接收探头受到的信号进行放大、滤波。其总放大增益80db 。以下是CX20106A 的引脚注释[10]。

1脚:超声信号输入端,该脚的输入阻抗约为40kΩ。

2脚:该脚与地之间连接RC 串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R18或减小C12, 将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C12的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R18=4.7Ω,C12=10μF。

3脚:该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为10μf。

4脚:接地端。

5脚:该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f 0,阻值越大,中心频率越低。例如,取R=200kΩ时,f 0≈42kHz,若取R=220kΩ,则中心频率f 0≈38kHz。

6脚: 该脚与地之间接一个积分电容,标准值为330pF ,如果该电容取得太大,会使探测距离变短。

7脚:遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一

个上拉电阻到电源端,推荐阻值为200kΩ,没有接受信号是该端输出为高电平,有信号时则产生下降。

8脚:电源正极,4.5~5V 。

3.6 LED显示模块

图3.10 LED显示电路

超声波测距仪显示控制模块电路如图3.10所示。通过单片机的25、26、27、28四个管脚的信号控制四位三极管的B 极,利用三极管的开关特性,实现数码管的点亮,从而实现动态显示。采用LED 动态显示,数据经过PIC 芯片的计算后传到LED 上,显示精度是厘米。

单片机用P1.0端口输出超声波换能器所需的40KHz 方波信号,利用外中断0口检测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED 数码管,用于显示障碍物的距离,由单片机P0.0—P0.6接LED 的a~g七个笔段,P2.4~P2.7接四位8550的公共端,通过软件以动态扫描方式显示。段码用74LS244驱动,位码用PNP 三极管8550驱动。

3.7 语音实时播报电路

ISD1700系列录放芯片是一种高集成度,高性能的芯片。它可以多段录音,

采样率在4k 至12k 间调节,供电范围可以在2.4V 至5.5V 之间。ISD1700系列录放芯片可工作于独立按键模式和SPI 控制模式。芯片内有存储管理系统来管理多段语音,这样在独立按键模式下也能进行多段语音录放。此芯片内有振荡器,可通过外部电阻来调节其振荡频率;还有带自动增益控制(AGC)的话筒运放,模拟线路输入,抗锯齿滤波器,多级存储阵列,平滑滤波器,音量控制,直接驱动喇叭的PWM 输出与接外部功放的电流/电压输出。ISD1700还有有新录音提示功能,当有新的录音后,LED 回每秒闪一次来提示用户有新的录音。此外还有4种音效来提示用户的操作结果,如开始录音、停止录音、擦除、下一曲和全部擦除等。录音数据存储在芯片的FLASH 内,没有经过任何压缩,所以有较好的音质和断电存储。芯片有两路独立的语音信号输入通道,话筒输入与模拟信号输入。在独立按键模式下,当某功能操作完成后芯片会自动进入掉电模式来降低功耗。在SPI 模式下,用户可对芯片进行更多功能操作。如对任意存储地址进行录放,对模拟通道配置寄存器(APC )进行读写[11]。

ISD1700语音芯片具有以下特点:

(1) 可录、放音十万次,存储内容可以断电保留一百年

(2)两种控制方式,两种录音输入方式,两种放音输出方式。

(3)可处理多达 159 段以上信息。

(4)有丰富样的工作状态提示。

(5)多种采样频率对应多种录放时间。

(6)音质好,电压范围宽,应用灵活。

(7)用户可利用震荡电阻来自定芯片的采样频率,从而决定芯片的录放时间和录放音质。

ISD1700电气特性如下:

(1)工作电压:2.4V-5.5V ,最高不能超过 6V

(2)静态电流ISTB :0.5µA - 1µA.

(3)工作电流IOP :20mA.

本系统采用SPI 控制模式,通过外接1KΩ电阻来设定芯片的采样率为

6.4KHz 。

如图3.11 所示为实时播报电路:

图3.11 实时播报部分电路原理图

值得注意的,当系统上电时有时会出现意料之外的录音过程,而这个意外的录音过程会妨碍以前的声音回放,一个伪EOM 标记会出现在存储空间的开始部分。为了防止这种现象的发生,在控制端REC 和VCC 之间并联一个电容(大约为0.001uF 即可。它使控制端的电压同步拉起,一旦电压变高,电压上拉部分将保持高电平直到人为地使电压变低,从而防止伪EOM 标记的产生。

当然这种异常现象与印刷线路板的电容有关,因此不是每个人都会遇到这种情况。但为了使电路稳定工作,这个电容是必须的。

硬件电路原理图见附图。

4 系统软件设计

超声波倒车雷达系统的软件设计主要由主程序、超声波发射子程序、超声波接收中断程序及显示子程序四个主要模块组成。软件设计的总体结构框图如图4.1所示。

图4.1系统模块框图

(1) 系统初始化模块:系统刚上电的时候对系统的各个引脚的电平分配和对各寄存器的初值赋值。

(2) 发射接收控制模块:发射控制模块是软件控制超声波发射电路发射超声脉冲启动定时器工作,同时启动接收电路工作,当接收电路有信号输入时,对输入信号进行处理。

(3)温度补偿模块:根据DS18B20传到AT89C51的温度值进行处理修正声速。

(4) 运算结果处理模块:运算结果处理模块将多次所测得时间进行处理,进行软件取大值工作,根据公式计算出距离,然后再对计算得出的结果进行修正处理,数据处理后送至数码显示模块。

(5)数码管显示模块:通过该模块的设计能够让所测得的距离显示在数码管上。

主程序除了完成定时器T0、中断源TNT0初始化外,主要实现超声波的巡

回发射(调用超声波发射程序)和距离的动态扫描显示;INT0中断服务程序计算车尾距离障碍物的距离数据,该数据一方面交由主程序显示,另一方面与设定值(比如1m )进行比较,如小于1m ,接蜂鸣器报警,否则关闭报警;如果车尾距离障碍物的距离较远,超声波往返时间就会超过了定时器T 一次性最长的定时时间,则T0发生溢出而中断,这时进行距离计算,并显示“OFF”,以示车后无障碍物,可放心倒车。

4.1 软件设计要求

本系统的设计要求是利用超声波测距原理设计一个车用的倒车雷达。要求通过设计能够测出并显示车与障碍物的距离,并能在距离小于1m 的时候根据设定值进行声光报警。

4.2 超声波测距算法设计

超声波测距的原理:即为超声波发生器T 在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R 所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为:

d=s/2=(ct)/2 (4.1) 其中,d 为被测物与测距仪的距离,s 为声波的来回的路程,c 为声速,t 为声波来回所用的时间。测距时有安装在同一位置的超声波发射器和接收器完成超声波的发射与接收,有定时器计时。首先由发射器向特定方向发射超声波并同时启动定时器计时,超声波咋介质传播途中一旦遇到障碍物后就被反射回来,当接收器收到发射波立即停止计时。这样,定时器就记录下了超声波自发射点至障碍物之间往返传播经历的时间t 。由于常温下超声波在空气中的传播数的约为340m/s,所以由公式4.1知发射点距离障碍物之间的距离为:

S=340t/2=170t (4.2)

在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机

响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,由于精度要求较高,所以通过温度补偿的方法在软件中加以校正。

4.3 主程序

主程序是单片机程序的主体,整个单片机端系统软件的功能的实现都是在其中完成的,在此过程中主程序调用了子程序及中断服务程序。程序首先完成初始化过程,然后是一个重复的控制发射信号的过程,即调用发射子程序几遍,而且每次发射周期结束都很判断在发射信号后延时等待的过程中是否发生了中断,即是否有回波产生来判断程序的流程。主程序流程图如图4.2:

图4.2主程序流程图

工作时,微处理器AT89C51先把P1.0置0,启动超声波传感器发射超声波,同时启动内部定时器T0开始计时。要检测返回信号必须在启动发射信号后1.4ms 才可以检测,这样就可以抑制输出的干扰。当超声波信号碰到障碍物时信号立刻返回,微处理器不停的扫描INT0引脚,如果INT0接收的信号有高电平变为低电平,此时表明信号已经返回,微处理器进入中断关闭定时器。再把定时器中的数据经过换算就可以得出超声波传感器与障碍物之间的距离。然后再根据现场情况进行声光报警。

4.4 超声波发送、接收中断程序

超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz 的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。主程序利用为中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入中断程序后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1即Testok=1。如果当计时器溢出是还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2,及Testok=2以表示此次测距失败。超声波发射程序比较简单,主要包括T0中断服务程序和超声波接收中断服务程序。

下面分别给出各自的流程图如图4.3 和4.4:

图4.3 T0中断子程序 图4.4 超声波接受中断子程序

4.5 显示程序、报警程序

先进行动态显示初始化将指针指向缓冲区首地址,然后去显示位指针,取要显示的数,再将数变成段码,然后将段码送段控制器,位码送位控制器,在延时,然后判断是否是最后一位,是否显示完毕,没有的话修改该缓冲区指针和位码,直到显示完毕。

显示程序及报警程序流程图如图4.5,图4.6 。

图4.5 显示子程序 图4.6 报警子程序

结 论

课题主要完成对基于超声波测距的倒车测距仪的硬件电路设计、软件设计。本系统利用超声波测距的原理检测系统与障碍物之间的距离,并通过语音芯片进行实时播报距离和LED 显示距离信息。在进行本设计时,通过查阅网络与图书馆搜集到的资料,再加上指导老师的精心指导与生活中对于超声波的工作原理的观察研究相结合,设计出了这一套超声波倒车雷达系统,基本完成了课题的要求,但是由于设计的理论基础尚浅,对课题的研究经验还不成熟,使得在技术的解决与运用上显得粗糙了一些。在以后的改进过程中,使其功能更加齐全,设计的更加人性化。

本课题概括地说,完成以下几项工作:

1 了解超声波的概念、性质和超声波传感器的工作原理,研究了超声波测 距的基本原理。

2 选用ATC89C51单片机作为倒车测距仪的主控芯片,进行接收、报警和 显示控制。学习、研究了芯片各模块的功能及使用。

3 绘制系统各单元的电路原理图。 4 编写各模块子程序。

5 将各子程序综合,完成系统的主程序流程设计。 6 采用了分时的程序设计方法,使CPU 更有效率。 7 利用系统进行实验,得出进一步改善系统功能的想法。

致 谢

本论文是在王玉昆老师的悉心指导下完成的。在选题、设计研究及撰写论文过程中,王老师均给与了我莫大的指导和帮助,及时纠正和鼓励使我慢慢走出了电子设计研究的困顿,积累了很多经验,并完成了预期的任务。没有您的帮助和关怀,我不会这么顺利的完成毕业设计,借此机会,特向王老师表示我衷心的感激和深切的谢意。接着,我要感谢和我一起做毕业设计的同学, 在毕业设计的短短3个月里,你们给我提出很多宝贵的意见,给了我不少帮助还有工作上的支持,在此也真诚的谢谢你们。同时,我还要感谢我的寝室同学和身边的朋友,正是在这样一个团结友爱,相互促进的环境中,在和他们的相互帮助和启发中,才有我今天的小小收获。感谢身边的每一个人,谢谢!

参考文献

[1] 侯国章, 赖一楠, 田思庆. 测试与传感技术. 哈尔滨:哈尔滨工业大学出版社,2000

[2] 童诗白, 华成英. 模拟电子技术基础. 北京:高等教育出版社,2001

[3] 【日】松井邦彦,梁瑞林译. 传感器实用电路设计与制作. 北京:科学出版社,2005

[5] 杨欣, 王玉凤, 刘湘黔. 电子设计从零开始. 北京:清华大学出版社,2005 [6] 苏长赞. 红外线与超声波遥控[M].北京:人民邮电出版社,1993.7:26-35 [7] rotor S ,ZHANG G X. Geometric Error Measurement and Compensation of Machines [M].Annals of the CIRP. 1995:599-609

[8] 张谦琳. 超声波检测原理和方法[M].北京:中国科技大学出版社,1993:11-16 [9] 夏路易, 石宗义. 电路原理图与电路板设计教程PROTELL99SE. 北京:北京希望电子出版社,2002

[10] 赵晶 电路设计与制版— PROTEL99高级应用[M] 北京:人民邮电出版社,2000,23-40

[11] 黄培康,殷红成,许小剑雷达目标特性[专著] 北京:电子工业出版社,2005,333-338

附录A 程序清单

/*------------------------------------- 超声波测距器单片机程序 MCU AT89C51 XAL 12MHz #include #include

typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long ulong;

uchar code tab[]={0x18,0x7b,0x2c,0x29,0x4b,0x89, 0x88, 0x3b, 0x08, 0x09, 0xff, 0x8e};//段码

data uchar testok,num,keynum,mao; data uchar dispram[4]={0,0,0,0};//显示初值 data uint i;

data ulong time,baojing; data uchar testok; sbit P1_0 = P1^0; sbit P1_1 = P1^1;

sbit set=P2^0;//定义位寻址,设置键 sbit add=P2^1;//加 sbit dec= P2^2;//减 sbit ok= P2^3;//确定键

void delay(uchar t)//延时子程序 {

uchar i,j; for(i=0;i

}

init()//定时器初始化、启动超声波发送

{

uchar i=4;

TH0=0;

TL0=0;

TR0=1;

while(i--)

{

P1_0=~P1_0;

delay(1);

}

}

display()//显示子程序

{

uchar i,temp=0xef;

for(i=0;i

{

P2=temp;

if(mao==1&&keynum-1==i)

P0=0xff;//灭

else

P0=tab[dispram[i]];//亮,

temp=_crol_(temp,1);

delay(10);

P2=0xff;

}

}

void shanshuo()//闪烁

{

送显示数据

if(keynum

{

keynum++;

mao=1;

}

else

{

keynum++;

mao=0;

if(keynum==2)

keynum=0;

}

}

void keyscan()//键盘扫描

{

if(set==0)//设置键

delay(10);

if(set==0)

{

while(!set);

delay(10);

while(!set);

keynum++;//键值加1

EX0=0; //管定时器0和外部中断1

ET0=0;

if(keynum==5)

keynum=1;

}

if(keynum!=0)

{

if(add==0) //增加

delay(10);

if(add==0)

{

while(!add);

delay(10);

while(!add);

dispram[keynum-1]++; //对应的缓冲区值加1 if(dispram[keynum-1]==10)

dispram[keynum-1]=0;

}

if(dec==0) //值减

delay(10);

if(dec==0)

{

while(!dec);

delay(10);

while(!dec);

if(dispram[keynum-1]== 0)

dispram[keynum-1]=10;

dispram[keynum-1]--;//对应的缓冲区值减1

}

}

if(ok==0)//确定键

delay(10);

if(ok==0)

{

while(!ok)

delay(10);

while(!ok);

keynum=0;

baojing=dispram[3]*1000+dispram[2]*100+dispram[1]*10+dispram[0];//取出设置的报警值

EX0=1;

ET0=1;

}

/*主程序*/

void main(viod)

{

TMOD=0x01;//定时器0模式1

IE=0x80;//开总中断,相当于EA=1;

while(1)

{

testok=0;

if(keynum!=0)

shanshuo();

else{ init();//启动定时器0和超声波发送

EX0=1;//开外部中断0

ET0=1;//开定时器0中断

while(!testok)display();

}

keyscan();

if(1==testok)

{

time=TH0;

time=(time

time*=172; }

time/=10000;//变为厘米

if(time

P1_1=0;//报警

else P1_1=1;

dispram[0]=(uchar)(time%10);//距离计算送显示缓冲

time/=10;

dispram[1]=(uchar)(time%10);

time/=10;

dispram[2]=(uchar)(time%10);

dispram[3]=(uchar)(time%10);

}

if(2==testok)//超时显示OFF

{

dispram[0]=11;

dispram[1]=11;

dispram[2]=0;

dispram[3]=10;

}

for(i=0;i

}

}

/*超声接收程序(外中断0)*/

void cs_r(void) interrupt 0

{

TR0=0;

ET0=0;

EX0=0;

testok=1;

}

/*超时清除程序(内中断T0)*/

void overtime(void) interrupt 1

{

EX0=0;

ET0=0;

TR0=0;

testok=2;

}

辽宁科技大学本科生毕业设计(论文) 第I 页

基于单片机的超声波倒车雷达系统设计

摘要

随着我国汽车产业的高速发展,我国开始进入私家车时代,汽车的数量逐年增加,造成公路、街道、停车场、车库等越来越拥挤。汽车驾驶员越来越担心车的安全了,其中倒车就是一个典型。倒车时,驾驶员疲于前瞻后顾,很容易就发生追尾等碰撞事故。因此,增加汽车的后视能力,研制汽车后部探测障碍物的倒车雷达便成为近些年来的研究热点。本文设计的倒车雷达预警系统主要是针对汽车倒车时人无法目测到车尾与障碍物体的距离而设计开发的。该系统将微计算机技术与超声波的测距技术、传感器技术等相结合,可检测到汽车倒车中,其障碍物与汽车的距离,通过LED 数码管显示距离,并根据障碍物与车尾距离远近实时发出报警等级。工作时,超声波发射器不断发射出一系列连续脉冲,给测量逻辑电路提供一个短脉冲。最后由信号处理装置对接收的信号依据时间差进行处理,自动计算出车与障碍物之间的距离。本文介绍了基于AT89C51单片机的超声波测距器,其由超声波发射模块、信号接收模块、单片机处理模块、数码显示以及声光告警显示模块等部分组成。文中运用理论分析、计算机仿真等研究手段,完成了倒车测距仪硬件和软件的设计,并在测距算法上进行了改进,使测距速度更快。系统设计中采用了模块设计思想,简化了调试工作量,最终很好完成了超声波测距倒车雷达系统的硬件设计、软件设计及系统调试。

关键词:汽车倒车测距仪;超声波;AT89C51

DESIGN OF ULTRASONIC VEHICLE

REVERING SYSTEM WITH

UL TRASONIC BASEDON MCU

Abstract

With the rapid development of China's automobile ind ustry, China began to enter into the era of private cars, the car number increases year by year, causing the highway, streets, parking lot, garage, more and more crowded. Car drivers are increasingly worried about the safety of the car, the reverse is a typ ical. Therefore, to increase the ability o f the car after depending on and developing the back of my car detection of radar become obstacles back research topic in recent years. In this paper the reverse radar warning system design is mainly directed against the car back to the rear of the car and people can't visual obstacle the distance of the object and the design and development. This system makes the combinatio n of the computer technolo gy and the ultrasonic ranging techno lo gy, the sensor technolo gy, etc. It can detect the car back to the obstacles and the automobile distance, through the LED shows distance,and according to the obstacle and thetailstock which far and near sends out real-time warning level.At work, ultrasonic transmitters continuously launch a series of continuous pulse, to logic circuit provides a short pulses. Finally by signal processing device of received signal processing according to the time, calculating the d istance between the car and the obstacles automatically. This paper introduces the ultrasonic range finde r based on AT89C51. It consists of ultrasound module, the signal receiving module, SCM processing module, d igital d isp lay and sound and light alarm display module components.This paper using theoretical analysis, computer simulation research tools, and comp leted the reverse rangefinderdesign of hardware and software.It is so mething improved in the measure programme for measure quickly. A modular design concept was used at the process of

designing the system, it simplifies the debugging work load. Ultimately, hardware design, software design and system debugging about the ARR was completed very well.

KEY WORDS:Automob ile Reversing range finder;Ultrasonic Computer Simulatio n ;AT89C51

目 录

1 绪论.......................................................................................................................... 1

1.1 选题背景.............................................................................................................. 1

1.2 设计意义.............................................................................................................. 1

1.3 目前国内倒车雷达的发展概况.......................................................................... 1

1.4 当前存在的问题.................................................................................................. 3 2 总体设计方案 . ...................................................................................................... 4

2.1 模块构建.............................................................................................................. 4

2.2 超声波测距原理.................................................................................................. 5

2.3 超声波特点.......................................................................................................... 5

2.4 系统方案选择...................................................................................................... 7

2.5 超声波传感器...................................................................................................... 8

2.5.1 超声波传感器的原理及结构....................................................................... 8

2.5.2 超声波传感器的频率特性....................................................................... 10 3 系统的硬件设计 ................................................................................................ 12

3.1系统总体方案设计 ............................................................................................ 12

3.2 AT89C51单片机简介 . ....................................................................................... 12

3.3 电源部分的设计................................................................................................ 16

3.4 控制电路............................................................................................................ 17

3.5 温度补偿电路.................................................................................................... 17

3.5 超声波发射和接收电路.................................................................................... 19

3.5.1 超声波发射部分......................................................................................... 19

3.5.2 超声波接收电路......................................................................................... 20

3.6 LED 显示模块.................................................................................................... 23

3.7 语音实时播报电路............................................................................................ 23 4 系统软件设计 . .................................................................................................... 26

4.1 软件设计要求.................................................................................................... 27

4.2 超声波测距算法设计........................................................................................ 27

4.3 主程序................................................................................................................ 28

4.4 超声波发送、接收中断程序............................................................................ 29

4.5 显示程序、报警程序........................................................................................ 30 结 论 . ......................................................................................................................... 32 致 谢 . ......................................................................................................................... 33 参考文献 . .................................................................................................................. 34 附录A 程序清单 . .................................................................................................. 35

1 绪论

1.1 选题背景

随着汽车工业的发展,城市汽车数量迅速增加。尤其是近几年来,我国汽车的拥有量逐年增加,已是汽车消费大国了。人们将汽车作为其日常的生活工具,这也带来了不少的安全隐患。汽车驾驶员也越来越担心车的安全,其中倒车就是一个典型的问题。由于驾驶员无法看见车后的障碍物,倒车时很容易刮伤汽车,甚至发生事故。为了减少因此带来的损失,需要有一种专门的辅助装置帮助司机安全倒车。目前用于辅助司机倒车的装置主要有:语音告警装置、后视系统以及倒车雷达等。语音告警装置用于播放提示语以提醒车后的行人注意避让正在倒车的汽车。这种装置价格便宜,使用方便,其缺点是只能对车后的行人起告警作用,对于其他障碍物则不起作用,所以其应用范围有限。后视系统是由视频捕捉装置和视频播放装置组成,通过后视系统司机可以直观地看到车后的障碍物,消除视觉盲区。由于这类装置的价位较高,目前还没有普遍推广使用。

1.2 设计意义

随着汽车的迅速增加,停车难已经是不争的事实,狭小的停车场地常常令有车一族无所适从,稍不慎,则闯祸,烦事又烦人。虽然每辆车都有后视镜,但不可避免的都存在一个后视盲区。倒车雷达是汽车泊车或者倒车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员驾驶车辆周围障碍物的情况,解除了驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了使用死角和视线模糊的缺陷,提高驾驶的安全性。倒车雷达的发明是迫在眉睫的,是必不可少的设备。

1.3 目前国内倒车雷达的发展概况

目前,很多科研机构已对倒车测距技术进行深入研究、开发,国内外

也已有相应的产品。经过分析总结,按其工作方式分主要有超声波、红外、激光和毫米波等方法。虽然所用到的技术不完全相同,但基本原理都是通过不同的方法判断车后方障碍物与本车的相对距离,并根据预设置好的危险等级发出相应的指示信号。下面简要分析一下几种方式的特点:

超声波方式:超声波是频率大于20kHz 的声波,具有方向性强、能量衰减缓慢、在介质中传播距离远等特点,用于测距计算方法简单,常用于非接触式距离测量,其传感器种类较多, 由于超声波指向性强,在传输过程中能量损耗缓慢,反射能力强,经常被用于距离的测量。由于超声波测距的探测距离较短,主要用于倒车雷达等近距离测距[1]。

红外线方式:红外线的波长比可见光长,是肉眼看不见的光,有显著的热效应和较强的穿透云雾的能力。红外线可以人为制造, 自然界中也广泛存在,一般的生物都会辐射出红外线,体现出来的宏观效应就是热度。红外线透视和夜视是分别利用了红外线的不同性质。红外线测距系统成本低廉,但是容易受到天气和路边等物体干扰的影响,在恶劣的天气与环境下探测距离仍然不能满足要求。

激光方式:激光具有高定向性,能以定向的光束无发散地直线向前传播;单色性好,它可以达到的亮度比太阳光还高几百亿倍;相干性好,激光的频率、振动方向、相位高度一致。因此激光波束近似直线性,很少扩散,波束能量集中,传输距离较远。但它在对气候的适应能力方面具有局限性,因为激光测距方式受恶劣天气、汽车激烈震动、发射镜表面磨损、污染等因素影响,则探测距离减少二分之一至三分之一,降低了实用精度,所以在汽车倒车雷达领域激光测距方式没有得到很好发展。

毫米波方式:毫米波是微波的一个波段,频率在30-300G ,相应波长为1-10mm 。毫米波电子系统具有如下特性:小天线孔径具有较高的天线增益;高跟踪精度和制导精度;不易受电子干扰;不受被测物体表面形状、颜色等的影响;对大气紊流、气涡等具有适应性,并且毫米波雷达的天线也不会因为灰尘等污染而产生较大的误差;低角跟踪时多径效应和地杂波干扰小;多目标鉴别性能好;雷达分辨率高;大气衰减“谐振点”可作保密传输。但其价格昂贵,结构复杂。

汽车雷达按照其测距的方向可分为倒车雷达和前置雷达。倒车雷达主要针对当前在拥挤的街道、停车场以及人群当中倒车时时有发生的倒车碰撞事故而设计的。它是在汽车以较低速度倒车行驶时,周期内不停检测车后障碍物到车的距离,当达到一定危险距离时即时给予司机以声与光的形式的警告。由于倒车雷达检测距离比较短,可选择红外线和超声波,而本文就是对超声波倒车雷达的具体分析研究。

目前,很多汽车生产商已经开始在生产的汽车中加入超声波倒车雷达。

1.4 当前存在的问题

超声波倒车雷达运用超声波测距原理结合单片机或IC 的智能技术作为一种具有结构简单、智能判断不受可见光限制等特点的汽车倒车安全辅助装置应用到了轿车当中,但现有的倒车雷达还仍然存在如下一些问题[2]:

(1) 最大有效探测距离偏小的问题,等到报警后再减速就很紧张,感到预警时间不充足;

(2) 显示滞后性,多数倒车雷达的显示速度因考虑到抗干扰等因素,显示更新的速度约为0.2-0 4s,算上从倒车雷达发现目标到发出警报将需要1-2s ,这时车已经行使了一段距离,这显然存在反应迟钝;

(3) 以往关于倒车雷达的研究都采用的是不容易购买到的专用元件作为附加电路,使其难以推广;

(4) 主流产品仅仅是独立的控制单元,无法与汽车数字化信息平台接轨。目前我国的整车制造厂和汽车电子电器厂几乎没有涉及到汽车电器网络化设计的领域,选择一个合理的总线实现汽车电器的网络化非常必要[3]。

2 总体设计方案

2.1 模块构建

按照系统设计要求,超声波倒车测距仪由硬件和软件两部分组成,系统设计采用模块化思想。系统硬件结构分为三个主要部分:测距部分、控制部分和显示报警部分。软件部分按不同功能模块分别进行编程,便于调试和移植。

整个系统根据“回波测距”的原理设计的,其结构框图如图2.1所示。

图2.1 倒车测距仪系统结构原理图

该设计的应用背景是基于A T89C51的超声信号检测的,因此单片机选择为AT89C51 单片机(AT89C51)发出短暂的40KHz 信号,反射后的超声波经超声波接收器作为系统的输入,锁相环对此型号进行技术判断后,把相应的计算结果送到LED 显示电路显示,并进行声光报警。

2.2 超声波测距原理

超声波测距工作原理:

超声波测距正是利用超声波的直线传播特点,通过超声波换能器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时,根据计时器记录的时间t ,就可以计算出发射点距障碍物的距离(s ) ,即:s=ct/2 ——公式中c 代表超声波波速[4]。由于超声波也是一种声波,其声速c 与温度有关,表1列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理。图2.3即为超声波测距的具体流程图。

图2.3系统总体设计流程图

2.3 超声波特点

超声波是一种人耳无法听到的、频率一般超过20KHz 的声音。

超声波的基本特性如下所述:

(1)波长与辐射

波的传播速度是用频率乘以波长来表示。电磁波的传播速度是3 108m/s,而声波在空气中的传播速度很慢,约为344m/s(20℃时)。在这种比较低的传播速度下,波长很短,这就意味着可以获得较高的距离和方向分辨率。正是由于这种较高的分辨率特性,才使我们有可能在进行测

量时获得很高的精确度。超声波设备的外表面尺寸易于获得精确的辐射。

(2)反射

要探测某个物体是否存在,只要超声波能够在该物体上得到反射。由于金属、木材、混凝土、玻璃、橡胶和纸等可以反射近乎100%的超声波,此我们可以很容易地发现这些物体。由于布、棉花、绒毛等可以吸收超声波,因此很难利用超声波探测到它们。同时,由于不规则反射,通常可能很难探测到表面振动幅度很大的物体。

(3)温度效应

声波传播的速度C 可以用下列公式表示。C=331.5+0.607t(m/s)式中, t =温度(℃)也就是说,声音传播速度随周围温度的变化而有所不同。因此,要精确的测量与某个物体之间的距离时,始终检查周围温度是十分必要的。

如图2.4所示,温度越高,声音传播速度越快。

(4)衰减

图2.4 温度与声速的关系

传播到空气中的超声波强度随距离的变化成比例地减弱,这是因为衍射现象所导致的在球形表面上的扩散损失,也是因为介质吸收能量产生的吸收损失。如图2.5所示,超声波的频率越高,衰减率就越高,波的传播

距离也就越短。

图2.5 声压在不同距离上的衰减特性

2.4 系统方案选择

目前,汽车倒车测距技术主要有超声波、红外、激光和毫米波。对于各种方法都各自的优缺点,这前面也介绍了,而本系统采用超声波进行测距,不过超声波测距也有几种方案:

方案一:取输入脉冲的平均值电压

在超声波探测电路中,发射模块不断连续发射频率为40KHz 的超声波,同时接收模块将遇到障碍物反射回来的超声波转换成脉冲的平均值电压,该电压与距离成正比,通过A/D转换得到电压的数字信号量,再用查表法得出距离值。其原理是根据超声波在空气传播中的超声波强度随距离的变化成比例地减弱,再将超声波相应的幅值转换成相应的电压值。这种方案需要不断发射超声波,从而增加系统的功耗,并且需要用到一个A/D转换。如果主控芯片不带A/D转换,需要格外增加一块A/D转换芯片,增加成本。并且要事先测量出不同电压值对应的实际距离,制成表格,供程序查表,这也一定程度限制了测量的精度。

方案二:时间差测距法

超声波测距正是利用超声波的直线传播特点,通过超声波换能器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t ,就可以计算出发射点距障碍物的距离(s ) ,即:s=340t/2 ——这就是所谓的时间差测距法。这种方案不需要不断连续发射超声波,也不需要A/D转换,更重要的是,在不增加硬件的条件下可以把测量精度做到很高。

方案一是基于反射回来的超声波强度转换成脉冲的平均值电压,其抗脉冲干扰能力强,但增加了系统的复杂性,同时要增加A/D转换芯片,增加了成本。而方案二是基于时间差的测距原理,不需要A/D转换芯片,对回波的检测、放大、滤波处理较方案一更容易实现。且其测量误差主要取决于计时器的精度,基于成本、实现难度、精度等因素的考虑,本系统选择方案二。

2.5 超声波传感器

2.5.1 超声波传感器的原理及结构

超声波传感器是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同频率的其他形式的能的器件。目前常用的超声传感器有两大类,即电声型与流体动力型。电声型主要有:1 压电传感器;2 磁致伸缩传感器;3静电传感器。流体动力性中包括有气体与液体两种类型的哨笛。由于工作频率与应用目的不同,超声传感器的结构形式是多种多样的,并且名称也有不同,例如在超声检测和诊断中习惯上都把超声传感器称作探头,而工业中采用的流体动力型传感器称为“哨”活“笛”。压电式传感器属于超声传感器中电声型的一种。探头有压电晶片、契块、接头等组成,是超声检测中最常用的实现电能和声能相互转换的一种传感器,是超声波检测装置的重要组成部分。压电材料分为晶体和压电陶瓷两类。属于晶体的如石英,铌酸锂等,属于压电陶瓷的有锆钛酸铅,钛酸钡等。

其具有下列的特性:把这种材料置于电场之中,它就产生一定的应变;相反,对这种材料施以外力,则由于产生了应变就会在其内部产生一定方向的电场。所以,只要对这种材料加以交变电场,它就会产生交变的应变,从而产生超声振动。因此,用这种材料可以制成超声传感器[5]。

传感器的主要组成部分是压电晶片。当压电晶片受发射电脉冲激励后产生振动,即可发射声脉冲,是逆压电效应。当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号,是正压电效应。前者用于超声波的发射,后者即为超声波的接收。超声波传感器一般采用双压电陶瓷晶片制成。这种超声传感器需要的压电材料较少,价格低廉,且非常适用于气体和液体介质中。在压电陶瓷上加有大小和方向不断变化的交流电压时,根据压电效应,就会使压电陶瓷晶片产生机械变形,这种机械变形的大小和方向在一定范围内是与外加电压的大小和方向成正比的。也就是说,在压电陶瓷晶片上加有频率为f 0交流电压,它就会产生同频率的机械振动,这种机械振动推动空气等媒介,便会发出超声波。如果在压电陶瓷晶片上有超声机械波作用,这将会使其产生机械变形,这种机械变形是与超声机械波一致的,机械变形使压电陶瓷晶片产生频率与超声机械波相同的电信号。

压电式超声波发生器实际上是利用压电晶体的谐振类工作的,超声波发生器内部结构如图2.6所示。

图2.6压电式超声波传感器结构

它有两个压电晶片的一个共振板,当它的两级外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板的振动,便产生超声波。反之,如果两级间为外加电压,当共振板接收到

超声波时,将压迫压电晶片作振动,将机械能转化为电信号,这时它就成为超声波传感器。

压电陶瓷晶片有一个固定的谐振频率,即中心频率f 0。发射超声波时,加在其上面的交变电压的频率要与它的固有谐振频率一致。这样,超声传感器才有较高的灵敏度。当所用压电材料不变时,改变压电陶瓷晶片的几何尺寸,就可非常方便的改变其固有谐振频率。利用这一特性可制成各种频率的超声传感器。

超声波传感器的内部结构由压电陶瓷晶片、锥形辐射喇叭、底座、引线、金属壳及金属网构成,其中,压电陶瓷晶片是传感器的核心,锥形辐射喇叭使发射和接收超声波能量集中,并使传感器有一定的指向角,金属壳可防止外界力量对压电陶瓷晶片及锥形辐射喇叭的损坏。金属网也是起保护作用的,但不影响发射与接收超声波。 2.5.2 超声波传感器的频率特性

这里以本设计选用的超声波传感器TCT40-16型探头(如图2.7)为特例加以说明。

型号:TCT40-16R/T(直径16mm ) 1. 标称频率(KHz ):40KHz

2. 发射声压at10V (0dB=0.02mPa):≥117dB

3. 接收灵敏度at40KHz (0dB=V/ubar):≥-65dB

图2.7 TCT40-16型探头

4 .静电容量at1KHz,

TCT40-16R/T声压能级及灵敏度如图2.8 :

图2.8 TCT40-16R/T声压能级及灵敏度

由图2.8可以看出40khz 处为超声波传感器的中心频率,在此中心频率处,超声波传感器所产生的机械波最强,也就是说40khz 处所产生的声压能级最高。而在40khz 两侧声压能级迅速衰减。其频率特性曲线如图2.9所示。

图2.9 TCT40-16R/T传感器的频率特性曲线

由图2.9知超声波传感器一定要使用非常接近于中心频率40khz 的交流电压来激励。

3 系统的硬件设计

3.1系统总体方案设计

本系统基于超声波反射原理利用单片机控制器产生40Khz 的方波信号,通过发送模块对方波信号进行功率放大,驱动超声波探头,发射40K 超声波。超声波信号在空气中传播至障碍物后发生反射,反射回波经空气传播给超声波接收换能器并转换成电信号,经接收模块滤波、放大、整形后,输入到微控制器的外部中断口,产生中断,通过相应的公式计算出距离,然后将距离值通过LED 显示出来。为了减少不同环境下,系统都能达到测量精度的要求,需要对测量数据进行温度补偿,而本系统采用数字化温度传感器DS18B20进行温度取样,用算法对数据进行温度补偿。

如图3.1所示为系统总体框图。

超声波

··

图3.1 系统总体框图

3.2 A T89C51单片机简介

单片机是本系统的核心元件,它负责各个模块的协调工作,记录超声

波发送到遇障碍物后反射回来的时间差,并将这个时间差转化为距离,然后通过LED 显示模块把距离显示出来。

AT89C51是一种带4KB 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATME L 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

(1)主要特性: 与MCS-51 兼容

4K 字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8位内部RAM 32可编程I/O线

两个16位定时器/计数器 5个中断源 可编程串行通道

低功耗的闲置和掉电模式 片内振荡器和时钟电路 (2)AT89C51引脚如图3.2 管脚说明: VCC :供电电压。 GND :接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部

程序数据存储器,它可以在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。

图3.2 AT89C51引脚图

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL )这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示:

口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)

RST :复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 (3)振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

(4)芯片擦除:

整个PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但RAM ,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.3 电源部分的设计

在各种电子设备中,直流稳压电源是必不可少的组成部分,它是电子

设备唯一的能量来源,稳压电源的主要任务是将50Hz 的电网电压转换成

稳定的直流电压和电流,从而满足负载的需要,直流稳压电源一般由整流、

滤波、稳压等环节组成。其电路图图3.3所示。

其中,变压器将交流电源(220V/50Hz)变换为符合整流电路所需要

的交流电压;整流电路是具有单方向导电性能的整流器件,将交流电压整

流成单方向脉动的直流电压;滤波电路滤去单向脉动直流电压中的交流部

分,保留直流成分,尽可能供给负载平滑的直流电压;稳压电路是一种自

动调节电路,在交流电源电压波动或负载变化时,通过此电路使直流输出

电压稳定[7]。

图3.3 电源电路

220V 交流电通过电源变压器变换成交流低压电源,再经过桥式整流

电路D1~D4和滤波电容的整理和滤波,在固定式三端稳压器LM7805的

Vin 和GND 两端形成一个并不十分稳定的直流电压。此直流电压经过

LM7805的稳压和电容滤波便在稳压电源的输出端产生了精度高、稳定度

好的直接输出电压。如3.3所示的电路为输出电压为+5V、输出的电流1.5A

的稳压电源。它由电源变压器,桥式整流电路D1~D4,滤波电容C4、C5,

防止自激电容C10、C11和一只固定式三端稳压器(7805)组成。

3.4 控制电路

主控制器主要由单片机AT89C51、振荡器和复位电路三部分组成,它

是单片机工作的必要组成部分,又称为单片机最小系统。其中XTAL1和

XTAL2外接一个晶体振荡器,采用12MHZ 的晶振以获得稳定的时钟频率,

减小误差。RST 外接一个复位电路,晶体振荡电路为单片机提供时钟控制

信号。复位电路采用上电复位方式。电路图如图3.4所示。

图3.4 控制电路

3.5 温度补偿电路

DS18B20数字式温度传感器是DALLAS 公司生产的1-Wire ,即单总

线器件,与传统的热敏传感电阻温度传感器不同,能够直接读出被测温度

值,并且可根据实际要求,通过简单编程,实现9~12位的A/D转换。其

具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路

简单,十分方便。其测量温度范围在-55~+125℃之间。引脚图如图3.5。

引脚详细功能描述如表3.1。

图3.5 DS18B20引脚图

表3.1 DS18B20引脚功能描述 实际情况下,温度每上升或者下降 1℃, 声速将增加或者减少 0.607m

/s 。温度对于声速影响很大。本设计温度测量选用的DS18B20数字式温

度传感器,因其独特的一线接口,只需要一条口线通信多点能力,简化了

分布式温度传感应用,无需外部元件,可用数据总线供电电源范围为3.0V

至5.5V 无需备用电源。它通过输出9位(二进制)数字来直接表示所测

量的温度值,温度值是通过DS18B20的数据总线直接输入CPU , 无需A/D

转换,而且读写指令,温度转换指令都是通过数据总线传入DS18B20。

DS18B20数字温度传感器除了具有相当的测量范围和精度外,还具有温度

测量精度和不受外界干扰等的优点。其电路连接如图3.6所示。

图3.6温度补偿电路

3.5 超声波发射和接收电路

3.5.1 超声波发射部分

超声波发射电路包括超声波产生电路和超声波发射电路两个部分,超声波换能器选用压电式,可采用软件发生法和硬件发生法产生超声波。前者利用软件产生40KHz 的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波。这种方法的特点是充分利用软件,灵活性好。第二种方法是利用超声波专业发生电路或通用发生电路产生超声波信号,并直接驱动换能器产生超声波。这种方法的优点是无需驱动电路,但缺点是灵活性低。本设计采用第一种方法产生超声波发射信号。利用AT89C51的P1.0口发射40kHz 的方波信号后经过74LS04三级放大后输出到超声波换能器,产生超声波。74LS04是一个高速CMOS 六反相器,具有放大作用,具有对称的传输延迟和转换时间,而相对于LSTTL 逻辑IC ,它的功耗减少很多。对于HC 类型,其工作电压为2~6 V,它具有高抗扰度,可以兼容直接输入LSTTL 逻辑信号和CMOS 逻辑输入等特点。本系统将40KHz 方波信号分成两路,分别由74LS04经两次和一次反向放大,

从而构成推拉式反向放大。

发射电路主要由反向器74LS04和超声波换能器构成,如图3.7所示。单片机P1.0端口输出40KHz 方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极。用这种推挽形式将方波信号加到超声波换能器两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力,上拉电阻R10、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡的时间。

图3.7 超声波发射电路

3.5.2 超声波接收电路

超声波接收包括接收探头,信号放大以及波形变换电路三部分,超声波接收探头必须与发送探头相同的型号,否则可能导致接收效果不好甚至不能接收。由于超声波接收探头的信号非常弱,所以必须用放大器放大,放大后的正弦波不能被微处理器处理,所以必须经过波形变换。本次设计为了降低调试难度,减少成本,提供系统可靠性,所以我们采用了一种用在彩色电视机上面的一种红外接收

检波芯片CX20106,由于红外遥控的中心频率在38KHz ,和超声波的40KHz 很接近,所以可以用来做接收电路。CX20106是日本索尼公司的产品,采用单列8引脚的直插式封装,内部包含自动偏置控制电路、前置放大电路、带通滤波、峰值检波、积分比较器、斯密特整形输出电路,配合少量外接元件就可以对38KHz 左右的信号的接收与处理,该芯片内部如下图3.8所示:

图3.8 CX20106内部结构

前置放大器:它是高增益的放大器,由于超声波在空气中直线传输时,传输距离越大,能量的衰减越厉害,故反射回来的超声波信号的幅值会有很大的变化。为了不使放大器的输出信号过强而产生失真,集成块内部有自动电平限制电路,对前置放大器的增益进行自动限制。通过反馈将放大器设定于适当的状态,再由限制电平电路进行自动控制。

限度放大器:当信号太强时为了防止放大器过载,限制高电平振幅,同时也可消除寄生调幅干扰。

宽频带滤波器:其频率范围为30Hz~60Hz,其中心频率可调。

检测器:将返回的超声波的包络解调回来。

积分滤波器与整形电路:检测器输出的信号经积分滤波器送到整形电路,输出较好的矩形波。-

接收的回波信号先经过前置放大器和限幅放大器,将信号调整到合适的幅值;再经过带通滤波器滤波得到有用信号,滤除干扰信号;最后由峰值检波器和整形电路输出到锁相环路,实现准确的计时。

X20106构成本次设计接收电路如下图3.9:

图 3.9 超声波接收电路

使用CX20106A 集成电路对接收探头受到的信号进行放大、滤波。其总放大增益80db 。以下是CX20106A 的引脚注释[10]。

1脚:超声信号输入端,该脚的输入阻抗约为40kΩ。

2脚:该脚与地之间连接RC 串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R18或减小C12, 将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C12的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R18=4.7Ω,C12=10μF。

3脚:该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为10μf。

4脚:接地端。

5脚:该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f 0,阻值越大,中心频率越低。例如,取R=200kΩ时,f 0≈42kHz,若取R=220kΩ,则中心频率f 0≈38kHz。

6脚: 该脚与地之间接一个积分电容,标准值为330pF ,如果该电容取得太大,会使探测距离变短。

7脚:遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一

个上拉电阻到电源端,推荐阻值为200kΩ,没有接受信号是该端输出为高电平,有信号时则产生下降。

8脚:电源正极,4.5~5V 。

3.6 LED显示模块

图3.10 LED显示电路

超声波测距仪显示控制模块电路如图3.10所示。通过单片机的25、26、27、28四个管脚的信号控制四位三极管的B 极,利用三极管的开关特性,实现数码管的点亮,从而实现动态显示。采用LED 动态显示,数据经过PIC 芯片的计算后传到LED 上,显示精度是厘米。

单片机用P1.0端口输出超声波换能器所需的40KHz 方波信号,利用外中断0口检测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED 数码管,用于显示障碍物的距离,由单片机P0.0—P0.6接LED 的a~g七个笔段,P2.4~P2.7接四位8550的公共端,通过软件以动态扫描方式显示。段码用74LS244驱动,位码用PNP 三极管8550驱动。

3.7 语音实时播报电路

ISD1700系列录放芯片是一种高集成度,高性能的芯片。它可以多段录音,

采样率在4k 至12k 间调节,供电范围可以在2.4V 至5.5V 之间。ISD1700系列录放芯片可工作于独立按键模式和SPI 控制模式。芯片内有存储管理系统来管理多段语音,这样在独立按键模式下也能进行多段语音录放。此芯片内有振荡器,可通过外部电阻来调节其振荡频率;还有带自动增益控制(AGC)的话筒运放,模拟线路输入,抗锯齿滤波器,多级存储阵列,平滑滤波器,音量控制,直接驱动喇叭的PWM 输出与接外部功放的电流/电压输出。ISD1700还有有新录音提示功能,当有新的录音后,LED 回每秒闪一次来提示用户有新的录音。此外还有4种音效来提示用户的操作结果,如开始录音、停止录音、擦除、下一曲和全部擦除等。录音数据存储在芯片的FLASH 内,没有经过任何压缩,所以有较好的音质和断电存储。芯片有两路独立的语音信号输入通道,话筒输入与模拟信号输入。在独立按键模式下,当某功能操作完成后芯片会自动进入掉电模式来降低功耗。在SPI 模式下,用户可对芯片进行更多功能操作。如对任意存储地址进行录放,对模拟通道配置寄存器(APC )进行读写[11]。

ISD1700语音芯片具有以下特点:

(1) 可录、放音十万次,存储内容可以断电保留一百年

(2)两种控制方式,两种录音输入方式,两种放音输出方式。

(3)可处理多达 159 段以上信息。

(4)有丰富样的工作状态提示。

(5)多种采样频率对应多种录放时间。

(6)音质好,电压范围宽,应用灵活。

(7)用户可利用震荡电阻来自定芯片的采样频率,从而决定芯片的录放时间和录放音质。

ISD1700电气特性如下:

(1)工作电压:2.4V-5.5V ,最高不能超过 6V

(2)静态电流ISTB :0.5µA - 1µA.

(3)工作电流IOP :20mA.

本系统采用SPI 控制模式,通过外接1KΩ电阻来设定芯片的采样率为

6.4KHz 。

如图3.11 所示为实时播报电路:

图3.11 实时播报部分电路原理图

值得注意的,当系统上电时有时会出现意料之外的录音过程,而这个意外的录音过程会妨碍以前的声音回放,一个伪EOM 标记会出现在存储空间的开始部分。为了防止这种现象的发生,在控制端REC 和VCC 之间并联一个电容(大约为0.001uF 即可。它使控制端的电压同步拉起,一旦电压变高,电压上拉部分将保持高电平直到人为地使电压变低,从而防止伪EOM 标记的产生。

当然这种异常现象与印刷线路板的电容有关,因此不是每个人都会遇到这种情况。但为了使电路稳定工作,这个电容是必须的。

硬件电路原理图见附图。

4 系统软件设计

超声波倒车雷达系统的软件设计主要由主程序、超声波发射子程序、超声波接收中断程序及显示子程序四个主要模块组成。软件设计的总体结构框图如图4.1所示。

图4.1系统模块框图

(1) 系统初始化模块:系统刚上电的时候对系统的各个引脚的电平分配和对各寄存器的初值赋值。

(2) 发射接收控制模块:发射控制模块是软件控制超声波发射电路发射超声脉冲启动定时器工作,同时启动接收电路工作,当接收电路有信号输入时,对输入信号进行处理。

(3)温度补偿模块:根据DS18B20传到AT89C51的温度值进行处理修正声速。

(4) 运算结果处理模块:运算结果处理模块将多次所测得时间进行处理,进行软件取大值工作,根据公式计算出距离,然后再对计算得出的结果进行修正处理,数据处理后送至数码显示模块。

(5)数码管显示模块:通过该模块的设计能够让所测得的距离显示在数码管上。

主程序除了完成定时器T0、中断源TNT0初始化外,主要实现超声波的巡

回发射(调用超声波发射程序)和距离的动态扫描显示;INT0中断服务程序计算车尾距离障碍物的距离数据,该数据一方面交由主程序显示,另一方面与设定值(比如1m )进行比较,如小于1m ,接蜂鸣器报警,否则关闭报警;如果车尾距离障碍物的距离较远,超声波往返时间就会超过了定时器T 一次性最长的定时时间,则T0发生溢出而中断,这时进行距离计算,并显示“OFF”,以示车后无障碍物,可放心倒车。

4.1 软件设计要求

本系统的设计要求是利用超声波测距原理设计一个车用的倒车雷达。要求通过设计能够测出并显示车与障碍物的距离,并能在距离小于1m 的时候根据设定值进行声光报警。

4.2 超声波测距算法设计

超声波测距的原理:即为超声波发生器T 在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R 所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为:

d=s/2=(ct)/2 (4.1) 其中,d 为被测物与测距仪的距离,s 为声波的来回的路程,c 为声速,t 为声波来回所用的时间。测距时有安装在同一位置的超声波发射器和接收器完成超声波的发射与接收,有定时器计时。首先由发射器向特定方向发射超声波并同时启动定时器计时,超声波咋介质传播途中一旦遇到障碍物后就被反射回来,当接收器收到发射波立即停止计时。这样,定时器就记录下了超声波自发射点至障碍物之间往返传播经历的时间t 。由于常温下超声波在空气中的传播数的约为340m/s,所以由公式4.1知发射点距离障碍物之间的距离为:

S=340t/2=170t (4.2)

在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机

响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,由于精度要求较高,所以通过温度补偿的方法在软件中加以校正。

4.3 主程序

主程序是单片机程序的主体,整个单片机端系统软件的功能的实现都是在其中完成的,在此过程中主程序调用了子程序及中断服务程序。程序首先完成初始化过程,然后是一个重复的控制发射信号的过程,即调用发射子程序几遍,而且每次发射周期结束都很判断在发射信号后延时等待的过程中是否发生了中断,即是否有回波产生来判断程序的流程。主程序流程图如图4.2:

图4.2主程序流程图

工作时,微处理器AT89C51先把P1.0置0,启动超声波传感器发射超声波,同时启动内部定时器T0开始计时。要检测返回信号必须在启动发射信号后1.4ms 才可以检测,这样就可以抑制输出的干扰。当超声波信号碰到障碍物时信号立刻返回,微处理器不停的扫描INT0引脚,如果INT0接收的信号有高电平变为低电平,此时表明信号已经返回,微处理器进入中断关闭定时器。再把定时器中的数据经过换算就可以得出超声波传感器与障碍物之间的距离。然后再根据现场情况进行声光报警。

4.4 超声波发送、接收中断程序

超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz 的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。主程序利用为中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入中断程序后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1即Testok=1。如果当计时器溢出是还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2,及Testok=2以表示此次测距失败。超声波发射程序比较简单,主要包括T0中断服务程序和超声波接收中断服务程序。

下面分别给出各自的流程图如图4.3 和4.4:

图4.3 T0中断子程序 图4.4 超声波接受中断子程序

4.5 显示程序、报警程序

先进行动态显示初始化将指针指向缓冲区首地址,然后去显示位指针,取要显示的数,再将数变成段码,然后将段码送段控制器,位码送位控制器,在延时,然后判断是否是最后一位,是否显示完毕,没有的话修改该缓冲区指针和位码,直到显示完毕。

显示程序及报警程序流程图如图4.5,图4.6 。

图4.5 显示子程序 图4.6 报警子程序

结 论

课题主要完成对基于超声波测距的倒车测距仪的硬件电路设计、软件设计。本系统利用超声波测距的原理检测系统与障碍物之间的距离,并通过语音芯片进行实时播报距离和LED 显示距离信息。在进行本设计时,通过查阅网络与图书馆搜集到的资料,再加上指导老师的精心指导与生活中对于超声波的工作原理的观察研究相结合,设计出了这一套超声波倒车雷达系统,基本完成了课题的要求,但是由于设计的理论基础尚浅,对课题的研究经验还不成熟,使得在技术的解决与运用上显得粗糙了一些。在以后的改进过程中,使其功能更加齐全,设计的更加人性化。

本课题概括地说,完成以下几项工作:

1 了解超声波的概念、性质和超声波传感器的工作原理,研究了超声波测 距的基本原理。

2 选用ATC89C51单片机作为倒车测距仪的主控芯片,进行接收、报警和 显示控制。学习、研究了芯片各模块的功能及使用。

3 绘制系统各单元的电路原理图。 4 编写各模块子程序。

5 将各子程序综合,完成系统的主程序流程设计。 6 采用了分时的程序设计方法,使CPU 更有效率。 7 利用系统进行实验,得出进一步改善系统功能的想法。

致 谢

本论文是在王玉昆老师的悉心指导下完成的。在选题、设计研究及撰写论文过程中,王老师均给与了我莫大的指导和帮助,及时纠正和鼓励使我慢慢走出了电子设计研究的困顿,积累了很多经验,并完成了预期的任务。没有您的帮助和关怀,我不会这么顺利的完成毕业设计,借此机会,特向王老师表示我衷心的感激和深切的谢意。接着,我要感谢和我一起做毕业设计的同学, 在毕业设计的短短3个月里,你们给我提出很多宝贵的意见,给了我不少帮助还有工作上的支持,在此也真诚的谢谢你们。同时,我还要感谢我的寝室同学和身边的朋友,正是在这样一个团结友爱,相互促进的环境中,在和他们的相互帮助和启发中,才有我今天的小小收获。感谢身边的每一个人,谢谢!

参考文献

[1] 侯国章, 赖一楠, 田思庆. 测试与传感技术. 哈尔滨:哈尔滨工业大学出版社,2000

[2] 童诗白, 华成英. 模拟电子技术基础. 北京:高等教育出版社,2001

[3] 【日】松井邦彦,梁瑞林译. 传感器实用电路设计与制作. 北京:科学出版社,2005

[5] 杨欣, 王玉凤, 刘湘黔. 电子设计从零开始. 北京:清华大学出版社,2005 [6] 苏长赞. 红外线与超声波遥控[M].北京:人民邮电出版社,1993.7:26-35 [7] rotor S ,ZHANG G X. Geometric Error Measurement and Compensation of Machines [M].Annals of the CIRP. 1995:599-609

[8] 张谦琳. 超声波检测原理和方法[M].北京:中国科技大学出版社,1993:11-16 [9] 夏路易, 石宗义. 电路原理图与电路板设计教程PROTELL99SE. 北京:北京希望电子出版社,2002

[10] 赵晶 电路设计与制版— PROTEL99高级应用[M] 北京:人民邮电出版社,2000,23-40

[11] 黄培康,殷红成,许小剑雷达目标特性[专著] 北京:电子工业出版社,2005,333-338

附录A 程序清单

/*------------------------------------- 超声波测距器单片机程序 MCU AT89C51 XAL 12MHz #include #include

typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long ulong;

uchar code tab[]={0x18,0x7b,0x2c,0x29,0x4b,0x89, 0x88, 0x3b, 0x08, 0x09, 0xff, 0x8e};//段码

data uchar testok,num,keynum,mao; data uchar dispram[4]={0,0,0,0};//显示初值 data uint i;

data ulong time,baojing; data uchar testok; sbit P1_0 = P1^0; sbit P1_1 = P1^1;

sbit set=P2^0;//定义位寻址,设置键 sbit add=P2^1;//加 sbit dec= P2^2;//减 sbit ok= P2^3;//确定键

void delay(uchar t)//延时子程序 {

uchar i,j; for(i=0;i

}

init()//定时器初始化、启动超声波发送

{

uchar i=4;

TH0=0;

TL0=0;

TR0=1;

while(i--)

{

P1_0=~P1_0;

delay(1);

}

}

display()//显示子程序

{

uchar i,temp=0xef;

for(i=0;i

{

P2=temp;

if(mao==1&&keynum-1==i)

P0=0xff;//灭

else

P0=tab[dispram[i]];//亮,

temp=_crol_(temp,1);

delay(10);

P2=0xff;

}

}

void shanshuo()//闪烁

{

送显示数据

if(keynum

{

keynum++;

mao=1;

}

else

{

keynum++;

mao=0;

if(keynum==2)

keynum=0;

}

}

void keyscan()//键盘扫描

{

if(set==0)//设置键

delay(10);

if(set==0)

{

while(!set);

delay(10);

while(!set);

keynum++;//键值加1

EX0=0; //管定时器0和外部中断1

ET0=0;

if(keynum==5)

keynum=1;

}

if(keynum!=0)

{

if(add==0) //增加

delay(10);

if(add==0)

{

while(!add);

delay(10);

while(!add);

dispram[keynum-1]++; //对应的缓冲区值加1 if(dispram[keynum-1]==10)

dispram[keynum-1]=0;

}

if(dec==0) //值减

delay(10);

if(dec==0)

{

while(!dec);

delay(10);

while(!dec);

if(dispram[keynum-1]== 0)

dispram[keynum-1]=10;

dispram[keynum-1]--;//对应的缓冲区值减1

}

}

if(ok==0)//确定键

delay(10);

if(ok==0)

{

while(!ok)

delay(10);

while(!ok);

keynum=0;

baojing=dispram[3]*1000+dispram[2]*100+dispram[1]*10+dispram[0];//取出设置的报警值

EX0=1;

ET0=1;

}

/*主程序*/

void main(viod)

{

TMOD=0x01;//定时器0模式1

IE=0x80;//开总中断,相当于EA=1;

while(1)

{

testok=0;

if(keynum!=0)

shanshuo();

else{ init();//启动定时器0和超声波发送

EX0=1;//开外部中断0

ET0=1;//开定时器0中断

while(!testok)display();

}

keyscan();

if(1==testok)

{

time=TH0;

time=(time

time*=172; }

time/=10000;//变为厘米

if(time

P1_1=0;//报警

else P1_1=1;

dispram[0]=(uchar)(time%10);//距离计算送显示缓冲

time/=10;

dispram[1]=(uchar)(time%10);

time/=10;

dispram[2]=(uchar)(time%10);

dispram[3]=(uchar)(time%10);

}

if(2==testok)//超时显示OFF

{

dispram[0]=11;

dispram[1]=11;

dispram[2]=0;

dispram[3]=10;

}

for(i=0;i

}

}

/*超声接收程序(外中断0)*/

void cs_r(void) interrupt 0

{

TR0=0;

ET0=0;

EX0=0;

testok=1;

}

/*超时清除程序(内中断T0)*/

void overtime(void) interrupt 1

{

EX0=0;

ET0=0;

TR0=0;

testok=2;

}


相关文章

  • 基于单片机的超声波倒车雷达
  • 摘 要 本文设计了一款基于AT89C51单片机的倒车雷达,它采用ATMEL 公司生产的 A T89C51单片机作为控制核心,片外结合T/R-40-12小型超声波传感器模块.LCD1602液晶显示器模块.报警模块.晶振电路模块以及复位电路等模 ...查看


  • 电子信息工程毕业设计题目大全
  • 1 压力容器液位测量 2 多功能遥控小车 3基于RS232的仓库多点温度.湿度.气 4压检测系统 5自动控制升降旗系统 6基于RS485的温度报警系统 7基于模糊算法的水温控制系统的设计 8多分机电话交换机 9简易火灾自动报警系统 10基于 ...查看


  • 超声波测距文献
  • 文献综述: 超声波测距仪设计 1. 前言 超声测距指的是利用超声波的反射特性进行距离测量,在车辆自动导航.机器入的定位和对象识别.海洋水声以及工业距离的测量方面具有重要意义.常见的测距原理和方法主要有脉冲回波法和相位差法两种. 相位差法与脉 ...查看


  • 超声波测距文献 1
  • 文献综述: 超声波测距仪设计 1. 前言 超声测距指的是利用超声波的反射特性进行距离测量,在车辆自动导航.机器入的定位和对象识别.海洋水声以及工业距离的测量方面具有重要意义.常见的测距原理和方法主要有脉冲回波法和相位差法两种. 相位差法与脉 ...查看


  • 超声波测距技术综述
  • 文献综述 题 目 学生姓名 专业班级 学 号 院 (系) 指导教师 完成时间 超声波测距技术综述 电气信息工程学院 2014 年06月01日 超声波测距技术综述 摘 要 我们把频率高于20000赫兹的声波称为"超声波". ...查看


  • 超声波测距仪设计
  • 学校代码: 学 号: Hefei University 毕业论文(设计) BACHELOR DISSERTATION 论文题目: 超声波测距仪设计 学位类别: 工 学 学 士 学科专业: 自 动 化 作者姓名: 丁 宾 宾 导师姓名: 刘 ...查看


  • 循迹小车报告
  • 摘 要 80C51单片机是一款八位单片机,我做的是的是如何用80C51单片机来实现小车智能循迹.本系统以设计题目的要求为目的,采用80C51单片机为控制核心,利用红外对管传感器检测道路上的黑线,控制电动小汽车的自动循迹,快慢速行驶,以及声控 ...查看


  • 超声波测距毕业设计
  • 本科生毕业设计(论文) 题 目: 超声波测距系统的设计与应用 姓 名: 龚 国 亮 学 号: 010700731 学 院: 电气工程与自动化学院 专 业: 电气工程与自动化(自动化方向) 年 级: 2007级 指导教师: (签名) 2011 ...查看


  • 超声波液位计原理
  • 超声波液位计原理 北京正工电子科技有限责任公司是专业从事油田石化行业的原油储罐.分离罐.沉降罐.污水罐的油水界面.双液位.物位测量智能化仪器仪表,油水含量分析仪表在线/远传设备的研制.开发.生产和销售的高科技企业.公司多年来依托自己雄厚的技 ...查看


热门内容