版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、教学单位 学生学号 编 号 本科毕业设计题目 汽车防撞警报系统的设计 学生姓名 专业名称 通信工程 指导教师 2015 年 5 月 8 日摘要:Design of vehicle collision warning systemABSTRACT:目 录一 设计正文11 绪论11.1课题的提出及意义11.2课题研究现状11.3课题要求及设计方法22 课题方案的设计与论证32.1 系统设计方案32.2 传感器位置42.3 设计方案的论证43 硬件实现及单元电路设计53.1 主控制模块53.2 电源设计63.3 超声波测试模块63.3.1 超声波的特性63.3.2 超声波换能器7
2、3.4 超声波传感器原理83.5 测距分析123.6 时钟电路的设计133.7 复位电路的设计143.8 声音报警电路的设计143.9 显示模块154 系统软件的结构设计164.1 软件设计思路164.2 超声波汽车防撞电路的算法设计 165 调试205.1硬件调试205.2 软件调试215.2.1 汇编215.2.2 调试过程216 结论23参考文献25谢 辞26二 附录271 设计图272 实物图273 程序代码284.开题报告355.结题报告 366.答辩报告37一 设计正文1 绪论从经济性和安全性两方面来说,这些被动安全措施是在事故发生时刻对车辆和人员进行保护,有很大的局限性
3、,因而车辆的主动安全研究尤为重要,引出了本文研究的基于单片机的超声波测距系统。这个系统是一种可向司机预先发出视听语音信号的探测装置。它安装在汽车上,能探测企图接近车身的行人、车辆或周围障碍物,能向司机及乘员提前发出即将发生撞车危险的信号,促使司机采取应急措施来应付特殊险情,避免损失。大测量距离6米,最小测量距离0.2米,显示分辨率是 0.1米,实时数字显示测得的距离,在不同距离范围内能发出不同的声光报警信号。另外,论文的原理图和程序流程图自画。防撞报警有微波、激光和超声波等多种传感器。微波系统测距范围较远,由于采用相控阵天线成像技术,已达到了实用化的程度,只是目前成本居高不下。国内已有公司设计
4、出激光汽车防撞系统样品,但由于激光波束较窄、路障报告率偏低而暂时不能推广。超声波的发射和接收是自然界中的普遍现象。频率低于20KHZ的声波人耳可辨,进行着各式各样、错综复杂的自然声音传递,因背景复杂而不利做测试媒体使用。频率高于20KHZ的超声波不仅波长短、方向性好、能够呈射线定向传播,而且碰到界面就会有显著反射。这些特性有利于选用超声波做媒体,测定物体的位置、距离甚至形状等。超声波传感器的特性:1在自身特性谐振点40KHZ附近可获得较高的灵敏度;2谐振带宽、波束角可以通过制作工艺控制得很窄,有利于抗声波干扰设计;3不受无线电频谱资源限制,易于抗电磁干扰设计。另外,超声系统成本低、性能稳定可靠
5、,应用前景好。因此,本设计将采用超声波传感器测距。3.3.2 超声波换能器最常用的超声测距的方法是回声探测法超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。 4.3 主程序流程图 超声波测距仪硬件电路的设计主要包括单片机系统及显示报警电路、超声波发射电路和超声波检测接收电路三部分。单片机采用STC89C52或其兼容系列。采用12MHz高精度的晶振,以获得
6、较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波的控制信号,并通过NE555芯片产生。利用外中断0口监测超声波接收电路输出的返回信号。超声波发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的
7、阻尼效果,缩短其自由振荡时间。压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程
8、序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。主超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。在元件及调制方面,由于采用的电路使用了很多集成电路。外围元件不是很多,所以调试应该不会太难。一般
9、只要电路焊接无误,稍加调试应该会正常工作。电路中除集成电路外,对各电子元件也无特别要求。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。参考文献1 吴政江. 单片机控制红外线防盗报警器J. 锦州师范学院学报, 2001.2 宋文绪. 传感器与检测技术M. 北京: 高等教育出版社, 2004.3 余锡存. 单片机原理及接口技术M. 西安: 西安电子科技大学出版社, 2000.4 唐桃波, 陈玉林. 基于AT89C51的智能无线安防报警器 J. 电子设计应用, 2003.5 李全利.
10、 单片机原理及接口技术M. 北京: 北京航空航天大学出版社, 2004.6 薛均义, 张彦斌. MCS-51系列单片微型计算机及其应用M. 西安: 西安交通大学出版社, 2005.7 徐爱钧, 彭秀华. 单片机高级语言C51应用程序设计M. 北京: 北京航空航天大学出版社, 2006.8 康华光. 电子技术基础(模拟部分)M. 北京: 高等教育出版社, 2004.9 李华.MCS-51系列单片机实用接口技术M.北京:北京航空航天大学出版社, 1993. 6: 87-9310 陈光东.单片机微型计算机原理与接口技术(第二版)M.武汉:华中理工大学出版社,1999.4:21-2511 徐淑华,程退
11、安,姚万生.单片机微型机原理及应用M.哈尔滨:哈尔滨工业大学出版社,1999. 6:128-13412 苏长赞.红外线与超声波遥控M.北京:人民邮电出版社,1993.7:26-3514 九州.放大电路实用设计手册M.沈阳:辽宁科学技术出版社,2002.5 :13414615 胜全.D18B20数字温度计在微机温度采集系统中的序编制M. 南京:南京大学出版社1998. 3:43-5116 恒清,张靖.加强单片机系统抗干扰能力的方法J.通化师范学院学报,2004 .10:217 华兵.MCS-51单片机原理应用M.武汉:武汉华中科技大学出版社,2002 .5:47-6118 李华强高速公路追尾防撞
12、报警系统目标探测技术及其电源开发研究D西安:长安大学200319 缪晓中.电子CADProtel99SEM.北京:化学工业出版社,2009.120 胡汉辉,张宇驰等.传感器技术及应用J.北京.科学出版社,2009.8这一个月里得到了肖宁博老师的悉心指导,每次论文出现问题都是他给我指出问题,使我能够对论文当中出现的错误进行及时改正,有时候论文格式结构方面的小问题他也会耐心告诉我,提醒我尽快改正,这些小细节的提醒促使我顺利完成论文。在此期间我也得到同班同学的协助,有很多知识方面的不足,致使自己在论文的编写方面受到很多阻力,多亏同学的细心讲解,让我及时解除疑惑。同时因为自己工作的原因,一边忙工作的事
13、情一方面又要忙论文的事情,基于这些就需要我经常熬夜搜资料,准备论文的前期工作,所以深深地觉得,努力与规划时间对于已经上班的我非常重要。如何按照规定时间及时完成论文,是一个摆在我面前需要认真思考的问题。所以老师与同学的帮助就显得非常重要了。 在此,我非常诚挚的感谢我亲爱的老师和同学对我的帮助,我会记住你们的,也感谢宝鸡文理学院我的母校对我四年的栽培,正是因为这四年的大学生活让我不仅在知识层面有所提高,而且学到了书本上学不到的生活经验,提高了自己处理问题的能力,让我不断成长。也正是因为你们才让我懂得了珍惜,懂得处理问题的不是蛮干,而是应该保持智慧的心态,不能完全按照自己的意愿做事,要懂得尊重大家的
14、想法。在以后的学习和生活中,我会带着大家给予我的成长,努力完善自己,不辜负母校对我的期望。谢谢大家!二 附录1 设计图2 实物图3 程序代码#include <reg52.h> /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义变量范围0255#define uint unsigned int /无符号整型 宏定义变量范围065535#include <intrins.h>#include "eeprom52.h"/数码管段选定义 0 1 2 3 4 56 7 8 9uchar code smg_du=0
15、x28,0xee,0x32,0xa2,0xe4,0xa1,0x21,0xea,0x20,0xa0, 0x60,0x25,0x39,0x26,0x31,0x71,0xff; /断码uchar dis_smg8 =0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;/数码管位选定义sbit smg_we1 = P34; /数码管位选定义sbit smg_we2 = P35;sbit smg_we3 = P36;sbit smg_we4 = P37;sbit c_send = P32;/超声波发射sbit c_recive = P33;/超声波接收sbit beep =
16、P23; /蜂鸣器IO口定义uchar smg_i = 3; /显示数码管的个位数bit flag_300ms ;long distance; /距离uint set_d; /距离uchar flag_csb_juli; /超声波超出量程uint flag_time0; /用来保存定时器0的时候的uchar menu_1; /菜单设计的变量/*1ms延时函数*/void delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<120;j+);/*处理距离函数*/void smg_display()dis_smg0 = smg_dudis
17、tance % 10;dis_smg1 = smg_dudistance / 10 % 10;dis_smg2 = smg_dudistance / 100 % 10 & 0xdf; ;/*把数据保存到单片机内部eeprom中*/void write_eeprom()SectorErase(0x2000);byte_write(0x2000, set_d % 256);byte_write(0x2001, set_d / 256);byte_write(0x2058, a_a);/*把数据从单片机内部eeprom中读出来*/void read_eeprom()set_d = byte_
18、read(0x2001);set_d <<= 8;set_d |= byte_read(0x2000);a_a = byte_read(0x2058);/*开机自检eeprom初始化*/void init_eeprom()read_eeprom();/先读if(a_a != 1)/新的单片机初始单片机内问eepromset_d = 50;a_a = 1;write_eeprom(); /保存数据/*独立按键程序*/uchar key_can; /按键值void key() /独立按键程序static uchar key_new;key_can = 20; /按键值还原P2 |= 0
19、x07;if(P2 & 0x07) != 0x07)/按键按下delay_1ms(1); /按键消抖动if(P2 & 0x07) != 0x07) && (key_new = 1)/确认是按键按下key_new = 0;switch(P2 & 0x07)case 0x06: key_can = 3; break; /得到k2键值case 0x05: key_can = 2; break; /得到k3键值case 0x03: key_can = 1; break; /得到k4键值else key_new = 1;/*按键处理显示函数*/void key_w
20、ith()if(key_can = 1)/设置键menu_1 +;if(menu_1 >= 2)menu_1 = 0;smg_i = 3;/只显示3位数码管 if(menu_1 = 1)smg_i = 4; /只显示4位数码管 if(menu_1 = 1)/设置报警if(key_can = 2)set_d + ;/加1if(set_d > 400)set_d = 400;if(key_can = 3)set_d - ;/减1if(set_d <= 1)set_d = 1;dis_smg0 = smg_duset_d % 10; /取小数显示dis_smg1 = smg_dus
21、et_d / 10 % 10 ; /取个位显示dis_smg2 = smg_duset_d / 100 % 10 & 0xdf ; /取十位显示dis_smg3 = 0x60; /awrite_eeprom(); /保存数据 /*报警函数*/void clock_h_l()static uchar value;if(distance <= set_d)value +; /消除实际距离在设定距离左右变化时的干扰if(value >= 2)beep = beep; /蜂鸣器报警else value = 0; beep = 1;/取消报警/*数码位选函数*/void smg_we
22、_switch(uchar i)switch(i)case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break;case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break;case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break;/*数码显示函数*/v
23、oid display()static uchar i; i+;if(i >= smg_i)i = 0;smg_we_switch(i); /位选P1 = dis_smgi; /段选 /*小延时函数*/void delay()_nop_(); /执行一条_nop_()指令就是1us_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); /*超声波测距程序*/void send_wave()c_send = 1; /10us的高电平触发 delay();c_send = 0; TH0
24、= 0; /给定时器0清零TL0 = 0;TR0 = 0; /关定时器0定时while(!c_recive); /当c_recive为零时等待TR0=1;while(c_recive) /当c_recive为1计数并等待flag_time0 = TH0 * 256 + TL0;if(flag_time0 > 40000) /当超声波超过测量范围时,显示3个888TR0 = 0;flag_csb_juli = 2;distance = 888;break ;else flag_csb_juli = 1;if(flag_csb_juli = 1)TR0=0; /关定时器0定时distance
25、 =flag_time0; /读出定时器0的时间distance *= 0.017; / 0.017 = 340M / 2 = 170M = 0.017M 算出来是米if(distance > 500) /距离 = 速度 * 时间distance = 888; /如果大于3.8m就超出超声波的量程 /*定时器0、定时器1初始化*/void time_init() EA = 1; /开总中断TMOD = 0X11; /定时器0、定时器1工作方式1ET0 = 0; /关定时器0中断 TR0 = 1; /允许定时器0定时ET1 = 1; /开定时器1中断 TR1 = 1; /允许定时器1定时/
26、*主函数*/void main()beep = 0; /开机叫一声 delay_1ms(150);P0 = P1 = P2 = P3 = 0xff; /初始化单片机IO口为高电平send_wave();/测距离函数smg_display();/处理距离显示函数time_init();/定时器初始化程序init_eeprom(); /开始初始化保存的数据send_wave();/测距离函数send_wave();/测距离函数while(1) if(flag_300ms = 1)flag_300ms = 0;clock_h_l(); /报警函数if(beep = 1)send_wave();/测距离函数if(menu_1 = 0)smg_display(); /处理距离显示函数key(); /按键函数if(key_can < 10)key_with(); /按键处理函数/*定时器1中断服务程序*/void time1_int() i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44952-2024地面电场监测技术要求
- 营销培训课件-公众账号微信营销策划方案
- 毛发囊肿的临床护理
- 在省委第四巡视组巡视临夏州情况反馈会上的主持讲话
- 汗管棘皮瘤的临床护理
- 孕期焦虑症的健康宣教
- 多发性脂囊瘤的临床护理
- 妊娠线的健康宣教
- X连锁高IgM综合征的健康宣教
- JJF(陕) 096-2022 氟化氢气体检测报警器校准规范
- 趣味运动会儿童拔河比赛技巧
- 刑事案件模拟法庭剧本完整版五篇
- 2022-2023学年四川省巴中市巴州区川教版(三起)四年级上学期期末英语试卷
- 人教版(2023) 选择性必修第一册 Unit 2 Looking into the Future Assessing Your Progress教案
- 脑血管意外的护理常规课件
- 迎新春送吉祥义务写春联活动方案
- 新教材北师大版数学一年级上册教学反思全册
- 驾驶员安全驾驶知识培训与评估
- 食品安全事故流行病学调查表格
- 住宅排气管道系统工程技术标准
- 标识标牌售后服务方案
评论
0/150
提交评论