基于单片机的汽车倒车防撞系统的设计_第1页
基于单片机的汽车倒车防撞系统的设计_第2页
基于单片机的汽车倒车防撞系统的设计_第3页
基于单片机的汽车倒车防撞系统的设计_第4页
基于单片机的汽车倒车防撞系统的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.题 目 基于单片机的汽车倒车防撞系统的设计 学生姓名 郭真子 学号 1213014029 所在学院 物理与电信工程学院 专业班级 电子1201班 指导教师 王婷 完成地点 博远楼*物理与电信工程学院实验室 2016 年 6 月 5 日. v.毕业论文设计任务书院(系) 物理与电信工程学院 专业班级 电子1201 学生姓名 郭真子一、毕业论文设计题目基于单片机的汽车倒车防撞系统的设计 二、毕业论文设计工作自 2016 年 1 月 10 日 起至 2016 年 6 月 15 日止三、毕业论文设计进行地点: 陕西理工学院 四、毕业论文设计的内容要求: 基于单片机的超声波脉冲测距原理,利用超声波的反

2、射测量距离设计一倒车防撞系统,在 整个倒车过程中自动测量车尾到最近障碍物的距离,并用数字显示出来,在倒车到极限距离时会发出急促的警告声,提醒驾驶员注意刹车,如果和制动系统联系在一起也可以形成自动刹 车。(应包括方案设计、比较与论证、分析与计算、电路图与相关设计文件以及心得体会 等)。 五、毕业论文设计应收集资料及参考文献: 收集单片机编程、超声波测距等方面的专业资料,阅读和学习下列参考文献: 1张齐,杜群贵.单片机应用系统设计技术M.电子工业出版社.2007 2胡瑞,周锡青.基于超声波传感器的测距报警系统设计J.科技信息,2009 3于京.51系列单片机C程序设计与应用方案M.中国电力出版社.

3、2002. 4张齐,杜群贵.单片机应用系统设计技术M.电子工业出版社.2004 5赵占林,刘洪梅.超声波测距系统误差分析及修正J.科技情报开发与经济 , 20026宋明耀.提高超声波测距精度的设计J.测试测量.2004 六、毕业论文设计的进度安排: 1月10日3月20日:查阅资料,完成外文翻译原文和开题报告。 3月21日4月20日:完成系统硬件电路的设计并提交中期检查报告。 4月21日5月20日:完成整体设计并调试,准备作品验收。 5月21日6月15日:撰写、修改毕业设计论文,准备并完成答辩。 指导教师签名 系(教研室)主任签名专业负责人签名批准日期. v.基于单片机的汽车倒车防撞系统的设计郭

4、真子(陕西理工学院 物理与电信工程学院 电子信息工程专业,2012级1班, 723003) 指导教师:王婷【摘要】本设计介绍了基于单片机的汽车倒车防撞系统设计,硬件部分以单片机STC89C52为主要控制模块,以超声波测距模块HC-SR04为测距系统,用数码管显示出车尾与障碍物之间的距离,用键盘设置蜂鸣器报警的最小距离,当超声波测到的距离小于报警距离时,蜂鸣器发出报警声音,并且使制动系统停止工作,完成自动刹车功能。软件设计部分主要是利用C语言来编写程序,将调试好的程序下载到单片机中,最终实现倒车防撞功能。测量范围为2cm-500cm,完全满足汽车倒车需求,最小报警距离可以在1cm-400cm之间

5、任意设置。【关键词】STC89C52单片机 HC-SR04 超声波测距模块 LED显示Design of Auto Reverse Collision Avoidance System Based on Single Chip MicrocomputerGuo Zhenzi(Grade 12,Class 1, Major electronics and information engineering, College of physics and Telecommunication Engineering, Shannxi University of Technology, Hanzhong

6、723003, Shannxi)Tutor: Wang TingAbstract:This design is introduced theauto reverse collision avoidance system based on single chip microcomputer.Hardware part is STC89C52 microcontroller which as the main control module, ranging system forhc-sr04 ultrasonic ranging module, using digital tube display

7、 the distance between the vehicle tail and obstacles, the keyboard buzzer was used to alarm minimum distance. Buzzer alarming when the actual distance have been less than the distance alarm, and make the braking system stop working, complete automatic braking function. The software part using C lang

8、uage to writethe program, the debugger will be downloaded to the microcontroller, and ultimately to achieve the reverse collision function. The measuring range is 2cm-500cm, fully satisfied the needs of the car reverse, the minimum alarm distance can be arbitrarily set between 1cm-400cm.keyword:STC8

9、9C52 microcontroller HC-SR04 ultrasonic ranging module LED display. v.目 录1 绪论11.1 项目研究背景及意义11.2 超声波原理11.3 电机工作原理42 方案论证43 硬件电路设计63.1 主控制模块63.2 显示电路63.3 键盘电路73.4 报警电路73.5 超声波测距电路83.6 电源电路93.7 制动电路104 软件设计124.1 主程序设计124.2 超声波测距子程序设计134.3 数码管显示子程序144.4 键盘子程序设计144.5 定时器子程序设计154.6 EEPROM子程序设计165 硬件调试与分析1

10、85.1 硬件调试185.2 结果分析18致谢20参考文献21附录A:外文翻译22附录B:整体电路源程序29附录C:元器件清单35附录D:整体电路设计原理图36附录E:实物展示图37. v.1 绪论1.1 项目研究背景及意义随着现代社会经济的迅速发展,人们生活水平越来越好,交通运输业日益兴旺,汽车成为现代人类生活出行的必要产品。随着汽车数量大幅度攀升,交通拥挤状况越来越严重,撞车事件有赠无减,造成不计其数的人员伤亡和经济损失。针对上面介绍的这种情况,设计一种可以有效减少汽车事故的汽车防撞系统已经在所难免。在常见的汽车倒车装置上采用基于单片机的测距,将软、硬件相结合,通过数字显示电路显示障碍物与

11、车辆保险杠之间的间距,当倒车小于最小距离时,发出急促的警报声,提醒驾驶员刹车,减少了驾驶员在驾车过程中的事故发生率,并且帮助减少汽车行驶在过程中视觉死角和光线模糊等不利条件,大大提高了行车过程中的安全性。将此系统利用到社会交通运输业中一定会减少事故的发生,为人类安全事业做出更大贡献。由于超声波的波速比较小,其传播时间也就比较长。当它较长时,就更加容易产生区别,这样的测量能增加准确性,其方向性也比较好、强度容易控制,因而可以利用超声波对距离进行检测。超声波测距是一种利用声波反射、折射特性与电子计数相结合来实现非接触式距离测量方法。超声波测距在很多地方有特别显著地优势,因此像超声波测距这种非接触式

12、的快速测量方法能够在更多场合和多种环境比较恶劣的情况下使用。通常所设计的关于汽车防撞系统主要由核心的控制器、显示器、超声波发射接收模块、报警器设备等四个部分组成。传感器发送和接受超声波方波信号,并将接收到的信号接收回来,当经过处理之后再次表示出来。超声波传感器装在汽车的后保险杠上,不停的发出超声波检查障碍物,能探索到很多物体,如马路边沿,花坛,蹲在车后小孩等:显示设备装在驾驶员座位的仪表盘上,显示出汽车车尾距离后面障碍物还有多少米,一旦小于设定的最小距离时,蜂鸣器就开始发出报警声音,提醒司机停车1。1.2 超声波原理声音是与人类的生活密切相关的一种自然现象。人类的听觉是有一定范围的,当声音频率

13、变大时(根据大量实验数据统计,取整数为20000赫兹),人类的听觉就会分辨不到周围声音的存在,这就是人们通常所说的“超声波”。通过超声波发射传感器发出超声波信号,根据接收传感器器接到超声波时与超声波发射传感器发出超声波信号的时间之差就可以计算出两物体之间的距离了。这与雷达测距的原理很相似。(s=340t/2,是计算出超声波发射的点与障碍物之间距离(s)的公式,超声波的波速与声音速度相似,所以系数为340,而二分之一倍则是因为超声波发生了反射,而t则是单片机内部的定时器自己记录的时间)。超声波是一种通过压电效应或磁致伸缩效应产生的、频率在20000HZ以上的声波:它的能量集中性较好、同时又具有光

14、的一系列特征,比如常见的直线传播、反射折射等2。这样使得超声波测距传感器因其良好的性能、便宜的价格、简单的计算公式,在移动机器人定位系统、车辆雷达、车辆安全,以及油井、仓库的探测中等地方有大量应用3。超声波的特性有:(1)吸收特性超声波在各种物质中传播时,当距离超过超声波所能有效传播的范围时,超声波的能量就会被削弱,这是因为介质可以吸收掉超声波的一部分能量,使得超声波的应用受到了极大的限制。当作用于同一种材料的物质时,如果作用在物体本身的声波频率很高,那么它对超声波的吸收能力就越强。如果一个声波的频率是固定的,那么在不同的物质中其吸收能力不同,例如:在空气中传播时它的吸收能力非常强,在水中传播

15、时吸收能力相对减弱,在固体中传播时吸收是非常小的4。(2)超声波的声压特性当声波进入某物体时,由于超声波的份子共振,使物质分子之间产生相互吸合或相互分离的自然作用,使物质各个份子之间所受的压力发生变化。既可以完成发射超声波,又可以接收超声波的集成器件就是超声波传感器。超声波探头主要由数个压电晶片构成,既可以发射信号,也可以接收信号。小功率的超声波探头多用作探测距离、物体等方面。超声波探头的核心器件是就是所谓的压电晶片,如上段中提到的作用,有很多种材料都可以构成晶片。由于晶片的直径宽度和厚度大小是不一样的,因此每个探头的性能都是不一样的,在利用超声波时,应该注意了解清楚它的功能。超声波传感器的主

16、要性能指标包括: (1)灵敏度。主要是由晶片本身的材料性能决定的。(2)工作频率。超声波传感器的频率与其晶片的共振频率相等。也就是当加到它两个端口的交流电压和各个晶片的共振频率相同达到其共振频率时,此时也是超声波传感器输出信号各种特性最好的时候。(3)工作温度。由于压电材料的制作物比较特殊,不但工作温度非常低,而且其居里点比一般物质高。可以保持长时间的有效工作,并且其超声波探头使用功率比较小。医疗用的超声波探头温度比一般的超声波探头高,那么其正常工作就需要其他设备来维持。为了充分的将超声波利用到人类社会的发展中,大量的超声波发生器被开发出来。从产生方式上来讲,超声波发生器可以分为两种类型:即电

17、气型和机械型,这为今后开发超声波的价值提供了基础。他们的工作方式不同,不同的产生超声波的输送频率、工作功率和声波衰减等特性是各不相同的。目前较为常用的是压电式超声波发生器。超声波是一种在介质中的机械振荡波,超声波频率超过20KHz。总体上,可以分为横向振荡和纵向振荡两种振荡方式,在不同的介质中振荡方式是不同的。而且超声波可以在固体、液体及气体中传播,其传播速度在三中物质中也是大不相同的。它具有折射和反射等物理现象,且在传播过程中有较强的衰减。超声波的基本特性如下所述:1 波长波的传播速度计算方法为频率乘以波长。波长与其频率具有很大的关联,在常温状态下,超声波的波速相当于声音的传播速度,这样大大

18、减少了超声波测距在后期计算处理方面的复杂性,使得超声波广泛的应用于人类社会生活的方方面面。2 反射要探测到障碍物,就需要障碍物将接收到超声波反射回来。一些物质比如墙壁、金属,在有效的距离内可以将超声波完全反射回来,这种物体可以很容易通过超声波来测量;还有一些物质不能反射超声波,而是吸收了大量的超声波,这种物质不能利用超声波进行测量。同时,由于某些特殊物质存在大量的不规则反射、折射,这些物质的测量也很难利用超声波来进行,这些条件使得超声波的测量有了较高的要求。利用超声波的反射特性,使得超声波可以应用在很多情况下,大大增加了超声波对于人类社会生活水平的提高。3. 衰减传播到空气中的超声波能量随着距

19、离的增加而成比例地减弱,这是因为某些容易吸收超声波能量的介质吸收了超声波能量而使得超声波能量减弱,这就是上文所讲的吸收特性,也是由于衍射现象而导致的在地球表面上的扩散性削弱。当超声波的频率较高时,衰减率就越来越高,超声波的传播距离也会随之变短,由此可见超声波的衰减特性直接影响了超声波传感器可以检测的有效距离。超声波在不同的温度下、距离下、检测不同的物质时,超声波的衰减特性不同,如下1.1图所示,列出了不同频率的超声波在不同距离下的衰减特性。 图1.1 声压在不同距离下的衰减特性4灵敏度特性灵敏度是表示声音接收级的单位,下文论述了灵敏度计算的公式,并且讲述了灵敏度的标准和性能。 灵敏度= 20l

20、og E/P (dB)式中,“E”为所产生的电压 (Vrms),“P”为输入声压(bar)。超声波测距的准确性直接由超声波传感器的灵敏度影响,如图1.2所示为几种中常见超声波传感器的灵敏度特性表示,从图中可以发现传感器的声压级最高是频率在40KHz时,这提示我们应该充分利用40KHz时所对应的测距数据,使其应用在焦虑最高处,所以本设计采用超声波测距模块发射了40KHZ的方波。图1.2 超声波传感器灵敏度示意图5辐射特性把超声波传感器安装在台面上。然后,测量角度与声压 (灵敏度) 之间的关系。为了准确地表达辐射,与前部相对比,声压 (灵敏度) 级衰减6dB的角度被称为半衰减角度,用二分之一表示。

21、超声波设备的外表面尺寸较小容易获得较准确的测量数据。分析以上研究结果不难发现超声波传感器在40KHz范围内工作时能够产生最高的声压级以及最高的灵敏度。其辐射特性如图1.3所示。 图1.3 超声波传感器辐射特性示意图1.3 电机工作原理 电机又称电动机,直流电机的作用是将直流电变为机械能。直流电机有很多优点,可以广泛的应用于机械能驱动的场合。由于电机中的磁场方向和导线中电流方向不一致,线圈受到电磁力的作用产生转动,从而带动整个转子转动,这就是电动机的工作原理。下图1.4所示为常用电机。图1.4电机实物图2 方案论证方案一:方案一以STC89C52单片机为主要控制芯片,报警电路采用常用的蜂鸣器,显

22、示电路采用LCD1602液晶显示器,制动系统采用直流电机及其驱动电路,超声波发射电路采用由555芯片构成的硬件电路,超声波接收电路由与非门构成的硬件电路。发射电路的主要电路为震荡电路、调制电路、激励电路,在选用555芯片时,选取了负载能力较大的双极性555,这种芯片内部电路由普通NPN 构成,相比于内部电路由CMOS构成的7555,它的带载能力更强。超声波接收电路由非门构成的一个简单的振荡器发送电路,可由软件较容易的控制。软件部分采用C语言来编写程序,将各个模块有效的结合在一起,实现最终硬件功能。方案二:采用STC89C52单片机为主要控制芯片,加上单片机运行必须的复位电路和时钟电路,以及实现

23、实时显示所需要的数码管及数码管驱动电路,设置报警距离的键盘控制电路,报警电路,还有最重要的超声波测距电路和控制制动系统自动刹车的直流电机及电机驱动电路。本设计的超声波测距电路采用了已经制作好的HC-SR04模块,键盘电路模块利用独立键盘设计,用来设置需要报警的最小距离,报警电路用来发出报警,单片机的I/O口发出高电平用来控制超声波模块工作。软件部分仍然应用C语言,采用软硬件结合的方式,使各个模块高效的实现功能,其系统方案设计如图2.1所示。制动系统报警电路显示电路键盘电路单片机超声波发射超声波接收障碍物图2.1 系统方案设计框图方案比较:两种方案的基本设计思路是一致的,都是以单片机为核心控制元

24、件。方案一采用了较为传统的分立元件,而方案二则采用了HC-SR04超声波测距模块来实现功能。由于采用HC-SR04模块可以减少在设计实物制作方面很多不必要的麻烦,所以方案二更简洁,方便,体现了现代设计的快捷,更加节约时间。方案一的显示部分采用LCD1602,而方案二的显示部分采用了四位LED共阳数码管。因为本设计的显示部分并不需要显示大量数据,所以从节约环保方面来考虑,利用数码管更合适。综上所述,方案二更合适,所以选取方案二作为最终设计方案。3 硬件电路设计本设计主要介绍了基于STC89C52单片机的汽车倒车防撞系统,此次设计以单片机为基础,以超声波测距模块HC-SR04为重要模块,加上单片机

25、最小系统所必须的复位、时钟电路,实现了可以实时显示汽车车尾到障碍物之间距离的数码管显示电路。可以任意设置报警距离的键盘电路,当实际距离小于最小报警距离时,可以实现报警功能的蜂鸣器并且使电机自动停止工作,从而实现了汽车在倒车过程中的自动刹车功能。硬件设计主要利用仿真软件proteus和画图软件Altium Designer,将各个模块和各个元器件用Altium Designer连接在一起,用proteus设计了本设计的显示部分。3.1 主控制模块本模块主要以单片机的最小系统模块为核心,主要包括一个单片机以及单片机的时钟电路和复位电路。复位电路与单片机的复位引脚(9脚)相连,当第9引脚接收到连续两

26、个机器周期以上高电平时,单片机完成初始化操作,复位后单片机内部的程序计数器PC=0000H,即复位后单片机将从头开始执行指令。时钟电路采用了单片机的片内时钟振荡方式,TXAL1和TXAL2为两个外接时钟引脚,这两个引脚外接石英晶振和震荡电容,在本设计中电容选取22pF,石英晶振选取为12MHZ,时钟电路为系统工作提供了最基本的保障。最小系统设计框图如图3.1所示。 图3.1 主模块设计框图由于本设计比较简单,对于单片机的要求不高,在设计时选取了物美价廉的STC89C52单片机。这种单片机是基于单片机的简单设计常用的类型,而且是低功耗、高性能的CMOS材料8位单片机,具有8K Bytes Fla

27、sh 片内程序存储器,256 byte的RAM,32个I/O口,5个中断优先级2层中断嵌套等功能,可以完全满足本设计的硬件要求8。本设计的主模块采用了常用的单片机最小系统,即能使单片机工作的基本电路。3.2 显示电路本模块采用四位共阳数码管,当数码管多位一体时,它们内部的公共端是相互独立的,而负责显示什么数字的段选位是连接在一起的,独立的公共端控制数码管多位中的哪一位亮,而连接在一起的段选位可以控制亮什么数字。将单片机的P1口通过保护电阻与数码管的段选位直接相连,将单片机的P34,P35,P36,P37分别与数码管驱动电路相连。数码管驱动电路是由电阻和三极管组成的,其工作原理如下:当单片机内部

28、有低电平触发三极管PNP基极时,三极管导通,这样就提供了可以驱动数码管的电压,否则电压过小无法驱动数码管位选位。分别选通数码管的四位选位后,就可以动态的控制四个数码管的亮灭,使得选用不同的位选时,显示不同的数字。共阳数码管内部8个发光二极管的所有阳极端是全部连接在一起的,电路在连接时,公共端应该接高电平,因此要使发光二极管发光时,需要给另一端口送低电平9。数码管内部的发光二极管需要3mA-20mA的直流电流,否则过大会烧坏发光二极管,过小会使发光二极管不能工作,所以在P1口加上了1K的上拉电阻,为数码管的正常工作提供合适的电流。显示电路的设计如图3.2所示,图中标号相同的端口互相连接。图3.2

29、 显示模块框图3.3 键盘电路因为本设计使用的键盘数目较少,采用三个独立键盘既方便又节约,还可以减少软件程序编写时的复杂性,所以本模块由单片机的P20,P21,P22三个I/O口分别与三个独立键盘连接实现。本设计采用的键盘为弹性小按键,当弹性小按键被按下时单片机I/O口接地,松开后表示电路断开。单片机控制键盘工作的原理如下:三个独立键盘其中一端是接地的,另外一端接单片机的I/O口。由于单片机正常工作后,所有的I/O口都被赋予高电平,所以键盘的另外一端是接地的。当键盘被按下时,单片机的I/O口会变为低电平,这种情况下则被认为键盘被按下。其模块框图如图3.3所示。 图3.3 键盘模块框图3.4 报

30、警电路本模块用一个电阻,一个三极管和一个蜂鸣器构成,与单片机的P23口相连。当单片机的P23口产生低电平时,其对应端口的三极管导通,然后三极管集电极产生可以驱动蜂鸣器的电压,蜂鸣器只要达到3V左右的电压就可以被驱动,蜂鸣器报警。本设计采用的三极管是PNP三极管,而不是常用的NPN三极管,因为单片机在上电时所有的I/O口都被置为高电平,这样使得NPN三极管的基极被高电平驱动,当三极管工作后,蜂鸣器发出报警声。即使用软件程序将单片机I/O口置低,蜂鸣器在单片机上电的一瞬间也会报警发出声音,所以为了防止蜂鸣器没有规律的报警,最终采用PNP型三极管和一个10K的电阻作为蜂鸣器的驱动电路。电阻的作用是当

31、I/O口输出低电平时,在三级管的基极产生一个可以使三极管导通的电压。其报警电路的设计图如图3.4所示。图3.4 报警电路模块3.5 超声波测距电路超声波测距电路采用现成的HC-SR04超声波模块,该模块可提供 2-500cm 的非接触式测量距离功能,测距的精度可达高到 3cm9。模块主要包括一个STC11系列单片机,MAX232和TL074芯片,超声波发射传感器、接收传感器与超声波发射、接收控制电路。本设计采用超声波的反射原理进行测距检测,测距时,应将超声波探头正对被侧物体,这样可以使得测量结果准确。超声波测距的实物图如图3.5所示。 图3.5超声波测距实物图超声波测距模块实物的四个引脚连接方

32、式如下:其中VCC 引脚供5V 电源,GND 引脚为地线,TRIG口供触发信号输入,ECHO口用来接收高电平信号。超声波探测模块HC-SR04在本设计中的使用方法如下:单片机的I/O口P32口与模块的Trig口相连,单片机向模块的Trig口发送至少10us的高电平,单片机内定时器在高电平开始时开始计数;HC-SR04模块自动发送若干个模块内晶振产生的方波,然后超声波接收传感器自动检测是否有信号返回;当检测到信号返回时,定时器停止计数,I/O口向ECHO输出高电平持续的时间(通过定时器计时得出的时间)就是超声波从发射到接收的时间。测试距离=(高电平时间*340)/ 2,单位为m10。超声波测距模

33、块由单片机STC11为主控芯片,还有MAX232和TL074,还有超声波发射传感器和接收传感器,主控制芯片接入4MHZ晶振,用来产生40KHZ的方波,经过MAX232转化电平后,由超声波发射传感器发出。当方波信号遇到障碍物反射回来后,由超声波接收传感器接收,经过放大后再次返回到主芯片,这就完成了超声波模块的工作流程。 超声波测距原理图如图3.6所示。图3.6超声波测距原理图3.6 电源电路本设计除电机外的所有元器件均采用5V直流电压源供电,所以直接采用220V-5V变压器进行供电(就是通常的手机充电器头),用数据线直接接入电路板的DC电源插口。DC电源插口有三个引脚,其中两个引脚接地,另外一个

34、接电源。在本设计中,电源电路中还包含有自锁开关和电源接通的指示灯,用数据线接通变压器和DC电源插口后,按下自锁开关,电源指示灯亮,整个电路开始工作。电源电路如图3.7所示。电机的电源采用了12V电压源供电,12V电压源由变压器,整流桥,7012组成,经过变压、整流、滤波这几个过程后,输出了稳定的12V直流电压,为系统工作提供了基本保障。12V电压源的电路原理图设计如图3.8所示。 图3.7 电源电路图3.812V电源电路3.7 制动电路本设计的制动电路采用了L298电机驱动模块和两个直流电机来完成,两个直流电机分别控制两个轮子的转动。当系统在正常情况下运行时,电机驱动电路正常运行,当超声波测距

35、测到的距离小于设置距离时,单片机发送指令使电机停止运行。这样就达到了自动刹车的功能。制动系统的电路设计图如图3.9所示。图3.9 制动系统电路设计 直流电机的速度是用脉冲宽度调制来解决的,它是按规律改变脉冲序列的脉冲宽度,以调节输出量和波形的的调节方法,我们在系统中一般采用矩形波脉冲宽度调制信号,当需要调节变化速度时,只需要调节其波形的占空比就行了。占空比是指高电平持续时间在一整个周期内的百分比。当占空比越大,速度越快,如果全部为高电平,则占空比最大,此时电机转动速度最快。由于本设计的重点并不是电机的速度控制,而且52系列的单片机并没有自带的脉冲宽度调制控制器,所以本设计的占空比采用软件延时,

36、当高电平延时时间到时,将I/O口电平置反,然后再软件延时,时间到后将I/O继续置反,如此反复就设定了恒定的速度。L298是一种常见的电机驱动模块,本设计采用L298驱动了两个直流电机,通过单片机的I/O口输出电平的不同,可以控制电机进行不同的工作方式,例如:正转、反转、刹停、停止。利用这些优势,设计不同时刻电机驱动模块的工作方式。表3.1为单片机I/O不同输出状态所对应的电机工作方式。表3.1 L298工作原理图ENIN1IN2转动方式0*停止110正转101反转111刹停100停止4 软件设计 本设计的软件设计利用keil软件,采用C语言编写。与同样具有单片机编写能力的汇编语言相比,C语言在

37、编写程序时,更加简单、容易理解而且移植性特别强,可以灵活运用,使得本设计的软件设计可以直接利用现有的模块程序。4.1 主程序设计结束是否再次检测距离显示在数码管上发出报警,制动系统自动刹车判断超声波测到的距离是否小于报警距离将报警距离写入EEPROM中采用系统设置的报警距离判断是否有键按下,需要设置距离定时器初始化,赋初值开始NYYNYN图4.1 主程序设计框图本设计的程序设计主要是利用52单片机eeprom的存储功能,系统初始化后,将预先设置好的最小报警距离参数存进eeprom中,再利用超声波测距模块发送超声波,计算出最终的距离,并且与预先设置好的最小报警距离作比较。如果小于报警距离,蜂鸣器

38、发出报警声,并且同时向电机驱动电路发送刹停信号,产生自动刹车;如果距离合适就显示在数码管上,如此反复。主程序设计框图如上图4.1所示。4.2 超声波测距子程序设计结束超声波接收端接收超声波判断定时器计数是否大于40000定时器发送超声波,并且开始计数ECHO是否为低电平定时器初始化,赋初值开始YNYN 图4.2 超声波测距子程序框图单片机向超声波测距模块的ECHO口发送最少10us的高电平,触发超声波测距模块开始工作,发射端发射若干个40KHZ的方波,并且同时启动定时器,当接收端接收到数据时,关闭定时器,定时器计算出从超声波信号被发送出去到信号被接收到整个过程所需的时间,根据这个时间可以计算出

39、车尾到障碍物的具体距离。当超声波从发射到接收所花的时间超过300ms时,可以判定超声波测距失效,结果错误。其子程序设计框图如图上4.2所示。4.3 数码管显示子程序本设计采用四位共阳极数码管进行距离显示,数码管的段选位分别与单片机的P1口相连。由于数码管为共阳显示,需要显示的数码管段选位应该为低电平,根据数码管显示数字时的段选位可以编码出P1口的高低电平数据。当共阳数码管显示数字时,其0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f所对应的编码数应该为0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, ox80,0x98,0x88,0xc3, 0xc

40、6,0xa1,0x86,0x8e。其相应的四位位选位也应该用低电平触发数码管闪亮,哪一位位选信号为零,就选通哪一位数码管。本设计采用数码管动态显示方式,轮流向各位数码管动态显示送出段选码和控制哪一位亮的位选码,利用发光二极管的余辉和人眼的视觉暂留作用,使人感觉好像四位数码管在同时显示,而实际上四位数码管是一位一位轮流显示的,只是轮流的速度相当快,人眼无法分辨出来。 数码管实际程序框图如图4.3所示。 图4.3 数码管显示子程序框图4.4 键盘子程序设计本设计采用独立键盘,三个键盘装在P2口,单片机不断的检测P2口并将P2口与0x07相与,若最终所得的值不等于0x07,则有键被按下。最终值为0x

41、03,表示K1键被按下;最终值为0x05,表示K2键被按下;最终值为0x06,表示K3键被按下。判断出被按下的键,不同的键执行不同的功能,K1按下时整个模块停止工作,这时按下K2或K3可以分别加减最小的报警距离,提醒汽车驾驶员停止倒车,当设置完成后,再次按下K1键模块重新开始工作。由于本设计的键盘采用的是弹性小按键,在按键时会产生按下抖动和释放抖动,会对单片机的检测产生影响,所以当单片机I/O口第一次检测到低电平时,应对单片机进行5ms的延时,若单片机延时后仍然还是低电平,则认为键盘被按下,这时执行其所要进行的工作,应该等待按键被释放后,其按键工作才能算真正完成。相应的程序设计框图如图4.4所

42、示。图4.4 键盘控制子程序设计4.5 定时器子程序设计本设计应用了STC89C52单片机定时器0的方式一进行工作,当超声波测距模块开始发送超声波时,定时器0被清0、赋初值、初始化、开始工作,当超声波测距模块接收到返回的超声波时,定时器0结束计时,关闭中断。定时器0的高八位和低八位分别被赋予0,当定时器计时完成后,就可以根据16位定时器的值得到超声波所经过的时间,利用标志位flag_time0计算定时时间,flag_time0=TH0*256+TL0,可以计算出高电平持续时间。定时器1应用在中断服务子程序中,向定时器1的TH1赋值为0xf8,向TL1赋值为0x30,表示定时器计时2ms后产生中

43、断,当定时器产生中断150次后表示超声波没有接收到返回的超声波,测距失败,显示器显示888。定时器启动后,它便在原来的数值上开始进行加1计数,若程序开始时,没有设置TH1和TL1,则系统默认它们的值都是0,因为晶振选择的频率为12MHZ,又因为12个时钟周期为一个机器周期,那么此时系统的机器周期为1us,计满TH1和TL1需要65536个数,再来一个脉冲计数定时器就会产生溢出,这时定时器申请中断。由上可知,定时器产生一次中断溢出需要65536us,约为65.5ms,如果要计时2ms产生中断,那么就需要给TH1和TL1先赋初值,在这个初值基础上计2000个数后,定时器溢出,此时刚好就是2ms,当

44、定时器产生150次中断后,也就是300ms产生程序中断,这样提高了定时时间,提高了超声波测距的准确性。 要计2000个数,TH1和TL1中应该装入的总数为65536-2000=63536,把63536对256求模:63536/256=248,用十六进制表示为0xf8,把63536对256求余:63536%256=96,用十六进制表示为0x30 。 定时器子程序设计框图如下图4.5所示。图4.5 定时器子程序框图4.6 EEPROM子程序设计STC89C52单片机内部自带有2KB的EEPROM,STC单片机是利用IAP技术实现的EEPROM,内部Flash擦写次数可达100 000次以上。ISP

45、是指在系统编程,通俗一些来讲,就是单片机已经焊接在板子上,不用取下,就可以简单而方便地对其进行编程,比如:我们通常通过计算机给STC单片机下载程序,这就是利用了ISP技术7。 根据对EEPROM的操作,将需要的数据存入EEPROM中,在需要使用时,将数据从EEPROM中读取出来,这都是基于EEPROM优良的读写、擦除性能。EEPROM中每个扇区为512B,在写程序时,将每次设置的数据放在同一个扇区内,将设置数据的标志符放在另外的扇区内,因为每次更新数据时,都要擦除一个扇区,这样刚好可以有效的利用EEPROM中每个扇区。所以本设计的数据部分只采用了EEPROM的第一扇区,将设置的最小报警距离存放

46、进第一扇区,每次将超声波测距测到的距离与EEPROM中存放的距离进行比较,标志部分则放在另外的扇区内。STC89C52单片机内部可用的Data Flash的地址如表4.1所示。表4.1 STC89C52单片机内部EEPROM地址表扇区起始地址结束地址第一扇区2000H21FFH第二扇区2200H23FFH第三扇区2400H25FFH第四扇区2600H27FFH第五扇区2800H29FFH第六扇区2A00H2BFFH第七扇区2C00H2DFFH第八扇区2E00H2FFFH5 硬件调试与分析5.1 硬件调试 在用焊锡和电烙铁焊接完硬件电路后,利用STC-ISP将编译好的程序下载到单片机中,可以利用

47、单片机的P3.0(RXD),P3.1(TXD)口作为下载数据口,也可以直接将单片机放进单片机开发板中下载,这样可以减少实物的焊接,本设计就是直接利用单片机开发板下载的。 在硬件设计完成后,可以先将元器件插在面包板上进行测试,这样可以减少很多不必要的麻烦,如果元器件烧毁或本身就是坏的,一旦将元器件焊接到实验板上后,很不方便更换,整个实验板都可能需要重新焊接,所以在制作实物时,一定要认真检查每一个元器件的安装、排版是否正确。在实物焊接完成后,给单片机载入程序,单片机可能会出现各种运行不正常,但是如果之前已经在面包板上成功验证过,则只需要检查整个实验板是否焊接好就可以很容易的判断实物是否正确。 简而

48、言之,在硬件的实际制作过程中,保持认真,距离成功就已经不远了。5.2 结果分析完成实物的调试后,接下来就是对实物的精确性进行验证了,通过对实际距离和该设计测量出来的距离进行比较,分析比较本设计的可利用性。表5.1是本设计测量出来的距离和实际距离比较的一些参数。表5.1 超声波测距分析实际距离/cm测量距离1/cm测量距离2/cm 误差分析/cm112+1222010911±1504849-2808081+1160161160+1240240243+3320316320-4400401396-4480478481-2 本设计在设计时,其范围为2cm到500cm。根据以上测试,得出该超声

49、波测距的误差范围在±4cm之内,当距离较小时,其测量值较准确;随着测量距离的增大,测量的准确性降低,误差越来越大。造成这些误差的可能应该为以下几点:1.由于数据的测量是在实验室内进行的,实验室内障碍物较多,可能造成超声波遇到桌子,柜子等障碍物就已经返回,于是结果不太准确。2.由于本设计是自己设计、焊接的,可能在设计方面有不利于该器件稳定的因素,在焊接时也可能出现很多漏洞,所以造成结果不够准确。3.由于超声波本身就具有衰减性,当距离越大,超声波的衰减性就越强,当距离超过10米时,超声波测距的弊端会很大的暴漏出来,这是造成超声波测距不准确的重要原因。4.由于超声波在不同温度下传播速度是不

50、同的,所以对于汽车倒车防撞系统来说,随着一年四季室内外温度变化,本设计可能造成测量结果存在较大误差。如果需要更加准确的测量,则应该加上温度补偿系统,使用温度传感器DS18B20采集实时温度,将温度的变化考虑进去,有利于提高测距的准确性,这是本设计需要改进的地方。致谢历时将近五个月的时间,终于完成了毕业设计,从毕业设计选题,设计准备到完成实物的设计,再到最终论文的写作过程中,遇到了很多的困惑,都在老师和同学的指导下度过了。毕业设计让我深深地感受到,老师教给学生的知识是很有局限性的,但是大学中,老师交给我们学习知识的能力和在大学培养出来的自学能力,赋予我们人生未来无限的学习可能。在大四结束时,我们

51、每个人都会踏上自己的工作岗位,或者继续自己的学业,但无论走什么样的道路,学习仍然是最重要的事情。当我们没有老师,没有指定的学习内容时,我们应该充分利用学习能力和自学能力去解决遇到的问题。由于在大学的四年中,我一心一意准备考研从来没有接触过项目。因此,在做毕业设计时,我咨询了指导教师之后自行寻找资料,自行学习,遇到问题寻找合理的解决方案,从资料中查询,或从有经验的同学、老师那里借鉴,最终解决了毕业设计中所遇到的问题。在这短短的几个月我学习了单片机、C语言,还买了单片机开发板自己写程序进行调试,虽然都没有很全面的学习,但是通过与实际相结合的方法学习,取得了非常不错的效果。毕业设计让我感受到人脉是一

52、笔巨大财富。在制作毕业设计的时候,由于涉及到各方面的知识,我不可避免的去接触各个方面,我们班几位曾经参加过电赛、“飞思卡尔”智能车赛的同学帮助了我很多,从他们的经验中,我学习到了很多也给了我很大的启发,我很感谢他们。同时,我也深刻感受到不能做一个只会学习的学生,在未来的职业或生活中,并不是一个人就可以完成所有事情,我们应该合理利用身边的合作资源,使得效率最大化。最后,在我即将毕业之际,我由衷的感谢陕西理工学院物理与电信工学院给了我一个美好的大学生活,为我提供了良好的教育环境和学习资源,希望陕西理工学院以后发展的越来越好,培育出能多人才。感谢我的指导老师王婷老师,她向我提供了各种帮助,并且多次不

53、厌其烦的帮我修改毕业论文,指导我答辩时应该注意的问题。感谢那些自己也同样被毕业设计忙的焦头烂额的同学,虽然自己很忙,但却仍然指导帮助我。 由于我的专业水平有限,若本论文有任何不合理的地方,还请各位老师和同学批评指教!参考文献1 张齐,杜群贵.单片机应用系统设计技术M.电子工业出版社.2004,20-35.2蔡卓凡.基于多超声波传感器壁障机器人小车的设计J.自动化技术与应用;2014,33(5):85-89.3 唐颖,张凡,郭勇.移动机器人的超声波传感器设计J.传感技术学报.2010,23(11):1646-1649.4 倪卫宁,朱祖扬,张卫等.高精度微距超声波测距系统J.仪表技术与传感器;2014(1):75-76,92.5 张艳,贾应炜. 基于HC-SR04模块的超声波测距系统设计 J. 自动化技术与应用:2016年03期6苏炜,龚壁建,潘笑. 超声波测距误差分析 J. 传感器技术. 2004年06期.7 郭天祥.51单片机C语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论