资源描述
目 录
1引言1
1.1研究的目的和意义1
1.21 国外发展的状况以与存在的问题2
1.22 现有的倒车雷达存在的问题2
1.3本文研究的主要容2
2 超声波原理介绍2
2.1 超声波的基本理论2
2.11 超声波的传播速度3
2.12 超声波的物理性质4
2.13 超声波对声场产生的作用5
2.2 超声波测距系统原理6
2.3 规格参数8
2.31 主要功能8
2.32 基本参数8
3系统硬件设计9
3.1 单片机系统11
3.2 超声波发射接收模块12
3.3 报警电路设计12
3. 4 复位电路13
4系统软件程序14
5计算超声波传播时间23
6结论23
参考文献:24
致 25
33 / 34
基于单片机倒车防撞报警系统设计
杭
信息工程大学滨江学院, 210044
摘要:对于汽车倒车防撞问题,提出了将超声波测距仪和单片机结合于一体的方案,并给出了一种基于AT89C51单片机的倒车防撞报警系统的设计,对系统中控制部分、发射部分、接收部分、显示部分和报警部分出现的问题进行处理。本文采用一种简单易行的测距原理建立了防撞报警系统,具体分析了倒车防撞系统的设计原理与各部分元件的设计方案,充分描述了超声波测距的原理与应用,并介绍了我国在超声波测距的发展现状,不过还有一些无法避免的测量误差,还需日益俱进的科学发展加以解决。
关键词:AT89C51;超声测距;倒车防撞
1引言
1.1研究的目的和意义
随着社会经济的发展交通运输业飞速发展,汽车的数量在大副攀升。交通拥挤状况也日趋严重,撞车事件屡屡发生,造成了不可避免的人身伤亡和经济损失。针对这种情况,设计一种响应快,可靠性高且较为经济实用的汽车防撞报警系统势在必行。超声波测距法是最常见的一种距离测距方法,应用于汽车停车的前后左右防撞的近距离和低速状况,并且在汽车倒车防撞报警系统中,超声波作为一种特殊的声波,同样具有声波传输的基本物理特性——折射,反射,干涉,衍射,散射。超声波测距即是利用其反射特性,当车辆后退时,超声波距离传感器利用超声波检测车辆后方的障碍物位置,并利用指示灯与蜂鸣器把车辆到障碍物的距离与位置通知驾驶人员,起到安全的作用。
1.2 国外现状
1.21 国外发展的状况以与存在的问题
汽车倒车防撞测距报警器是国家安全技术发展期间重点开发的科研项目之一。以往的汽车倒车测距一般有四种:1嘀嘀声加闪光、2音乐声加闪光、3语音声加闪光、4倒车到危险距离时发出警报声的超声波倒车报警器。由于很多研究都采用的是特殊难购且稀有的专用元件,使其难以推广。而本设计采用国生产的通用元件,成本较低廉,并且使其在整个倒车过程中自动测量车尾到最近障碍物的距离,在倒车到极限距离时会发出急促的警告声,提醒驾驶员注意刹车,避免事故的发生。
1.22 现有的倒车雷达存在的问题
最大有效探测距离的问题:通过调查得知大多数驾驶员的习惯会使行人只有不到1s的时间脱离危险。这样一来,报警在减速时就很紧,明显会感到预警时间不足,引起不必要的事故发生。
1.3本文研究的主要容
本论文概述了超声波检测的发展与工作原理,阐述了超声波传感器的原理、特点、分类;对于报警系统的一些主要参数进行了讨论和研究,以与在超声波测距系统功能的基础上,提出了报警系统的总体结构;并且设计了系统发射、接收电路,并仔细介绍了系统各设计单元的原理与它们的工作原理。
2 超声波原理介绍
2.1 超声波的基本理论
超声波是一门以物理、电子、机械、以与材料科学为基础的、各行各业都要使用的通用技术之一。该技术在国民经济中,对提高产品质量,保障生产安全和设备安全运作,降低生产成本,提高生产效率特别具有潜在能力。因此,我国对超声波的研究特别活跃。
超声技术是通过超声波的产生、传播以与接收的物理过程完成的。超声波具有聚束、定向与反射、投射等特性。按超声波振动辐射大小不同大致可以分为:用超声波使物体或物性变化的功率应用,称之为功率超声;用超声波获取信息,称为检测超声。
超声波是听觉阈值之外的振动,其频率围在10——10Hz,其常的频率大约在10——3之间。超声波在超声场(被超声波充满的围)传播时,如果超声波的波长与超声场相比,超声场很大,超声波就像处在一种无限的介质中,超声波自由地向外扩散;反之,如果超声波的波长与相邻介质的尺寸相近,则超声波受到界面限制不能自由的向外扩散。
2.11 超声波的传播速度
超声波在介质中可以产生三中形式的振荡波:横波——质点振动方向垂直于传播方向的波;纵波——质点振动方向与传播方向一致的波;表面波——质点振动介于纵波和横波之间,沿表面传播的波。横波只能在固体中传播,纵波能在固体液体中和气体中传播,表面波随深度的增加其衰减很快。为了测量各种状态下的物理量多采用纵波形式的超声波。超声波的频率越高,越与光波某些特性相似。
超声波与气其他声波一样,其传播速度与介质密度和弹性特性有关。
超声波在气体和液体中,其传播速度C=()
式中 ——介质的密度;
——绝对压缩系数。
可以推导出超声波在空气种传播速度。(T为环境温度)。
超声波在固体中的传播速度分两种情况:
(1)纵波在固体介质中的传播速度与介质的形状有关。
(细棒)
(薄板)
(无限介质)
式中 E——氏模具;
——泊松系数;
K——体积弹性模具;
G——剪片弹性模。
(2)横波声速公式为
(无限介质)
在固体中,介于0——5之间,因此一般可视为横波声速为纵波的一半。
2.12 超声波的物理性质
当超声波传播到两种特性不同的介质的平面上时,一部分被反射;另一部分透射过界面,在相邻的介质部继续传播;这样的两种情况称之为超声波的反射和折射,如图1所示:
(1) 超声波的反射和折射
当超声波传播到两种特性阻抗不同介质的平面分界面上时,一部分超声波被反射;另一部分透射过界面,在相邻介质部继续传播;这样的两种情况称之为超声波的反射和折射,如图2.1.1所示。声波的反射系数和透射系数可以分别由如下两
式求得:
图 1 声波反射
式中:——分别为声波的入射角和反射角;
——分别为两介质的特征阻抗,其中为反射波和折射波的速度。反射角、折射角与声速满足折射定律关系式:。
当超声波垂直入射界面时,即,则:
如果sin>,入射波完全被反射,在相邻两个介质中没有折射波。
如果超声波斜入射到两个固体介质面或两粘滞弹性介质面时,一列斜入射的纵波不仅产生反射纵波和折射纵波,而且还产生反射横波和折射横波。
(2)超声波的衰减
超声波在一种介质中传播,其声压和声强按指数函数规律衰减。
在平面波的情况下,距离声源x处的声压p和声强I的衰减规律如下:
式中:——距离声源x=0处的声压和声强;
——超声波与声波间的距离;
A——衰减系数,单位为(奈培/厘米)。
(3)超声波的干涉
如果在一种介质中传播几个声波,于是产生波的干涉现象。若以两个频率一样,振幅和不等,波程差为d的两个波干涉为例,该两个波合成振幅为
,其中为波长。从上式看出,当d=0或d=(为整数)时,合成振幅达到最大值;当d=时,合成振幅为最小值。当时,;当d的奇数倍时,两波相互抵消合成幅度为0。
由于超声波的干涉,在辐射器的周围形成一个包括最大最小的扬声场。
2.13 超声波对声场产生的作用
(1) 机械作用
超声波传播过程中,会引起介质质点交替的压缩与伸,构成了压力的变化,这种压力的变化将引起机械效应。超声波引起质点的运动,虽然位移和速度不大,但是与超声波振动的频率的平方成正比的质点的加速度却很大。有时足以达到破坏介质的程度。
(2) 空化作用
在流体动力学指出,存在于液体中的微气泡在声场的作用下振动,当声压达到一定的值时,气泡将迅速膨胀,然后突然闭合,在气泡闭合时产生冲击波,这种膨胀、闭合、振动等一系列动力学过程称为空化。
(3) 热学作用
如果超声波作用于介质时被介质所吸收,实际上也就是有能量吸收,同时,由于超声波的振动,使介质产生强烈的高频振荡介质相互摩擦产生热热量,这种能量使介质温度升高。
2.2 超声波测距系统原理
在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。超声测距大致有以下方法:① 取输出脉冲的平均值电压,该电压 (其幅值基本固定 )与距离成正比,测量电压即可测得距离;② 测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔 t,故被测距离为 S=1/2vt。本测量电路采用第二种方案。由于超声波的声速与温度有关,如果温度变化不大,则可认为声速基本不变 。如果测距精度要求很高,则应通过温度补偿的方法加以校正。超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。
如图2,超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米(15℃时)。X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则有340m×0.03S=10.2m。由于在这10.2m的时间里,超声波发出到遇到返射物返回的距离如下:
图 2测距原理
超声波测距是借助于超声脉冲回波渡越时间法来实现的。设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离D可用下式求出:
D = ct /2
超声波测距器的系统框图如下图所示:
基本原理:经发射器发射出长约6mm,频率为40KHZ的超声波信号。此信号被物体反射回来由接收头接收,接收头实质上是一种压电效应的换能器。它接收到信号后产生mV级的微弱电压信号。
2.3 规格参数
2.31 主要功能
1、距离测量;
2、温度测量;
3、 光亮度测量;
2.32 基本参数
(1)工作电压:4.5V~5.5V。特别说明,绝对不允许超过5.5V
(2)功耗电流:最小1mA,最大20mA
(3)谐振频率:40KHz;
(4)探测距离围:4毫米~4米。误差:4%;
(5)(特别说明,探测最近距离为4mm,最远距离为4米,数据连续输出,不需要任何设置。)
(6)测量温度围:0℃至+100℃;精度:1℃
(7)测量光照度围:能测量出明亮和黑暗;
(8)数据输出方式:iic和uart(57600bps)两种方式,用户任选;其中UART方式,是以7个字节为一组,以0x55开头的3个数据是距离数值;以0x66开头的2个数据是温度数据;以0x77开头的2个数据是光照度数据。0x55\0x66\0x77是为区分3个数据而增加的数据头;
(9)时间限制:支持如下2种探测方式;1、持续探测;2、受控间歇探测;
(10)距离数据格式:以毫米为最小数据单位,双字节 16进制传输,前高后低;
(11)温度数据格式:以摄氏度为最小数据单位,单字节 16进制传输;光照数据格式:单字节16进制传输;光线暗时数值大,光线亮时数值小;
(12)工作温度围:0℃至+100℃
(13)存放温度:-40℃至+120℃
(14)外形尺寸:48mm*39mm*22mm(H)
(15)固定孔尺寸3*Φ3mm间距:10mm
发射部分的电脉冲电压很高,但是由障碍物回波因其的压电晶片产生的射频电压不过几十毫伏,要对这样小的信号进行处理就必须放大到一定的幅度。接收部分就由三级放大电路,检波电路与门限判别电路构成的,其中包括杂波抑制电路。最终达到对回波进行放大检测,产生一个单片机能够识别的中断信号作为回波到达的标志。但是由于超声传感器固有特性,即盲区的存在,对于回波的接收和处理造成了相当程度的影响。
3系统硬件设计
系统硬件原理图如图3与PCB双面板如图4:
图3 系统硬件原理图
图4 PCB双面板
3.1 最小单片机模块
本方案使用的单片机是AT89C51。AT89C51是一个低电压,高性能CMOS8位单片机。片含4KB的可反复擦写的Flash只读程序存储器和128B的随机存取数据存储器(RAM)。器件采用ATMEL公司的高密、非易失性存储技术产生,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。 AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是反复擦写的Flash存储器可有效地降低开发成本。
单片机最小模块常包含:复位电路,晶振电路,p0口排阻,电源接口电路,串口电路(本单片机程序都是从开发板上烧写进入,无需增加串口电路,可节约成本)。
3.2 超声波发射接收模块
由单片机产生40KHz的方波,直接驱动CD4049芯片,后面的CD4049则对40KHz频率信号进行调理,使超声波传感器产生谐振。
3.3 报警电路设计
系统报警电路由一个三极管和一个喇叭组成。
图5 系统报警电路
3. 4 LCD1602显示器模块
采用LCD1602可以作为外围输出设备,帮助超声波测距后显示出具体的距离,其具体使用方法和参数如下:
3.4.1 LCD1602主要技术参数:
显示容量:16×2个字符
芯片工作电压:4.5—5.5V
工作电流:2.0mA(5.0V)
模块最佳工作电压:5.0V
字符尺寸:2.95×4.35(W×H)mm
3.4.2 LCD1602各引脚功能:
第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15脚:背光源正极。
第16脚:背光源负极。
4系统软件程序
/*============================================================
08电信毕业生
[注:AT89x51使用12M或11.0592M晶振,实测使用11.0592M]
=============================================================*/
//全局变量 ,音符索引数
unsigned char musicNum;
//音符播放时定时寄存器处值TH0
unsigned char code high_buff[] = {240,229,240, 229,240, 229};
//音符播放时定时寄存器处值TL0
unsigned char code low_buff[] = {6,13,6,13,6,13};
#include <AT89x51.H> //器件配置文件
#include <intrins.h>
#define RX P0_3
#define TX P0_2
#define LCM_RW P0_5//定义LCD引脚
#define LCM_RS P0_6
#define LCM_E P0_4
#define LCM_Data P2
//定义按键和蜂鸣器的引脚
//sbit KEY = P0^7;
sbit SOUNDER = P0^7;
//#define Key_Data P2_0 //定义Keyboard引脚
//#define Key_CLK P3_2
#define Busy 0x80 //用于检测LCM状态字中的Busy标识
//函数声明集
void delayms(unsigned int ms);
void LCMInit(void);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
void Delay5Ms(void);
void Delay400Ms(void);
void Decode(unsigned char ScanCode);
void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCM,BuysC);
void delayfm(unsigned int x);
//void Timer0(void) interrupt 1;
unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void);
unsigned char code name[] ={"XXXXXXXXXX"};
unsigned char code number[] = {""};
unsigned char code Cls[] = {" "};
unsigned char code ASCII[15] = {'0','1','2','3','4','5','6','7','8','9','.','-','M'};
static unsigned char DisNum = 0; //显示用指针
unsigned int time=0;
unsigned long S=0;
bit flag =0;
unsigned char disbuff[4] ={ 0,0,0,0,};
/********************************************************/
//延时函数用于蜂鸣器的延时
void delayfm(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i = 0;i < 120;i++);
}
}
//蜂鸣器主函数
void fengmingqi(void)
{
// TMOD = 0x00; //定时器0工作在模式0
TH1 = (8192 - 700) / 32; //定时器赋初值
TL1 = (8192 - 700) % 32;
// EA = 1; //开总中断
ET1 = 1; //开定时器0定时溢出中断
SOUNDER = 0;
for(musicNum = 1;musicNum < 6;musicNum++)
{
TR1 = 1;
delayfm(500);
TR1 = 0;
delayfm(50);
}
}
//无源蜂鸣器中断采用t1定时器
void Timer1(void) interrupt 3
{
//蜂鸣器输出电平取反
SOUNDER = ~SOUNDER;
TH0 = high_buff[musicNum];
TL0 = low_buff[musicNum];
}
/********************************************************/
//写数据
void WriteDataLCM(unsigned char WDLCM)
{
ReadStatusLCM(); //检测忙
LCM_Data = WDLCM;
LCM_RS = 1;
LCM_RW = 0;
LCM_E = 0; //若晶振速度太高可以在这后加小的延时
LCM_E = 0; //延时
LCM_E = 1;
}
//写指令
void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC为0时忽略忙检测
{
if (BuysC) ReadStatusLCM(); //根据需要检测忙
LCM_Data = WCLCM;
LCM_RS = 0;
LCM_RW = 0;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
}
//读数据
unsigned char ReadDataLCM(void)
{
LCM_RS = 1;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
return(LCM_Data);
}
//读状态
unsigned char ReadStatusLCM(void)
{
LCM_Data = 0xFF;
LCM_RS = 0;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
while (LCM_Data & Busy); //检测忙信号
return(LCM_Data);
}
/********************************************************/
void LCMInit(void) //LCM初始化
{
LCM_Data = 0;
WriteCommandLCM(0x38,0); //三次显示模式设置,不检测忙信号
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,1); //显示模式设置,开始要求每次检测忙信号
WriteCommandLCM(0x08,1); //关闭显示
WriteCommandLCM(0x01,1); //显示清屏
WriteCommandLCM(0x06,1); // 显示光标移动设置
WriteCommandLCM(0x0F,1); // 显示开与光标设置
}
//按指定位置显示一个字符
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
Y &= 0x1;
X &= 0xF; //限制X不能大于15,Y不能大于1
if (Y) X |= 0x40; //当要显示第二行时地址码+0x40;
X |= 0x80; //算出指令码
WriteCommandLCM(X, 1); //发命令字
WriteDataLCM(DData); //发数据
}
//按指定位置显示一串字符
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
{
unsigned char ListLength;
ListLength = 0;
Y &= 0x1;
X &= 0xF; //限制X不能大于15,Y不能大于1
while (DData[ListLength]>0x19) //若到达字串尾则退出
{
if (X <= 0xF) //X坐标应小于0xF
{
DisplayOneChar(X, Y, DData[ListLength]); //显示单个字符
ListLength++;
X++;
}
}
}
/********************************************************/
//5ms延时
void Delay5Ms(void)
{
unsigned int TempCyc = 5552;
while(TempCyc--);
}
//400ms延时
void Delay400Ms(void)
{
unsigned char TempCycA = 5;
unsigned int TempCycB;
while(TempCycA--)
{
TempCycB=7269;
while(TempCycB--);
};
}
/********************************************************/
/*计数程序用于将超声波发出的信号时间与收到的作差通过计算公式从而求出距离*/
void count_etho(void)
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(time*1.7)/100; //算出来是CM
//用于判断是否满足条件如果距离少于要求则蜂鸣器报警
if( S <15)
{
fengmingqi();
}
if((S>=700)||flag==1) //超出测量围显示“-”
{
flag=0;
DisplayOneChar(0, 1, ASCII[11]);
DisplayOneChar(1, 1, ASCII[10]); //显示点
DisplayOneChar(2, 1, ASCII[11]);
DisplayOneChar(3, 1, ASCII[11]);
DisplayOneChar(4, 1, ASCII[12]); //显示M
}
else
{
disbuff[0]=S%1000/100;
disbuff[1]=S%1000%100/10;
disbuff[2]=S%1000%10 %10;
DisplayOneChar(0, 1, ASCII[disbuff[0]]);
DisplayOneChar(1, 1, ASCII[10]); //显示点
DisplayOneChar(2, 1, ASCII[disbuff[1]]);
DisplayOneChar(3, 1, ASCII[disbuff[2]]);
DisplayOneChar(4, 1, ASCII[12]); //显示M
}
}
/********************************************************/
void zd0() interrupt 1 //T0中断用来计数器溢出,超过测距围
{
flag=1; //中断溢出标志
}
/********************************************************/
void StartModule() //启动超声波模块
{
TX=1; //启动一次模块
//延时多个机器周期
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;//TX 重新清零
}
/********************************************************/
//延时子函数由LCD模块调用
void delayms(unsigned int ms)
{
unsigned char i=100,j;
for(;ms;ms--)
{
while(--i)
{
j=10;
while(--j);
}
}
}
/*********************************************************/
void main(void)
{
unsigned char TempCyc;
Delay400Ms(); //启动等待,等LCM讲入工作状态
LCMInit(); //LCM初始化
Delay5Ms(); //延时片刻(可不要)
DisplayListChar(0, 0, name);//初始化显示数据,把刚开始要输入的写出
DisplayListChar(0, 1, number);//写出刚开始要现实的学号
ReadDataLCM();//测试用句无意义
for (TempCyc=0; TempCyc<10; TempCyc++)
Delay400Ms(); //延时
DisplayListChar(0, 1, Cls); //显示空白,清空过渡
while(1)
{
TMOD=0x01; //设T0为方式1,GATE=1;
TH0=0;
TL0=0;
ET0=1; //允许T0中断
EA=1; //开启总中断
while(1)
{
StartModule();
// DisplayOneChar(0, 1, ASCII[0]);
while(!RX); //当RX为零时等待
TR0=1; //开启计数
while(RX); //当RX为1计数并等待
TR0=0; //关闭计数
count_etho(); //计算
delayms(80); //80MS
}
}
}
5计算超声波传播时间
T0中读取出来的时间差数据并不能作为距离值直接显示输出,因为时间差值与实际的距离值之间转换公式为S=0.5*V*T。其中,V为声音在常温下的传播速度,T为发射信号到接收之间经历的时间,在这个部分中,信号处理包括计数值与距离值换算,二进制与十进制转换。
6结论
在这漫长而又短暂之中,通过自己不断地学习,不断地努力与拼搏、不断地对新知识的追求与索取、不断地自我发现、感到自己的知识结构水平提出高了许多,对知识的掌握程度也加深了许多,对知识之间的相互联系也有了更深的了解;通过不断地提高自己的认识水平与能力、不断地学习新方法、新思想、新的思维方式、不断地改变自己的人生观和方法论、感到自己不但成长且成熟了许多;通过不断地把课本知识应用于实际,不断地把查阅到的资料与文献中有用的东西应用于实现,不断地把所学的理论与方法应用于设计之中,从而提高了自己理论联系实际的能力。
参考文献:
[1] 朱月秀,单片机原理与应用(第二版).:科学, 2004:2
[2] 周良权,傅恩锡, 世馨.模拟电子技术基础(第2版).:高等教育, 2001:121-123
[3] 莹.基于单片机的超声波测距系统:[硕士论文],华中科技大学硕士学位论文, 2004:4
[4] 邱平.略论我国非金属超声波检测仪器的发展状况.工程质量, 1998:56
[5] 超声波探伤编写组.超声波探伤.:电力工业, 1980:32
[6] 鸣华,余水宝.单片机在超声波料位测量中的应用.电子技术应用, 1998:157
[7] 丽霞.单片机在超声波测距中的应用.电子技术, 2002:117
[8] 荀殿栋.数字电路设计实用手册.:电子工业, 2003:108-110
[9] 戴曰章.基于AT89C51单片机的超声波测距系统.电气时代, 2005:246
[10] 董敏学.汽车倒车防撞防止系统设计.汽车, 2001:143-149
[11] 董子和,永辉.超声波测距系统的建立与其在汽车防撞系统的应用.汽车电器1997:15-16
[12] 茂山.超声波测距原理与实践技术.实用测距技术,:机械工业, 1994:16
[13] 雷辉.基于AT89C51的智能防撞报警器设计.电气时代, 2005:89
[14] 黄建兵.超声波精确测距的研究.理工大学学士学位论文, 2004:215
[15] 全利, 迟荣强.单片机原理与接口技术.:高等教育, 2004:12-14.
[16]曾城.基于CAN-BUS的汽车防撞报警系统控制单元的研究开发.:长安大
学,2004:126
[17] 胡铁红.高速公路追尾与侧向碰撞预警系统模型的研究.:长安大学,2004:66
[18] 纬华.高速公路碰撞预防报警系统传感器与电源研究.:长安大学,2004:63
[19] 侯德藻.汽车纵向主动避撞系统的研究.:清华大学,2004:41
[20] Gabriel leen, Dond Heffernam,and alan Dune. Digital Networks in the AuT0motive
Vehicle.IEE Computing & Control En
展开阅读全文