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

合集下载

基于AT89C51单片机倒车防撞报警系统设计2

基于AT89C51单片机倒车防撞报警系统设计2

基于AT89C51单片机倒车防撞报警系统设计目录一、前言 (4)二、系统组成及工作原理 (4)三、系统硬件电路的设计 (5)(一)超声波发射与回波接收电路 (5)(二)超声波电信号放大电路 (5)(三)单片机控制电路和显示、报警电路 (6)四、系统软件的设计 (6)(一)主程序 (6)(二)T0中断服务程序 (8)(三)外部中断0服务程序 (9)(四)超声波发生子程序 (9)五、实现应用分析 (9)六、结语 (10)致词 (10)参考文献 (12)摘要介绍基于单片机控制的倒车雷达系统,该系统采用通用型单片机作为控制电路,方便系统功能扩展。

系统电路主要采用集成器件构成,外围元件少,电路简洁、调试方便、成本低,利于商品化生产,本系统充分利用了单片机的内部资源,用软件编程产生超声波矩形脉冲,代替硬件的超声波发生电路,节省了硬件成本。

关键词:LED数码管、蜂鸣器、倒车雷达、脉冲电压、AT89C2051单片机AbstractIntroduced based on single chip microcomputer control system, the system of reverse radar using universal model microcontroller as the control circuit, convenient system function expansion. System adopts integrated circuit main components, peripheral devices, simple circuit, commissioning, low cost, convenient for commercial production, this system makes full use of the internal resources, with MCU software programming in rectangular pulse, instead of producing ultrasonic wave occurs, the hardware circuit hardware cost saving.KEY WORDS: Led numerical codes tube、 buzzer、Back-draft radar、Pulse voltage、At89c2051 monolithic integrated circuits一、前言汽车倒车防撞预警系统即是俗称的倒车雷达,是汽车泊车辅助装置。

基于89C51单片机的智能倒车雷达

基于89C51单片机的智能倒车雷达

作品研究报告基于51单片机的倒车雷达设计一、引言倒车雷达(Parking Distance Control)是汽车泊车或者车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高驾驶的安全性。

目前市场上中低档汽车上装备的倒车雷达探测距离最大一般只有1.5米左右,且报警系统只是采用简单的“滴滴”声。

只有稍微高档的倒车雷达才会显示距离或简单的语音提示。

考虑到实际情况,本设计从成本考虑,在实现倒车雷达的基本功能同时,综合了液晶显示(1602)、光报警(发光二极管)、声音报警(蜂鸣器)和语音提示(ISD1800)。

二、系统概述系统采用超声波进行测距,软件设计中在50ms中断中发射超声波,超声波接收端连接到P3.2,当接收到返回的超声波时便会触发中断。

用1602实时显示距离,当距离小于指定范围时,通过液晶显示提示信息,语音提醒及用不同灯显示不同的距离。

三、硬件设计(1)测距模块超声波发射模块软件产生40kHz的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波,40kHz的超声波是利用555时基电路振荡产生。

超声波接收模块超声波接收器包括超声波接收探头、信号放大电路及波形变换电路三部分。

超声波探头必须采用与发射探头对应的型号。

为减少负电源的使用,放大电路采用单电源供电,信号放大和变换采用了一片LM324通用运算放大器,前三级为放大器设计,后一级为比较器设计。

测距模块时序分析(2)液晶显示模块采用1602液晶,设置为16×2模式,第一行实时显示所测的距离,当出现危险情况时第二行显示提示信息。

(3)语音模块美国ISD公司的一种单片8~20秒单段语音录放电路ISD1800,它的基本结构与ISD1110、1420完全相同,采用CMOS 技术,内含振荡器,话筒前置放大,自动增益控制,防混淆滤波器,扬声器驱动及FLASH阵列。

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

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

基于单片机的倒车雷达系统设计随着汽车数量的增多,道路的拥堵也越来越严重,特别是在城市里,车辆的进出显得异常棘手。

在这种情况下,需要特别注意的是倒车,因为倒车是道路上发生事故的重要原因之一。

为了解决这个问题,智能车辆倒车雷达系统应运而生。

本文将介绍基于单片机设计的倒车雷达系统。

设计方案倒车雷达系统的主要由以下元件组成:1. 超声波传感器:超声波传感器是倒车雷达系统的核心组件。

这种传感器用于发送超声波,并接收反射波。

它可以非常精确地测量超声波的时间和返回时间,以计算距离。

当车辆接近物体时,超声波传感器会发出指示。

2. 电路板:集成电路板将用于控制和处理超声波传感器发出的信号。

3. 显示屏:显示屏在车内用于显示不同距离的图形。

4. 微处理器:微处理器将用于控制整个系统并计算距离。

设计步骤下面是基于单片机的设计方案的步骤:1. 收集所需的零件并制作电路板:可以使用基本的电荷耦合器和其他所需的元件来集成电路板。

此电路板将用于控制和处理超声波传感器发出的信号。

2. 连接超声波传感器:将超声波传感器连接到电路板并确认它可以正常工作。

3. 编写程序:首先使用MCU IDE编写程序,然后将程序烧写到微控制器中,然后进行调试。

编写程序的目的是通过检测声波来计算距离,并将结果显示在显示器上。

4.安装显示屏和电路板:将电路板安装到车的后部,并将显示器安装在驾驶员区域。

然后将超声波传感器安装在车辆后部。

5.测试:在测试系统之前,请确保使车辆处于安全的停放区域。

开启呃泥制动器,然后启动车辆,将车辆倒车到检查距离,并查看显示屏上显示的值。

如果需要,可以调整超声波传感器的角度来更精确的检测距离。

总结基于单片机的倒车雷达系统具有安装简单、使用方便、成本低等优点。

车辆轻松倒车时,能够及时警示驾驶员,有效避免车辆碰撞和损坏。

建议广大车主在安全上考虑并安装此类倒车雷达系统。

基于单片机的超声波倒车雷达的实现设计

基于单片机的超声波倒车雷达的实现设计

基于单片机的超声波倒车雷达的实现设计超声波倒车雷达是一种有效的辅助驾驶系统,可以在倒车时帮助驾驶员避免碰撞和减少事故的发生。

本文将介绍如何基于单片机实现超声波倒车雷达的设计。

首先,我们需要了解超声波倒车雷达的原理。

超声波倒车雷达通过发射超声波信号并接收反射信号来测量与障碍物的距离。

首先,超声波模块会发射一束超声波信号,然后该信号会与障碍物发生反射。

接下来,超声波模块会接收到反射信号,并根据信号的时间差计算出与障碍物的距离。

最后,将这个距离显示在LCD屏幕上,提醒驾驶员注意。

接下来,我们需要选择合适的硬件和软件来实现这个设计。

在硬件方面,我们需要一个超声波模块(包括超声波传感器和放大器)和一个LCD 屏幕来显示距离。

在软件方面,我们可以使用C语言编程来控制单片机,计算距离并将其显示在LCD屏幕上。

开始实施这个设计之前,我们首先需要连接硬件。

超声波模块的引脚需要连接到单片机的GPIO引脚。

LCD屏幕通常有自己的驱动器,我们需要查看其手册以了解如何连接到单片机。

接下来,我们需要编写程序来控制单片机。

首先,我们需要初始化超声波模块和LCD屏幕。

通过GPIO引脚向超声波模块发送触发信号,然后计算超声波信号的时间差并转换为距离,最后将距离显示在LCD屏幕上。

在编写程序时,我们还可以添加一些附加功能,例如设置距离阈值来触发警报,或者根据距离改变警报的频率。

这些功能可以通过使用if语句或循环来实现。

完成编写程序后,我们需要进行测试和调试。

我们可以通过在倒车时将板子连接到车辆上来测试超声波倒车雷达的功能。

如果一切正常,我们可以观察到LCD屏幕上显示出与障碍物的距离。

最后,在安装超声波倒车雷达之前,我们需要将设备进行封装,以保护电路板和传感器不受外部影响。

我们可以使用3D打印技术创建一个外壳,并将电路板和传感器固定在内部。

在本文中,我们介绍了如何基于单片机实现超声波倒车雷达的设计。

通过了解原理、选择合适的硬件和软件、连接硬件、编写程序、测试和调试以及封装设备,我们可以成功实现这个设计,并为汽车的倒车过程提供一个有效的辅助系统。

基于单片机的汽车倒车雷达系统设计毕业设计

基于单片机的汽车倒车雷达系统设计毕业设计

基于单片机的汽车倒车雷达系统设计摘要随着社会经济的发展交通运输业日益兴旺,汽车的数量在大副攀升。

交通拥挤状况也日趋严重,撞车事件屡屡发生,造成了不可避免的人身伤亡和经济损失,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车防撞预警系统势在必行,超声波测距法是最常见的一种距离测距方法,本文介绍的就是利用超声波测距法设计的一种倒车防撞系统。

论文的内容是基于AT89C51单片机倒车防撞系统的设计,主要是利用超声波的特点和优势,将超声波测距系统和AT89C51单片机结合于一体,设计出一种基于AT89C51单片机的倒车防撞系统。

该系统采用软、硬件结合的方法,具有模块化和多用化的特点。

论文概述了倒车雷达的发展及基本原理,整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。

各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。

在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。

相关部分附有硬件电路图、程序流程图。

关键字:单片机超声波AT89C51一、引言1、倒车雷达设计的背景至今世界汽车工业经过了近122年的发展,当代汽车已经非常成熟和普遍了。

汽车已经渗透于国防建设、国民经济以及人类生活的各个领域之中,成为人类生存必不可少的、最主要的交通工具,尽管每辆车都有后视镜,但不可避免地都存在一个后视盲区,倒车雷达则可以在一定程度上帮助驾驶员扫除视角死角和视线模糊的缺陷,提高驾驶的安全性,减少剐蹭事件。

本次设计的倒车雷达预警系统主要是针对汽车倒车时人无法目测到车尾与障碍物体的距离而设计开发的。

该系统将微技术与超声波的测距技术、传感器技术等相结合,可检测到汽车倒车中,其障碍物与汽车的距离,通过液晶显示屏显示距离。

2、倒车雷达的发展状况经济的发展和科学技术的进步,推动着交通运输业朝行驶高速化,车流密集化和驾驶非职业化的方向发展。

同时,汽车的生产量和保有量都在急剧增加。

【个人笔记】基于单片机的倒车雷达系统设计硬件开发(仿真图、原理图、PCB图、实物图、C语言。。。

【个人笔记】基于单片机的倒车雷达系统设计硬件开发(仿真图、原理图、PCB图、实物图、C语言。。。

【个⼈笔记】基于单⽚机的倒车雷达系统设计硬件开发(仿真图、原理图、PCB图、实物图、C语⾔。

基于单⽚机的倒车雷达系统设计仿真图电路图原理图PCB图实物图C程序1 #include <reg52.h>2 #include <intrins.h>34#define uchar unsigned char // 以后unsigned char就可以⽤uchar代替 5#define uint unsigned int // 以后unsigned int 就可以⽤uint 代替67 sfr ISP_DATA = 0xe2; // 数据寄存器8 sfr ISP_ADDRH = 0xe3; // 地址寄存器⾼⼋位9 sfr ISP_ADDRL = 0xe4; // 地址寄存器低⼋位10 sfr ISP_CMD = 0xe5; // 命令寄存器11 sfr ISP_TRIG = 0xe6; // 命令触发寄存器12 sfr ISP_CONTR = 0xe7; // 命令寄存器1314 sbit LcdRs_P = P1^1; // 1602液晶的RS管脚15 sbit LcdRw_P = P1^2; // 1602液晶的RW管脚16 sbit LcdEn_P = P1^3; // 1602液晶的EN管脚1718 sbit Trig1_P = P3^2; // 超声波模块1的Trig管脚19 sbit Echo1_P = P3^3; // 超声波模块1的Echo管脚2021 sbit KeySet_P = P2^2; // 设置按键的管脚22 sbit KeyDown_P = P2^1; // 减按键的管脚23 sbit KeyUp_P = P2^0; // 加按键的管脚2425 sbit Buzzer_P = P2^3; // 蜂鸣器的管脚26 sbit Led1_P = P3^4; // 传感器1报警灯2728uint gAlarm; // 报警距离变量29303132/*********************************************************/33// 单⽚机内部EEPROM不使能34/*********************************************************/35void ISP_Disable()36 {37 ISP_CONTR = 0;38 ISP_ADDRH = 0;39 ISP_ADDRL = 0;40 }414243/*********************************************************/44// 从单⽚机内部EEPROM读⼀个字节,从0x2000地址开始45/*********************************************************/46 unsigned char EEPROM_Read(unsigned int add)47 {48 ISP_DATA = 0x00;49 ISP_CONTR = 0x83;50 ISP_CMD = 0x01;51 ISP_ADDRH = (unsigned char)(add>>8);52 ISP_ADDRL = (unsigned char)(add&0xff);53// 对STC89C51系列来说,每次要写⼊0x46,再写⼊0xB9,ISP/IAP才会⽣效54 ISP_TRIG = 0x46;55 ISP_TRIG = 0xB9;56 _nop_();57 ISP_Disable();58return (ISP_DATA);59 }606162/*********************************************************/63// 往单⽚机内部EEPROM写⼀个字节,从0x2000地址开始64/*********************************************************/65void EEPROM_Write(unsigned int add,unsigned char ch)66 {67 ISP_CONTR = 0x83;68 ISP_CMD = 0x02;69 ISP_ADDRH = (unsigned char)(add>>8);70 ISP_ADDRL = (unsigned char)(add&0xff);71 ISP_DATA = ch;72 ISP_TRIG = 0x46;73 ISP_TRIG = 0xB9;74 _nop_();75 ISP_Disable();76 }777879/*********************************************************/80// 擦除单⽚机内部EEPROM的⼀个扇区81// 写8个扇区中随便⼀个的地址,便擦除该扇区,写⼊前要先擦除82/*********************************************************/83void Sector_Erase(unsigned int add)84 {85 ISP_CONTR = 0x83;86 ISP_CMD = 0x03;87 ISP_ADDRH = (unsigned char)(add>>8);88 ISP_ADDRL = (unsigned char)(add&0xff);89 ISP_TRIG = 0x46;90 ISP_TRIG = 0xB9;91 _nop_();92 ISP_Disable();93 }94959697/*********************************************************/98// 毫秒级的延时函数,time是要延时的毫秒数99/*********************************************************/100void DelayMs(uint time)101 {102uint i,j;103for(i=0;i<time;i++)104for(j=0;j<112;j++);105 }106107108/*********************************************************/109// 1602液晶写命令函数,cmd就是要写⼊的命令110/*********************************************************/111void LcdWriteCmd(uchar cmd)112 {113 LcdRs_P = 0;114 LcdRw_P = 0;115 LcdEn_P = 0;116 P0=cmd;117 DelayMs(2);118 LcdEn_P = 1;119 DelayMs(2);120 LcdEn_P = 0;121 }122123124/*********************************************************/125// 1602液晶写数据函数,dat就是要写⼊的数据126/*********************************************************/127void LcdWriteData(uchar dat)128 {129 LcdRs_P = 1;130 LcdRw_P = 0;131 LcdEn_P = 0;132 P0=dat;133 DelayMs(2);134 LcdEn_P = 1;135 DelayMs(2);136 LcdEn_P = 0;137 }138139140/*********************************************************/141// 液晶光标定位函数142/*********************************************************/143void LcdGotoXY(uchar line,uchar column)144 {145// 第⼀⾏146if(line==0)147 LcdWriteCmd(0x80+column);148// 第⼆⾏149if(line==1)150 LcdWriteCmd(0x80+0x40+column);151 }152153154155/*********************************************************/156// 液晶输出字符串函数157/*********************************************************/158void LcdPrintStr(uchar *str)159 {160while(*str!='\0')161 LcdWriteData(*str++);162 }163164165/*********************************************************/166// 液晶输出数字167/*********************************************************/168void LcdPrintNum(uint num)169 {170 LcdWriteData(num/100+0x30); // 百位171 LcdWriteData(num%100/10+0x30); // ⼗位172 LcdWriteData(num%10+0x30); // 个位173 }174175176/*********************************************************/177// 1602液晶功能初始化178/*********************************************************/179void LcdInit()180 {181 LcdWriteCmd(0x38); // 16*2显⽰,5*7点阵,8位数据⼝182 LcdWriteCmd(0x0C); // 开显⽰,不显⽰光标183 LcdWriteCmd(0x06); // 地址加1,当写⼊数据后光标右移184 LcdWriteCmd(0x01); // 清屏185 }186187188189/*********************************************************/190// 1602液晶显⽰内容初始化191/*********************************************************/192void LcdShowInit()193 {194 LcdGotoXY(0,0); // 定位到第0⾏第0列195 LcdPrintStr("D: cm "); // 第0⾏显⽰"D: "196 }197198199/*********************************************************/200// 计算传感器1测量到的距离201/*********************************************************/202203uint GetDistance1(void)204 {205uint ss; // ⽤于记录测得的距离206207 TH0=0;208 TL0=0;209210 Trig1_P=1; // 给超声波模块1⼀个开始脉冲211 DelayMs(1);212 Trig1_P=0;213214while(!Echo1_P); // 等待超声波模块1的返回脉冲215 TR0=1; // 启动定时器,开始计时216while(Echo1_P); // 等待超声波模块1的返回脉冲结束217 TR0=0; // 停⽌定时器,停⽌计时218219 ss=((TH0*256+TL0)*0.034)/2; // 距离cm=(时间us * 速度cm/us)/2 220return ss;221 }222223/*********************************************************/224// 按键扫描225/*********************************************************/226void KeyScanf()227 {228if(KeySet_P==0) // 判断是否有按键按下229 {230 LcdGotoXY(0,0); // 光标定位231 LcdPrintStr(" Alarm Set "); // 第0⾏显⽰“ Alarm Set ”232 LcdGotoXY(1,0); // 光标定位233 LcdPrintStr(" alarm= cm "); // 第1⾏显⽰“ alarm= cm ”234 LcdGotoXY(1,8); // 光标定位235 LcdPrintNum(gAlarm); // 显⽰当前的报警值236237 DelayMs(10); // 消除按键按下的抖动238while(!KeySet_P); // 等待按键释放239 DelayMs(10); // 消除按键松开的抖动240241while(1)242 {243/* 报警值减的处理 */244if(KeyDown_P==0)245 {246if(gAlarm>2) // 报警值⼤于2才能减1247 gAlarm--; // 报警值减1248 LcdGotoXY(1,8); // 光标定位249 LcdPrintNum(gAlarm); // 刷新修改后的报警值250 DelayMs(300); // 延时251 }252253/* 报警值加的处理 */254if(KeyUp_P==0)255 {256if(gAlarm<400) // 报警值⼩于400才能加1257 gAlarm++; // 报警值加1258 LcdGotoXY(1,8); // 光标定位259 LcdPrintNum(gAlarm); // 刷新修改后的报警值260 DelayMs(300); // 延时261 }262263/* 退出报警值设置 */264if(KeySet_P==0)265 {266break; // 退出while循环267 }268 }269270 LcdShowInit(); // 液晶恢复测量到测量界⾯271 DelayMs(10); // 消除按键按下的抖动272while(!KeySet_P); // 等待按键释放273 DelayMs(10); // 消除按键松开的抖动274275 Sector_Erase(0x2000); // 保存报警距离276 EEPROM_Write(0x2000,gAlarm/100);277 EEPROM_Write(0x2001,gAlarm%100);278 }279 }280281282/*********************************************************/283// 传感器1报警判断284/*********************************************************/285void AlarmJudge1(uint ss)286 {287288if(ss<gAlarm) // LED灯判断289 {290 Led1_P=0;291 Buzzer_P=1;292 DelayMs(10);293 Buzzer_P=0;294 DelayMs(10);295 }296else297 {298 Led1_P=1;299 Buzzer_P=0;300 }301302303 }304305/*********************************************************/306// 报警值初始化307/*********************************************************/308void AlarmInit()309 {310 gAlarm=EEPROM_Read(0x2000)*100+EEPROM_Read(0x2001); // 从EEPROM读取报警值311312if((gAlarm==0)||(gAlarm>400)) // 如果读取到的报警值异常(等于0或⼤于400则认为异常)313 {314 gAlarm=15; // 重新赋值报警值为15315 }316 }317318319/*********************************************************/320// 主函数321/*********************************************************/322void main()323 {324 uchar i; // 循环变量325uint dist; // 保存测量结果326327 LcdInit(); // 液晶功能初始化328 LcdShowInit(); // 液晶显⽰内容初始化329 AlarmInit(); // 报警值初始化330331 TMOD = 0x01; // 选择定时器0,并且确定是⼯作⽅式1(为了超声波模块测量距离计时⽤的)332333 Trig1_P=0; // 初始化触发引脚为低电平334335while(1)336 {337/*传感器1*/338 dist=GetDistance1(); // 读取超声波模块1测量到的距离339 LcdGotoXY(0,7); // 光标定位340 LcdPrintNum(dist); // 显⽰传感器1测量到的距离341 AlarmJudge1(dist); // 判断传感器1的测量距离是否需要报警342343/*延时并扫描按键*/344for(i=0;i<15;i++)345 {346 KeyScanf();347 DelayMs(10);348 }349350351 }352 }。

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

基于单片机的超声波倒车雷达系统的设计
1.2 设计的意义和要求
随着汽车的迅速增加,停车难已经是不争的事实,狭小的停车场地常常令有车一族无所适从,稍不慎,则闯祸,烦事又烦人。虽然每辆车都有后视镜,但不可避免的都存在一个后视盲区。倒车雷达是汽车泊车或者倒车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员驾驶车辆周围障碍物的情况,解除了驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了使用死角和视线模糊的缺陷,提高驾驶的安全性。倒车雷达的发明是迫在眉睫的,是必不可少的设备。
1.1目前国内倒车雷达的发展现状
经过多年的发展,倒车雷达设计以及使用发生了质的变化。经过这几年的发展,倒车雷达系统已经经过了六代技术改良,不管从结构外观上,还是从性能价格上,这六代产品都各有特点,使用较多的是数码显示、荧屏显示和魔幻镜倒车雷达这三种。
第一代:倒车时通过喇叭提醒 。“倒车请注意”!想必不少人还记得这种声音,这就是倒车雷达的第一代产品,现在只有少部分商用车还在使用。只要司机挂上倒档,它就会响起,提醒周围的人注意,从某种意义上来说,它对驾驶员并没有直接的帮助,不能算真正的倒车雷达,基本属于淘汰产品。
关键词:超声波 测距 AT89C51 倒车
DESIGN OF ULTRASONIC VEHICLE
REVERING SYSTEM WITH
ULTRASONIC BASEDON MCU
ABSTRACT
In recent years, China's number of cars is increasing every year. Highways, streets, parking, garage and other crowded places narrow reverse, the driver should not only forward but also looking back, a little rear-end careless accidents can occur.So after the increase of motor vehicles as the ability to detect obstacles on the development of the rear of the car reversing radar has become the research hotspot in recent years. the ultrasonic transmitter continuously emits a series of consecutive pulses to the measurement of logic circuits to provide a short pulse. Finally, signal processing devices based on the received signal for processing the time difference, automatic calculation of turnout and the distance between obstacles. Ultrasonic Ranging simple, low cost, easy production, but the transmission speed by a larger weather can not be precise range; In addition, the ultrasonic energy and the attenuation is directly proportional to thesquare of the distance, the farther the distance, the lower sensitivity and thus Ultrasonic Ranging way so that only apply to a shorter distance. At present, ultrasonic range finder at home and abroad in general, the ideal distance of the measurement1~ 5 m, based on AT89C51 ultrasonic range-finder.Receiving circuit using the SONY company dedicated CX20106A infrared detecting chip, the chip used in the detector circuit 38KHz, the text of the chip through the careful analysis of the internal circuit design can successfully 40kHz ultrasonic detection of hardware circuitry and adjustable gain, The use of digital rangefinder display the distance between objects.

《基于单片机的汽车倒车雷达系统设计》

《基于单片机的汽车倒车雷达系统设计》

《基于单片机的汽车倒车雷达系统设计》随着汽车的普及和城市道路的拥挤,车辆挤压事故成为公共安全的一大隐患。

为了避免这种情况发生,许多车辆都安装了倒车雷达系统。

倒车雷达系统能够帮助司机及时掌握车辆周围的情况,有效避免碰撞事故的发生。

本文将介绍基于单片机的汽车倒车雷达系统设计。

1.系统需求分析倒车雷达系统的主要功能是实时监测车辆周围的障碍物,并通过声音或图像等方式向驾驶员发出警告,帮助驾驶员安全倒车。

系统需要具备以下功能:-足够的探测范围:系统需要能够覆盖车辆周围的盲区,确保能够及时发现障碍物。

-实时监测:系统需要能够实时监测周围的环境,及时反馈给驾驶员。

-警告功能:系统需要能够根据障碍物的距离和位置发出相应的声音或图像警告。

-稳定可靠:系统需要稳定可靠,能够在不同的环境条件下正常工作。

2.系统设计方案基于单片机的汽车倒车雷达系统设计方案如下:-使用超声波传感器:通过安装在车辆四周的超声波传感器来监测周围的障碍物。

-单片机控制:将传感器采集到的数据发送给单片机进行处理,处理后根据距离和方向等信息给出警告。

-显示器:将警告信息显示在车载显示器上,供驾驶员查看。

-声音模块:通过声音模块给出实时的声音警告,帮助驾驶员更快速的做出反应。

3.硬件设计硬件设计方面,可以选择常用的单片机模块,如Arduino、STC等,配合超声波传感器、LCD显示屏和蜂鸣器等模块组成倒车雷达系统。

传感器模块通过串口通信传输给单片机,单片机根据接收到的数据进行处理,并控制LCD显示警告信息和蜂鸣器发出声音。

4.软件设计软件设计方面,可以利用单片机开发环境提供的编程语言进行编程,根据传感器数据的变化给出相应的警告。

例如,根据障碍物的距离来显示不同的颜色或播放不同的声音,帮助驾驶员更直观地了解周围环境。

同时需要考虑系统的稳定性和精准度,以确保系统能够在不同环境下正常工作。

5.系统测试系统设计完成后,需要进行实际测试,验证系统的功能和性能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的汽车倒车雷达系统设计摘要随着社会经济的发展交通运输业日益兴旺,汽车的数量在大副攀升。

交通拥挤状况也日趋严重,撞车事件屡屡发生,造成了不可避免的人身伤亡和经济损失,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车倒车防撞预警系统势在必行。

本设计是利用最常见的超声波测距法来设计的一种基于单片机的汽车倒车雷达系统。

本设计的主要是基于STC89C52单片机利用超声波的特点和优势,将超声波测距系统和STC89C52单片机结合于一体,设计出一种基于STC89C52单片机的汽车倒车雷达系统。

该系统采用软、硬件结合的方法,实现了汽车与障碍物之间距离的显示以及危险距离的声光报警等功能。

本设计论文概述了超声波检测的发展及基本原理,阐述了超声波传感器的原理及特性。

在超声波测距系统功能和STC89C52单片运用的基础上,提出了系统的总体构成,对系统各个设计单元的原理进行了介绍,并且对组成各单元硬件电路的主要器件做了详细说明和选择。

本设计论文还介绍了系统的软件结构,并通过编程来实现系统功能和要求。

关键词:汽车倒车雷达、STC89C52、超声波、测量距离、显示距离、声光报警第一章绪论1.1 课题设计的目的和意义随着汽车的普及,越来越多的家庭拥有了汽车。

交通拥挤状况也随之出现,撞车事件也是经常发生,人们在享受汽车带来的乐趣和方便的同时,更加注重的是汽车的安全性,许多“追尾”事故都与车距有着密切的关系。

为了解决这个安全问题,设计一种汽车测距防撞报警系统势在必行。

由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。

利用超声波检测往往比较迅速、方便、计算简单。

所以超声波测距法是一种非常简单常见的方法,应用在汽车停车的前后左右防撞的近距离测量,以及在汽车倒车防撞报警系统中,超声波作为一种特殊的声波,具有声波传输的基本物理特性—折射,反射,干涉,衍射,散射。

超声波测距是利用其反射特性,当车辆后退时,超声波测距传感器利用超声波检测车辆后方的障碍物位置,并利用LED 显示出来,当到达一定距离时,系统能发出报警声,进而提醒驾驶人员,起到安全的左右。

通过本课题的研究,将所学到的知识用在实践中并有所创新和进步。

该设计可广泛应用在生活、军事、工业等各个领域,它需要设计者有较好的数电、模电知识,并且有一定的编程能力,综合运用所学的知识实现对超声波发射与接收信号进行控制,通过单片机程序对超声波信号进行相应的分析、计算、处理最后显示在液晶显示屏上。

第二章设计原理及总体方案2.1 本设计的研究方法本设计选用US-100超声波传感器。

了解超声波测距的原理的,只有对理论知识有一定的学习才能运用到实际操作中。

根据原理设计超声波测距仪的硬件结构电路。

对设计的电路进行分析能够产生超声波,实现超声波的发送和接收,从而实现利用超声波测距的方法测量物体之间的距离。

具体设计一个基于单片机的超声波测距器,包括单片机控制电路,发射电路,接收电路,液晶显示电路,声光报警电路。

2.2系统整体方案的设计由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。

利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。

超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。

电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。

它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。

目前在近距离测量方面常用的是压电式超声波换能器。

根据设计要求并综合各方面因素,本文采用STC89C52单片机作为控制器,超声波驱动信号用单片机的定时器。

2.3 系统整体方案的论证超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。

实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。

此次设计采用反射波方式。

测距仪的分辨率取决于对超声波传感器的选择。

超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。

由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。

第三章系统的硬件设计2.1 系统的总体框图照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波收发模块、声光报警模块共四个模块组成。

单片机主控芯片使用51系列STC89C52单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。

发射电路由单片机输出端直接驱动超声波发送。

接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。

图3-1:系统设计框图硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路、报警输出电路、供电电路等几部分。

单片机采用STC89C52,系统晶振采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。

2.2 US-100超声波收发模块该超声波收发模块可自己产生40kHz的方波,并经放大电路驱动超声波发射探头发射超声波,发射出去的超声波经障碍物反射后由超声波接收探头接收。

经接收电路的检波放大,积分整形,在ECHO引脚上产生方波脉冲,该脉冲宽度与被测距离成线性关系。

具体过程如图2所示。

图2 US-100超声波收发模块工作时序图上图表明:只需要在Trig/TX 管脚输入一个10us 以上的高电平,系统便可发出8个40KHZ 的超声波脉冲,然后检测回波信号,当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX 管脚输出。

在此模式下,模块将距离值转化为340m/s 时的时间值的2倍,通过Echo 端输出一个高电平,可以根据此高电平的持续时间来计算距离值。

即距离值为:(高电平时间*340m/s )/2设l 为测量距离,t 为往返时间差,超声波的传播速度为c则有 (2-1)而声波在空气中的传播速度为:cl t /2(2-2)式中T 为环境温度;c 0为绝对温度时的速度,是常数。

从上述两式可以推出:(2-3)注:因为距离值已经经过温度校正,所以在此不需考虑温度补偿问题,声速选择340m/s 即可。

使用US-100超声波收发模块进行距离测量测量时,单片机只需要输出触发信号,并监视回响引脚,通过定时器计算回响信号宽度,并换算成距离即可。

该模块简化了发送和接收的模拟电路,工作稳定可靠,其参数指标如表1所示。

应注意测量周期必须在60毫秒以上,防止发射信号对回响信号的影响。

模块共有两个接口,即模式选择跳线和5pin 接口。

模式选择跳线接口设置为当安装上短路帽时为UART (串口)模式,拔掉时为电平触发模式。

)/(273/10s m T c c +=2273/10T tc l +=表1 US-100模块参数2.3 单片机电路单片机选用高性能的STC89C52,其管角如图3所示:图3 STC89C52单片机管脚图该芯片为52内核8位单片机,兼容Intel等52内核单片机,支持ISP下载,适用于常用检测控制电路。

由STC89C52组成的单片机系统原理图如图4所示。

图中TRIG引脚为单片机发送触发信号的引脚,ECHO引脚为US-100模块送回回响信号的引脚,接至单片机外部中断P3.2脚上,可以利用外部中断测量回响信号宽度。

当测量距离小于20cm时,单片机通过管脚P3.6发出灯光报警信号,触发LED报警灯亮,同时通过管脚P3.7发出声音报警信号,该信号用以触发蜂鸣器鸣响报警。

图4 单片机系统及超声波模块接口原理图2.4蜂鸣器报警电路图5所示为蜂鸣器报警电路。

由于单片机管脚的输入比输出电流大,因此电路设计为低电平输出时蜂鸣器响,高电平关闭。

当P3.7脚输出低电平时,PNP 型三极管8550导通,有集电极电流通过,蜂鸣器鸣响。

当P3.7脚输出高电平时,三极管截止,蜂鸣器关闭。

图5 蜂鸣报警电路2.5显示电路显示部分采用SMC 1602液晶屏进行数据显示,其主要技术参数为:表2液晶屏技术指标显示容量16*2个字符芯片工作电压 4.5~5.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 数据/命令选择端(H/L) 12 D5 Data I/05 R/W 读/写选择端(H/L) 13 D6 Data I/06 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)为主程序流程图,(b)为外部中断子程序流程图。

(a) 主程序流程图 (b) 外部中断流程图图8 程序流程图3.2 主程序详见附录3.3 程序说明系统加载5V电压后启动,数据、定时器、LCD1602进行初始化,程序进入while循环,超声波测距模块触发,发射超声波并检测有无回波,如果有回波,则超声波模块发射电平信号,驱使单片机进行计算,将数据显示在LCD1602上,如果无回波则跳过判断。

程序在计算完距离后与20cm进行比较,如果小于20cm,则驱动蜂鸣器和LED报警灯进行报警,如果大于20cm,则进入一个60ms的延时,继续while 循环进行测量。

3.4硬件设计图结论本文主要讲述了倒车雷达,即超声波测距仪的原理和设计方法,设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离,并以数字的形式显示测量距离,在距离小于50cm时发出报警。

超声波测距的原理是利用超声波的发射和接收,根据超声波传播的时间来计算出传播距离。

超声波测距仪硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。

单片机采用STC89C51,采用12M 高精度的晶振,以获得较稳定时钟频率,减小测量误差。

相关文档
最新文档