基于STCC单片机的倒车雷达警示系统作品报告.docx
- 文档编号:30695536
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:26
- 大小:61.35KB
基于STCC单片机的倒车雷达警示系统作品报告.docx
《基于STCC单片机的倒车雷达警示系统作品报告.docx》由会员分享,可在线阅读,更多相关《基于STCC单片机的倒车雷达警示系统作品报告.docx(26页珍藏版)》请在冰豆网上搜索。
基于STCC单片机的倒车雷达警示系统作品报告
中文题目:
基于STC89C52单片机的倒车雷达警示系统作品报告
英文题目:
TheworkreportofreversingradarwarningsystembasedonSTC89C52singlechipmicrocomputer
摘要
摘要:
?
倒车雷达全称叫“倒车防撞雷达”,也叫“泊车辅助装置”,是汽车泊车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车和启动车俩时前后左右探视所引起的困扰,并帮助驾驶员扫除视野的死角和视线模糊的缺陷。
倒车雷达警示系统利用超声传感器产生的超声波对车后发射,如在一定范围内碰到物体,就有一反射波返回发射源(超声传感器的表面),主机利用发射波和反射波之间的延迟时间和声波速度就能测得距离。
本人通过三年来对单片机的学习,设计了基于STC89C52单片机的倒车雷达警示系统,主要由三个部分组成,分别为测距部分,控制系统部分和显示报警部分。
该倒车雷达根据超声波测距原理研制,采用温度补偿技术、开机自检技术和优化的软硬件技术,将测得的结果送至串口显示,同时用蜂鸣器报警。
驾驶员只需坐在驾驶室就能做到心里有数,极大的提高了泊车和倒车时的安全和效率。
关键词:
倒车雷达;超声波传感器;STC89C52单片机
Abstract
Abstract:
Reversingradarnamecalled"reversinganti-collisionradar",alsoknownas"parkingauxiliarydevice",isasafecarparkingauxiliarydevice,canusesoundoramoreintuitivedisplaytoinformthedriverofthebarrieraround,liftingthedriverparkingandstarttwocarsaroundvisitingcausedproblems,andhelpthedrivertoremovethedefectsofvisiondeadandblurredvision.Reversingradarwarningsystemusingultrasonicsensorstogenerateultrasoniconthecarafterthelaunch,suchasinacertainrangeofcontactwithanobject,thereisareflectionwavereturntolaunchthesource(thesurfaceofultrasonicsensor),thehostusingthetransmittedwaveandreflectedwavebetweenthedelaytimeandthevelocityofsoundcanmeasuredistance.IbythreeyearsoftheMCUlearningdesignbasedonSTC89C52reversingradarwarningsystem,ismainlycomposedofthreeparts,respectivelyfordistancemeasuringpart,controlpartofthesystemandalarmdisplayunit.Thereversingradarismanufacturedaccordingtotheprincipleofultrasonicranging,usingthetemperaturecompensationtechnology,hardwareandsoftwaretechnologypoweronselftesttechnologyandoptimization,themeasuredresultissenttotheserialport,andbuzzeralarm.Thedriverjustsittinginthecabcandoseveralthings,whichgreatlyimprovesthesafetyandefficiencyofparkingandreversingthe.
KeyWords:
Reversingradar;ultrasonicsensor;STC89C52singlechipmicrocomputer
基于STC89C52单片机的倒车雷达警示系统作品报告
一、绪论
(一)项目研究背景及意义
由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。
随着汽车的迅速增加,停车难已经是不争的事实,狭小的停车场的常常令有车族无所适从,稍不慎则会发生撞车事件。
虽然每辆车都有后视镜,但不可避免的都存在一个后是盲区。
倒车雷达是汽车泊车或倒车时的安全辅助装置,能以声音或更为直观的显示告知驾驶员驾驶车辆周围障碍物的情况,解除了驾驶员泊车、倒车和启动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了使用死角和视线模糊的缺陷,提高驾驶的安全性。
(二)测距原理
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
s=340t/2
最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:
s=340t/2。
由于超声波也是一种声波,其声速V与温度有关。
在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。
如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。
声速确定后,
只要测得超声波往返的时间,即可求得距离。
这就是超声波测距仪的基本原理。
如图1所示:
超声波发射障碍物
S
H
θ
超声波接收
图1超声波的测距原理
(3-1)
(3-2)
式中:
L---两探头之间中心距离的一半.
又知道超声波传播的距离为:
(3-3)
式中:
v—超声波在介质中的传播速度;
t—超声波从发射到接收所需要的时间.
将(3—2)、(3—3)代入(3-1)中得:
(3-4)
其中,超声波的传播速度v在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H远远大于L时,则(3—4)变为:
(3-5)
所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H.
二、总体设计方案及论证
本设计主要采用MCS-51系列单片机作为主控芯片,能够实现超声波测距,数据显示,参数设置等功能。
本系统可以通过超声波模块测量系统到障碍物之间的距离并用数码管显示出来,用户还可以通过按键设置下限报警距离,假如测量的距离低于设置的报警值则通过蜂鸣器发声提醒用户超出允许范围。
本设计包括硬件和软件设计两个部分。
模块划分为主控模块、按键模块、显示模块、超声波模块、报警模块。
软件设计包括主程序设计和子程序设计。
系统总体的设计方框图如图2所示。
图2系统方框图
三、硬件设计
(一)主控模块
主控制最小系统电路如图3所示。
主控模块采用STC89C52单片机进行数据的采集和处理。
包括按键模块,显示模块,超声波模块,报警模块,显示模块和电源模块。
图3最小系统
1、时钟电路的设计
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。
如图4所示为时钟电路。
图4时钟电路图
2、复位电路的设计
复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。
例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us。
本设计采用的是自动复位电路。
如图5示为复位电路。
图5复位电路图
(二)超声波模块
超声波模块采用现成的HC-SR04超声波模块,该模块可提供2cm-500cm的非接触式距离感测功能,测距精度可达高到3mm。
模块包括超声波发射器、接收器与控制电路。
基本工作原理:
采用IO口TRIG触发测距,给至少10us的高电平信号;模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340M/S))/2。
实物如下图6。
其中VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO回响信号输出等四支线。
图6超声波模块实物图
超声波探测模块HC-SR04的使用方法如下:
IO口触发,给Trig口至少10us的高电平,启动测量;模块自动发送8个40Khz的方波,自动检测是否有信号返回;有信号返回,通过IO口Echo输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,测试距离=(高电平时间*340)/2,单位为m。
程序中测试功能主要由两个函数完成。
实现中采用定时器0进行定时测量,8分频,TCNTT0预设值0XCE,当timer0溢出中断发生2500次时为125ms,计算公式为(单位:
ms):
T=(定时器0溢出次数*(0XFF-0XCE))/1000
其中定时器0初值计算依据分频不同而有差异。
超声波引脚与单片机连接如图7所示。
1脚接正级,2脚发射脚,3脚接收脚,4脚接电源负极接地。
图7
(三)按键模块
按键电路中用到3个按键,S2是设定键,S3是加键,S4是减键。
可以进行报警值、工作方式、时钟等各个参数的设置。
如图8示为按键电路。
图8
(四)声音报警电路模块
如下图所示,用一个Speaker和三极管、电阻接到单片机的P13引脚上,构成声音报警电路,如图10示为声音报警电路。
图10声音报警电路图
(五)显示模块
显示模块采用数码管显示接口电路如图11,主要起到显示距离的功能。
图11数码管电路
(六)电源模块
电源部分的设计采用3节5号干电池4.5V供电。
四、软件设计
(一)主程序设计
按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图12所示;
图12主程序工作流程图
(二)子程序设计
超声波探测程序流程图:
图13超声波探测程序流程图
五、系统测试与调试
在确定了电路、领好元器件之后,首先对电路进行了布局。
采取的方法是?
分块焊接电路,即将超声波模块分解为发射部分和接收部分。
焊接完成后,下载程序至单片机进行调试,发现有如下问题:
1、数码管不显示距离,经过调试后发现程序不能进入中断程序;
经修改后,数码管可以显示距离,但是只能精确到厘米。
原因是程序结构有问题,即发射超声波后未立即开启定时器;
程序增加手动和自动测量两种测量模式后,通过按键选择测量模式系统没有给出提示,不方便操作。
相应的解决方法如下:
1、修改调试程序使程序能正常进入中断;2、重新调整程序结构,使其更加精简;
3、硬件增加发光二极管,程序中加入相应的代码,使用户在选择模式后系统能给出提示,更加人性化。
以下是调试截图:
图14
六、总结
本设计研究了一种基于单片机技术的超声波智能测距报警系统。
该系统通过以STC89C52单片机为工作处理器核心,超声波传感器,它是一种新颖的被动式超声波探测器件,能够以非接触测出前方物体距离,并将其转化为相应的电信号输出.该报警器的最大特点就是使用户能够操作简单、易懂、灵活;且安装方便、智能性高、误报率低。
随着现代人们安全意识的增强以及科学技术的快速发展,相信报警器必将在更广阔的领域得到更深层次的应用。
参考文献
[1]吴政江.单片机控制红外线防盗报警器[J].锦州师范学院学报,2001.
[2]宋文绪.传感器与检测技术[M].北京:
高等教育出版社,2004.
[3]余锡存.单片机原理及接口技术[M].西安:
西安电子科技大学出版社,2000.
[4]唐桃波,陈玉林.基于AT89C51的智能无线安防报警器[J].电子设计应用,2003,5(6):
49~51.
[5]李全利.单片机原理及接口技术[M].北京:
北京航空航天大学出版社,2004.
[6]薛均义,张彦斌.MCS-51系列单片微型计算机及其应用[M].西安:
西安交通大学出版社,2005.
[7]徐爱钧,彭秀华.单片机高级语言C51应用程序设计[M].北京:
北京航空航天大学出版社,2006.
[8]康华光.电子技术基础(模拟部分)[M].北京:
高等教育出版社,2004.
附录
附件1:
原理图
附件2:
程序
#include
#include
#include"eepom52.h"
#defineucharunsignedchar
#defineuintunsignedint
//数码管段选定义0123456789
ucharcodesmg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};//断码
//数码管位选定义
ucharcodesmg_we[]={0xe0,0xd0,0xb0,0x70};
uchardis_smg[8]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
sbitsmg_we1=P3^4;//数码管位选定义
sbitsmg_we2=P3^5;
sbitsmg_we3=P3^6;
sbitsmg_we4=P3^7;
sbitc_send=P3^2;//超声波发射
sbitc_recive=P3^3;//超声波接收
ucharflag_hc_value;//超声波中间变量
sbitbeep=P2^3;//蜂鸣器IO口定义
bitflag_key_b_en,flag_key_set_en;//按键蜂鸣器使能
ucharsmg_i=3;//显示数码管的个位数
bitflag_300ms;
bitkey_500ms;
longdistance;//距离
uintset_d;//距离
bitflag_csb_juli;//超声波超出量程
uintflag_time0;//用来保存定时器0的时候的
//按键的IO变量的定义
ucharkey_can;//按键值的变量
ucharzd_break_en,zd_break_value;//自动退出设置界面
ucharmenu_shudu=10;//用来控制连加的速度
bitflag_lj_en;//按键连加使能
bitflag_lj_3_en;//按键连3次连加后使能加的数就越大了
ucharkey_time,flag_value;//用做连加的中间变量
ucharmenu_1;//菜单设计的变量
uchara_a;
/***********************1ms延时函数*****************************/
voiddelay_1ms(uintq)
{
uinti,j;
for(i=0;i for(j=0;j<120;j++); } /***********************处理距离函数****************************/ voidsmg_display() { dis_smg[0]=smg_du[distance%10]; dis_smg[1]=smg_du[distance/10%10]; dis_smg[2]=smg_du[distance/100%10]&0x7f; } /******************把数据保存到单片机内部eepom中******************/ voidwrite_eepom() { SectorErase(0x2000); byte_write(0x2000,set_d%256); byte_write(0x2001,set_d/256); byte_write(0x2058,a_a); } /******************把数据从单片机内部eepom中读出来*****************/ voidread_eepom() { set_d=byte_read(0x2001); set_d<<=8; set_d|=byte_read(0x2000); a_a=byte_read(0x2058); } /**************开机自检eepom初始化*****************/ voidinit_eepom() { read_eepom();//先读 if(a_a! =1)//新的单片机初始单片机内问EEPOM { set_d=100; a_a=1; write_eepom(); } } /****************独立按键处理函数********************/ voidkey() { staticucharkey_new=0,key_old=0,key_value=0; if(key_new==0) {//按键松开的时候做松手检测 if((P2&0x07)==0x07) key_value++; else key_value=0; if(key_value>=5) { key_value=0; key_new=1; flag_lj_en=0;//关闭连加使能 flag_lj_3_en=0;//关闭3秒后使能 flag_value=0;//清零 key_time=0; write_eepom(); } } else { if((P2&0x07)! =0x07) key_value++;//按键按下的时候 else key_value=0; if(key_value>=5) { key_value=0; key_new=0; flag_lj_en=1;//连加使能 zd_break_en=1;//自动退出设置界使能 zd_break_value=0;//自动退出设置界变量清零 flag_key_b_en=1;//按键蜂鸣器使能 } } key_can=20; if(key_500ms==1)//连加 { key_500ms=0; key_new=0; key_old=1; zd_break_value=0; } if((key_new==0)&&(key_old==1)) { switch(P2&0x07) { case0x06: key_can=3;break;//得到k2键值 case0x05: key_can=2;break;//得到k3键值 case0x03: key_can=1;break;//得到k4键值 } //dis_smg[3]=smg_du[key_can%10]; } key_old=key_new; } voidsmg_we_switch(uchari) { switch(i) { case0: smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break; case1: smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break; case2: smg_we1=1;smg_we2=1;smg_we3=0;smg_we4=1;break; case3: smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break; } } /***********************数码显示函数*****************************/ voiddisplay() { staticuchari; i++; if(i>=smg_i) i=0; //P1=0xff;//段选 //P3=0xf0|(P3&0x0f);//位选 //P3=smg_we[i]|(P3&0x0f);//位选 smg_we_switch(i); P1=dis_smg[i];//段选 } voiddelay() { _nop_();//执行一条_nop_()指令就是1us _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } /*********************超声波测距程序*****************************/ voidsend_wave() { c_send=1;//10us的高电平触发 delay(); c_send=0; TH0=0;//给定时器0清零 TL0=0; TR0=0;//关定时器0定时 flag_hc_val
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STCC 单片机 倒车 雷达 警示 系统 作品 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)