收藏 分享(赏)

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

上传人:HR专家 文档编号:4849432 上传时间:2019-01-16 格式:DOC 页数:24 大小:758.50KB
下载 相关 举报
基于单片机的汽车倒车雷达系统设计(含程序).doc_第1页
第1页 / 共24页
基于单片机的汽车倒车雷达系统设计(含程序).doc_第2页
第2页 / 共24页
基于单片机的汽车倒车雷达系统设计(含程序).doc_第3页
第3页 / 共24页
基于单片机的汽车倒车雷达系统设计(含程序).doc_第4页
第4页 / 共24页
基于单片机的汽车倒车雷达系统设计(含程序).doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、基于单片机的汽车倒车雷达系统设计摘 要随着社会经济的发展交通运输业日益兴旺,汽车的数量在大副攀升。交通拥挤状况也日趋严重,撞车事件屡屡发生,造成了不可避免的人身伤亡和经济损失,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车倒车防撞预警系统势在必行。本设计是利用最常见的超声波测距法来设计的一种基于单片机的汽车倒车雷达系统。 本设计的主要是基于 STC89C52 单片机利用超声波的特点和优势,将超声波测距系统和 STC89C52 单片机结合于一体,设计出一种基于STC89C52 单片机的汽车倒车雷达系统。该系统采用软、硬件结合的方法,实现了汽车与障碍物之间距离的显示以及危险距离的声光报警等

2、功能。 本设计论文概述了超声波检测的发展及基本原理,阐述了超声波传感器的原理及特性。在超声波测距系统功能和 STC89C52 单片运用的基础上,提出了系统的总体构成,对系统各个设计单元的原理进行了介绍,并且对组成各单元硬件电路的主要器件做了详细说明和选择。本设计论文还介绍了系统的软件结构,并通过编程来实现系统功能和要求。 关键词:汽车倒车雷达、STC89C52、超声波、测量距离、显示距离、声光报警第一章 绪论 1.1 课题设计的目的和意义随着汽车的普及,越来越多的家庭拥有了汽车。交通拥挤状况也随之出现,撞车事件也是经常发生,人们在享受汽车带来的乐趣和方便的同时,更加注重的是汽车的安全性,许多“

3、追尾”事故都与车距有着密切的关系。为了解决这个安全问题,设计一种汽车测距防撞报警系统势在必行。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单。所以超声波测距法是一种非常简单常见的方法,应用在汽车停车的前后左右防撞的近距离测量,以及在汽车倒车防撞报警系统中,超声波作为一种特殊的声波,具有声波传输的基本物理特性折射,反射,干涉,衍射,散射。超声波测距是利用其反射特性,当车辆后退时,超声波测距传感器利用超声波检测车辆后方的障碍物位置,并利用 LED 显示出来,当到达一定距离

4、时,系统能发出报警声,进而提醒驾驶人员,起到安全的左右。通过本课题的研究,将所学到的知识用在实践中并有所创新和进步。该设计可广泛应用在生活、军事、工业等各个领域,它需要设计者有较好的数电、模电知识,并且有一定的编程能力,综合运用所学的知识实现对超声波发射与接收信号进行控制,通过单片机程序对超声波信号进行相应的分析、计算、处理最后显示在液晶显示屏上。第二章 设计原理及总体方案2.1 本设计的研究方法本设计选用 US-100 超声波传感器。了解超声波测距的原理的,只有对理论知识有一定的学习才能运用到实际操作中。根据原理设计超声波测距仪的硬件结构电路。对设计的电路进行分析能够产生超声波,实现超声波的

5、发送和接收,从而实现利用超声波测距的方法测量物体之间的距离。具体设计一个基于单片机的超声波测距器,包括单片机控制电路,发射电路,接收电路,液晶显示电路,声光报警电路。2.2系统整体方案的设计由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。 超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也

6、各不相同。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用 STC89C52 单片机作为控制器,超声波驱动信号用单片机的定时器。2.3 系统整体方案的论证超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的

7、程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。第三章 系统的硬件设计2.1 系统的总体框图照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波收发模块、声光报警模块共四个模块组成。单片机主控芯片使用 51 系列 STC89C52 单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。图 3-1:系统设计框图硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电

8、路、报警输出电路、供电电路等几部分。单片机采用 STC89C52,系统晶振采用 12MHz 高精度的晶振,以获得较稳定时钟频率,减小测量误差。2.2 US-100超声波收发模块该超声波收发模块可自己产生 40kHz 的方波,并经放大电路驱动超声波发射探头发射超声波,发射出去的超声波经障碍物反射后由超声波接收探头接收。经接收电路的检波放大,积分整形,在 ECHO引脚上产生方波脉冲,该脉冲宽度与被测距离成线性关系。具体过程如图 2 所示。图 2 US-100 超声波收发模块工作时序图上图表明:只需要在 Trig/TX 管脚输入一个 10us 以上的高电平,系统便可发出 8 个 40KHZ 的超声波

9、脉冲,然后检测回波信号,当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过 Echo/RX 管脚输出。在此模式下,模块将距离值转化为 340m/s 时的时间值的 2 倍,通过 Echo 端输出一个高电平,可以根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2设 l 为测量距离,t 为往返时间差,超声波的传播速度为 c则有(2-1)cl/2而声波在空气中的传播速度为:(2-2)式中 T 为环境温度;c 为绝对温度时的速度,是常数。从上述两式0可以推出:(2-3)注:因为距离值已经经过温度校正,所以在此不需考虑温度补偿

10、问题,声速选择 340m/s 即可。使用 US-100 超声波收发模块进行距离测量测量时,单片机只需要输出触发信号,并监视回响引脚,通过定时器计算回响信号宽度,并换算成距离即可。该模块简化了发送和接收的模拟电路,工作稳定可靠,其参数指标如表 1 所示。应注意测量周期必须在 60 毫秒以上,防止发射信号对回响信号的影响。模块共有两个接口,即模式选择跳线和 5pin 接口。模式选择跳线接口设置为当安装上短路帽时为 UART(串口)模式,拔掉时为电平触发模式。电 气 参 数 US-100 超声波测距模块工 作 电 压 DC 2.4V5.5V静 态 电 流 2mA工 作 温 度 -20+70 度输 出

11、 方 式 电平或 UART(跳线帽选择)感 应 角 度 小于 15 度探 测 距 离 2cm-450cm探 测 精 度 0.3cm+1%UART 模式下串口配置 波特率 9600,起始位 1 位,停止位 1 位,数据位 8 位,无奇偶校验,无流控制。 )/(273/10 smTc273/10Ttcl表 1 US-100 模块参数2.3 单片机电路单片机选用高性能的 STC89C52,其管角如图 3 所示:图 3 STC89C52 单片机管脚图该芯片为 52 内核 8 位单片机,兼容 Intel 等 52 内核单片机,支持 ISP 下载,适用于常用检测控制电路。由 STC89C52 组成的单片机

12、系统原理图如图 4 所示。图中 TRIG 引脚为单片机发送触发信号的引脚,ECHO 引脚为 US-100 模块送回回响信号的引脚,接至单片机外部中断 P3.2 脚上,可以利用外部中断测量回响信号宽度。当测量距离小于 20cm 时,单片机通过管脚 P3.6 发出灯光报警信号,触发LED 报警灯亮,同时通过管脚 P3.7 发出声音报警信号,该信号用以触发蜂鸣器鸣响报警。图 4 单片机系统及超声波模块接口原理图2.4 蜂鸣器报警电路图 5 所示为蜂鸣器报警电路。由于单片机管脚的输入比输出电流大,因此电路设计为低电平输出时蜂鸣器响,高电平关闭。当 P3.7 脚输出低电平时,PNP 型三极管 8550

13、导通,有集电极电流通过,蜂鸣器鸣响。当 P3.7 脚输出高电平时,三极管截止,蜂鸣器关闭。图 5 蜂鸣报警电路2.5显示电路显示部分采用 SMC 1602 液晶屏进行数据显示,其主要技术参数为:显示容量 16*2 个字符芯片工作电压 4.55.5V工作电流 2.0mA(5.0V)模块最佳工作电压 5.0V字符尺寸 2.95*4.35(WXH)mm接口信号说明表 如表 3表 3 液晶屏借口信号说明编号 符号 引脚说明 编号 符合 引脚说明1 VSS 电源地 9 D2 Data I/02 VDD 电源正极 10 D3 Data I/03 VL 液晶显示偏压信号 11 D4 Data I/04 RS

14、 数据/命令选择端(H/L) 12 D5 Data I/05 R/W 读/写选择端(H/L) 13 D6 Data I/0表 2 液晶屏技术指标6 E 使能信号 14 D7 Data I/07 D0 Data I/0 15 BLA 背光源正极8 D1 Data I/0 16 BLA 背光源负极与单片机的接口电路如图 6 所示图 6 LCD 与单片机的接口电路2.6 系统总电路图通过对单片机主控模块、显示模块、超声波收发模块、声光报警模块共四个模块进行结合,可以绘出系统总的电路图如图 7:图 7 系统总电路图第四章 系统的软件设计3.1软件流程图本设计软件主程序流程图如图 8 所示, (a)为主

15、程序流程图,(b)为外部中断子程序流程图。数据初始化定时器初始化显示初始化进入后台 w h i l e 循环超声波测量触发有回波否 ?延时 6 0 m s外部中断子程序有无计算距离并显示距离小于2 0 c m 否 ?声光报警是否外部中断入口读取定时器当前值置测量成功标志返回(a) 主程序流程图 (b) 外部中断流程图图 8 程序流程图3.2 主程序详见附录3.3 程序说明系统加载 5V 电压后启动,数据、定时器、LCD1602 进行初始化,程序进入 while 循环,超声波测距模块触发,发射超声波并检测有无回波,如果有回波,则超声波模块发射电平信号,驱使单片机进行计算,将数据显示在 LCD16

16、02 上,如果无回波则跳过判断。程序在计算完距离后与 20cm 进行比较,如果小于 20cm,则驱动蜂鸣器和 LED 报警灯进行报警,如果大于 20cm,则进入一个 60ms 的延时,继续 while 循环进行测量。3.4 硬件设计图结论本文主要讲述了倒车雷达,即超声波测距仪的原理和设计方法,设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离,并以数字的形式显示测量距离,在距离小于 50cm 时发出报警。超声波测距的原理是利用超声波的发射和接收,根据超声波传播的时间来计算出传播距离。超声波测距仪硬件电路的设计主要包括单片机系统及显示电路

17、、超声波发射电路和超声波接收电路三部分。单片机采用STC89C51,采用 12M 高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机控制超声波发射与接收模块进行信号的发射与接收。显示电路采用 LCD 显示屏进行显示。附录:(1) 头文件和一些宏定义/*/*超声波测距仪 */*(液晶屏显示)*/*晶振 11.0592MHz*/#include #include “1602.h“typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号 8 位整型*/typedef signed char S8;

18、 /* defined for signed 8-bits integer variable 有符号 8 位整型*/typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 无符号 16 位整型*/typedef signed int S16; /* defined for signed 16-bits integer variable 有符号 16 位整型*/typedef unsigned long U32; /* defined for unsigned 32-bits integer varia

19、ble 无符号 32 位整型*/typedef signed long S32; /* defined for signed 32-bits integer variable 有符号 32 位整型*/typedef float F32; /* single precision floating point variable (32bits)单精度浮点数 32 位长度*/typedef double F64; /* double precision floating point variable (64bits)双精度浮点数 64 位*/定时器 0 的定时值为 1mS,即 11059/12=92

20、2 个时钟脉冲,其补为 65536-922=64614#define SYSTEMCLK 921600 /11059200/12#define T0CLK 921600 /11059200/12#define T1CLK 921600 /11059200/12#define T1PERIOD 1000000/921600 /T1 周期时间,以微秒为单位,约为 1.085uS#define TIMER0H 0xFC /64614/256=252#define TIMER0L 0x66 /54447%256=102(2) 管脚、常量、变量定义和函数声明/管脚定义sbit Trig = P13;sb

21、it Echo = P32; /回波必须接在外部中断引脚上sbit LedAlarm = P36; /报警灯,低电平亮sbit Beep = P37; /报警蜂鸣器/定义标志volatile bit FlagSucceed = 0; /测量成功标志volatile bit FlagDisplay = 0; /显示标志/定义全局变量U16 DisplayCount=0;U16 time=0;U32 distance=0;/函数声明void delay_20us();void Start_Module();void INT0_Init(void);void Data_Init();void Tim

22、er0_Init();void Timer1_Init();(3) 各子程序/20us 延时程序,不一定很准void delay_20us() U16 bt ;for(bt=0;bt= 1000) /1 秒钟显示一次FlagDisplay = 1;DisplayCount = 0; /定时器 1 初始化,16 位计数模式,时钟为 11059200/12=921600Hz/60ms 计数为 55296,即 0xD800void Timer1_Init()TMOD = 0x11; /定时器 0 和 1 工作在 16 位方式TH1 =0;TL1= 0;ET1 = 1;/启动模块,Trig 管脚 20

23、us 正脉冲void Start_Module() /启动模块Trig=1; /启动一次模块delay_20us();Trig=0;/* 名称 : Main()* 功能 : 主函数*/void main()U16 i, j;EA = 0;INT0_Init();Timer0_Init(); /定时器 0 初始化Timer1_Init(); /定时器 1 初始化Data_Init();EA = 1;L1602_init();L1602_string(1,1,“Welcome to my “);L1602_string(2,1,“distance meter! “);/延时for (i=0;i i

24、) Out_Date |= (temp = 0)sign = 0;elsesign = 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) /负数L1602_char(hang, lie, -);L1602_char(hang, lie+1, baiwei+48); L1602_char(hang, lie+2, shiwei+48); L1602_char(hang, lie+3, gewei+48); else if (num=10)if (sign = 1) L1602_char(hang, lie+1, -);L1602_char(hang, lie+2, shiwei+48); L1602_char(hang, lie+3, gewei+48);elseif (sign = 1) L1602_char(hang, lie+2, -);L1602_char(hang, lie+3, gewei+48);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报