基于单片机控制的汽车倒车系统设计.docx
- 文档编号:23293378
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:25
- 大小:244.69KB
基于单片机控制的汽车倒车系统设计.docx
《基于单片机控制的汽车倒车系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的汽车倒车系统设计.docx(25页珍藏版)》请在冰豆网上搜索。
基于单片机控制的汽车倒车系统设计
毕业设计任务书
一.设计题目:
基于单片机控制的汽车倒车系统设计
二.目的与性质:
利用51系列单片机,设计一个汽车倒车系统。
通过本次设计,培养学生利用单片机进行应用系统开发的能力,掌握单片机应用系统设计的一般方法和步骤,达到能够进行单片机系统设计的目的。
三.任务与要求:
1.学习单片机的相关知识:
2.掌握超声波测距技术:
3.编写并调试相关程序:
四.设计完成的工作量:
1.调研、收集、查阅相关资料,根据设计任务与要求,完成总体方案的论证与设计:
2.硬件方面,画出所设计系统的电路原理图:
3.软件方面,编写出主要的监控程序,并在实验装置上调试通过;
4.论文要求10000字以上。
摘要
随着人民收入的不断提高,越来越多的人有了自己的小汽车,当然也都非常爱护自己的小汽车。
虽然每辆车都有后视镜,但不可避免都存在一个后视盲区,倒车后视不良一直困扰着车主,尤其是在光线不足的地下室。
本文就此设计了一个汽车安全倒车系统。
它主要由8051单片机进行控制,利用超声波传感器信号时间差计算车与障碍物的距离,并用3位数码管显示所测距离,及时伴有报警。
可使驾驶者心中有数。
该设计以超声波在空气中的传播速度为确定条件,利用超声波的反射测量距离。
本文概述了超声测距的基本原理及超声传感器的特性,在超声波测距的基础上,得出全文。
关键词:
单片机,倒车,超声波,测距
目录
第一章绪论
1.1研究背景与意义
1.2论文研究内容和章节安排
第二章超声波测距系统的工作原理
2.1超声波介绍
2.1.1超声波传播的速度
2.1.2超声波的产生和使用频率
2.2超声波探头原理
2.3测距原理
第三章系统硬件设计
3.1电路工作原理及设计
3.2超声波发射部分
3.3超声波接受部分
3.4报警电路
3.5LED显示电路
第四章项目软件编程
4.1项目软件编程要点
4.2项目软件流程图
4.3项目参考程序
总结与参考文献
第一章绪论
1.1研究背景与意义
一般认为,关于超声的研究最初起始于1876年F1Galton的气哨实验。
当时Galton在空气中产生的频率达300KHz,这是人类首次有效产生的高频声。
而科学技术的发展往往与一些偶然的历史事件相联系。
对超声的研究起到极大推动作用的是,1912年豪华客轮Titanic号在首航中碰撞冰山后的沉没,这个当时震惊世界的悲剧促使科学家们提出用声学方法来预测冰山,在随后的第一次世界大战中,对超声的研究得以进一步的促进。
近些年来,随着超声技术研究的不断深入,再加上其具有的高精度、无损、非接触等优点,超声的应用变得越来越普及。
目前已经广泛的应用在机械制造、电子冶金、航海、航空、宇航、石油化工、交通等工业领域。
此外在材料科学、医学、生物科学等领域中也占据重要地位。
而我国,关于超声的大规模研究始于1956年。
迄今,在超声的各个领域都开展了研究和应用,其中有少数项目已接近或达到了国际水平。
中国测试技术研究所李茂山在《超声波测距原理及实践技术》中详细地阐述了超声波的测距原理,并给出了实现超声波测距的具体框图,并讨论了影响超声波测距精度的几种原因。
在本文中,他并未提及超声波测距所需的一些具体电路,只是给出了测距一般所需的电路名称,没有提及各种电路间的匹配。
1998年,曼内斯德马泰克(秦皇岛)有限公司推出了一种数字式超声波位移测量仪,李忠杰在《数字式超声波位移测量仪的研究》一文中介绍了这种数字式超声波位移测量仪的结构,工作原理和功能,其数据处理借助于单板机,给出了程序框图,对仪表的各部分硬件电路做了较详细的说明,并列出了部分仪表的实测数据,并分析了误差产生的原因。
在此文中,给出了超声波测距仪在对液压缸位移进行测量时与其它位移传感器的优势所在,并给出了单片机的程序框图。
中国科学院上海声学实验室的王润田在《双频超声波测距》一文中提出了一种双频超声波测距的原理和方法,由于空气对超声波的吸收与超声波的平方成正比,因此,用来测距的超声波的频率不能很高,但另一方面频率越低,波长越长,测长的绝对误差就越大,测距的范围加大与测量精度实际上是一对矛盾。
王润田提出,为了在一个较长的范围内达到测距的精度,在测距时同时发射两个频率的超声波,频率较大的测较近的距离,频率较小的测较长的距离,这样在较大的范围内实现较高的测距精度。
随着计算机技术、自动化技术和工业机器人的不断发展和广泛应用,测距问题显得越来越重要。
目前常用的测距方式主要有雷达测距、红外测距、激光测距和超声测距4种。
与其他测距方法相比较,超声测距具有下面的优点:
(1)超声波对色彩和光照度不敏感,可用于识别透明及漫反射性差的物体(如玻璃、抛光体)。
(2)超声波对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁干扰强、有毒等恶劣环境中。
(3)超声波传感器结构简单、体积小、费用低、技术难度小、信息处理简单可靠、易于小型化和集成化。
因此,超声波作为一种测距识别手段,已越来越引起人们的重视。
1.2论文研究内容与各章节安排
现今超声波测距已被应用在现实生活的各个领域。
它与传统的测距方法相比精确度更高、操作更方便、安全系数更高。
超声波测距是一种利用声波特性和电子计数相结合来实现距离测量的方法。
本文主要介绍以AT89C51为核心的超声波测距系统。
测距系统主要由超声波发射电路、超声波接收检测电路和显示电路组成。
设计利用51单片机系统的I/O口,发出40MHZ的超声波,反射回来的超声波信号,经过放大和整形电路进入单片机,比较调试后确定其对应的距离,完成测距。
可实现距离在3m内,盲区7cm的有效测距,测量精度为1cm,测量时与被测物体无直接接触,能够在LED上稳定的显示测量结果。
该测距系统测量精度高,使用方便。
本文总共设计四章内容;第一章为绪论,简单介绍超声波发展历史及其意义。
第二章详细介绍超声波,及与本设计相关的数据内容和原理部分。
第三章着重对系统硬件的设计,包括电路工作原理,超声波收发电路,报警电路和显示电路。
第四章是软件部分,包括主要的流程图和程序。
最后是对本次设计过程的总结。
第二章超声波测距系统的工作原理
2.1超声波介绍
2.1.1超声波概论及传播的速度
超声波是一种在弹性介质中的机械振荡,它是由与介质相接触的振荡源所引起的,其频率在20kHz以上。
超声波在工业生产、医疗技术、日常生活中的应用越来越多。
超声波在介质中传播时在不同介面上具有反射的特性,由于它有指向性强、方向性好、传播能量大、传播距离较远等特点,常用于测量物体的距离、厚度、液位等。
我们知道,电磁波的传播速度为3×10m/s,而超声波在空气中的传播速度为340m/s,其速度相对电磁波是非常慢的。
超声波在相同媒体里传播速度相同,即在相当大的频率范围内声速不随频率变化,波动的传播方向与振动方向一致,是纵向振动的弹性机械波,它是借助于传播介质的分子运动而传播的。
由于超声波也是一种声波,超声波在媒质中传播的速度和媒质的性质有关。
声波在20摄氏度的空气中传播的理论值为344米每秒,这个速度在0摄氏度下降到323米每秒。
声波传输距离首先和大气的吸收性有关,其次温度湿度和大气压也是其中的因素,而这些因素对大气中声波衰减的效果比较明显。
他和温度的关系可以用以下公式来表达:
V=331.45+0.61T。
在使用时如果温度变化不大,则可认为声速是基本不变的。
本装置采用20摄氏度下的声音传播速度344米每秒。
不同温度下的超声波声速表
温度T(c)
-30
-20
-10
0
10
20
30
声速c(m/s)
313
319
325
323
338
344
349
2.1.2超声波的产生和使用频率
要利用和研究超声波,首先要设计和制作超声波发生器和检测超声波的探头。
总体上讲超声波发生器可以分为两大类:
一类使用电器方式产生超声波,一类是使用机械方式产生超声波。
电器方式包括压电型,磁致伸缩型和电动型等;机械方式有加尔统笛,液哨和气流璇笛等。
他们所产生的超声波的频率,功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
由于是利用超声波测距,要测量预期的距离,所以产生的超声波要有一定的功率和合理的频率才能达到预定的传播距离,同时这是得到足够的回波功率的必要条件,只有的得到足够的回波频率,接收电路才能检测到回波信号和防止外界干扰信号的干扰。
经分析和大量实验表明,频率为40KHZ左右的超声波在空气中传播效果最佳,同时为了处理方便,发射的超声波被调制成具有一定间隔的调制脉冲波信号。
2.2超声波探头原理
超声波换能器也称为超声波探头,即超声波传感器。
按转换原理,超声波传感器有压电式、磁致伸缩式、电磁式等,其中压电式最常用。
压电式利用压电材料的逆压电效用制成超声波发射头,利用压电效用制成超声波接收头。
按照不同的应用目的,超声波传感器有不同的结构形式。
检测用超声波传感器的结构如下图所示。
a)直探头b)斜探头
c)双探头
由于压电效用得可逆性,在实际使用中,有时用一个换能器兼作发射头和接收头,称为单探头。
将发射头和接收头单独组合,构成双探头。
单探头按工作方式分直探头和斜探头。
1.直探头
直探头可发射和接收纵超声波,其基本结构如上图所示。
压电片多制成圆板形,其厚度与固有频率成反比。
为避免压电片与被测体接触而磨损,在压电片下粘一层保护膜,但这会降低固有频率。
阻尼块又称吸收块,用于吸收声能。
如果没有阻尼块,电振荡脉冲过后压电片因惯性作用继续振动,加长了超声波的脉冲宽度,导致分辨力下降。
2.斜探头
斜探头用作发射和接受横超声波,其基本结构如上图所示。
与直探头不同的是它将压电片产生的纵波导楔以一定的角度斜射到被测工件表面,利用纵波的全发射,转换为横波进入工件。
如果把直探头放入液体中,使纵波倾斜入射到被测工件,也能产生横波。
当入射角增大到某一角度,使工件中的横波的折射角为90时,在工件上产生表面波,从而形成表面波探头。
因此,表面波探头属于斜探头的特例。
3.双探头
双探头又称组合式探头,在一个探头安装两块电片,分别用于发射和接收,如图所示。
探头内装有延迟块,使超声波延迟一段时间射入工件,适用于探测离探头近的物件。
2.3测距原理
超声波发生器内部结构有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波本时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器。
在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。
超声测距大致有以下方法:
①取输出脉冲的平均值电压,该电压(其幅值基本固定)与距离成正比,测量电压即可测得距离;②测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔t,故被测距离为S=1/2vt。
本测量电路采用第二种方案。
由于超声波的声速与温度有关,如果温度变化不大,则可认为声速基本不变。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
超声波测距适用于高精度的中长距离测量。
因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。
采用AT89C51单片机,晶振:
12M,单片机用P1.0口输出超声波换能器所需的40K方波信号,利用外中断0口监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,断码用74LS244,位码用8550驱动.
超声波测距的算法设计:
超声波在空气中传播速度为每秒钟340米(15℃时)。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则有340m×0.03S=10.2m。
由于在这10.2m的时间里,超声波发出到遇到返射物返回的距离,
第三章系统硬件设计
3.1电路工作原理及设计
超声波在空气中的传播速度与声速相近,约为340m/s。
从信号发射到障碍物,再从障碍物反射到接收电路,有几十毫秒的时间间隔,再根据信号传播的时间间隔可以计算出障碍物到超声波发射电路的距离。
下图为单片机控制的倒车测距系统电路原理图。
3.2超声波发射部分
超声波发射部分是为了让超声波发射换能器TCT40-16T能向外界发出40kHz左右的方波脉冲信号。
40kHz左右的方波脉冲信号的产生通常有两种方法:
采用硬件如由555振荡产生或软件如单片机软件编程输出,本系统采用后者。
编程由单片机P1.0端口输出40kHz左右的方波脉冲信号,由于单片机端口输出功率不够,40kHz方波脉冲信号分成两路,送给一个由74hc04组成的推挽式电路进行功率放大以便使发射距离足够远,满足测量距离要求,最后送给超声波发射换能器TCT40-16T以声波形式发射到空气中。
发射部分的电路,如图2所示。
图中输出端上拉电阻R31,R32,一方面可以提高反向器74hc04输出高电平的驱动能力,另一方面可以增加超声换能器的阻尼效果,缩短其自由振荡的时间。
3.3超声波接收部分
上述TCT40-16T发射的在空气中传播,遇到障碍物就会返回,超声波接收部分是为了将反射波(回波)顺利接收到超声波接收换能器TCT40-16R进行转换变成电信号,并对此电信号进行放大、滤波、整形等处理后,这里用索尼公司生产的集成芯片cx20106,得到一个负脉冲送给单片机的P3.2(INT0)引脚,以产生一个中断。
接收部分的电路,如图3所示。
可以看到,集成芯片CX20106在接收部分电路中起了很大的作用。
CX20106是一款应用广泛的红外线检波接收的专用芯片,其具有功能强、性能优越、外围接口简单、成本低等优点,由于红外遥控常用的载波频率38kHz与测距的超声波频率40kHz比较接近,而且CX10206内部设置的滤波器中心频率f0五可由其5脚外接电阻调节,阻值越大中心频率越低,范围为30~60kHz。
故本次设计用它来做接收电路。
CX10206内部由前置放大器、限幅放大器、带通滤波器、检波器、积分器及整形电路构成。
工作过程如下:
接收的回波信号先经过前置放大器和限幅放大器,将信号调整到合适幅值的矩形脉冲,由滤波器进行频率选择,滤除干扰信号,再经整形,送给输出端7脚。
当接收到与CX10206滤波器中心频率相符的回波信号时,其输出端7脚就输出低电平,而输出端7脚直接接到AT89ST52的INT0引脚上,以触发中断。
若频率有一些误差5的外接电阻R4,可调节芯片引脚
3.4报警电路
报警电路如下图所示。
封装为SN74LS00的两个与非门C,D组成的多谐振荡器,输出谐振频率约为800Hz的信号,经集成功率放大器LM386放大后,驱动扬声器发出嘟嘟声作为报警音。
P2.5控制多谐振荡器,高电平时停振。
单片机根据距离远近控制P2.5输出方波的频率,即控制嘟声的间隙时间,发出不同的报警声音。
距离越近,报警音方波脉宽越窄,即报警音越急。
音响电路
3.5七段数码管显示
按照数码管上各发光二极管的电极连接方式的不同,可以将数码管分为共阳极数码管和共阴极数码管两种。
共阴极数码管是把a、b、c、d、e、f、g这7个发光二极管的阴极连接到一起,形成公共阴极(COM)的数码管。
共阴极数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就发光;当某一字段的阳极为低电平时,相应字段就不亮。
共阳极数码管是把a、b、c、d、e、f、g这7个发光二极管的阳极连接到一起,成公共阳极(COM)的数码管。
共阳极数码管在应用时应将公共极COM接到+5V电源上,当某一字段发光二极管的阴极为低电平时,相应字段就发光;当某一字段的阴极为低电平时,相应字段就不亮。
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,用单片机驱动LED数码管有很多方法,按显示方式可分为静态显示和动态(扫描)显示,按译码方式可分为硬件译码和软件译码。
根据本设计需要,采用动态显示数码管。
动态显示驱动是将所有数码管的8个显示笔画a、b、c、d、e、f、g、dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。
当单片机输出字形码时,所有数码管都收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只需将要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会发光。
通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态显示驱动。
硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,硬件接线有一定标准。
软件译码是用软件来完成硬件的功能,硬件简单,接线灵活,显示字段完全由软件来处理,是目前常用的显示驱动方式。
单片机七段数码管动态显示电路的原理如下图所示,其中P0口是字段码,低电平有效,P2口是位码,高电平有效,P2.0口控制第一个数码管,依次类推,P2.7口控制第8个数码管。
第四章项目软件编程
4.1项目软件编程H
1.存储器单元分配
在程序设计中,存储器寄存器及标志位的分配表
寄存器及标志位的分配表
存储器单元
功能
存储器单元
功能
01H
回波标志
41H
十位显示符寄存器
01H=0
无回波
42H
百位显示符寄存器
01H=1
有回波
44H
报警声方波脉宽值
11H
1#信号存储标志
45H
闪烁显示间隙系数
12H
2#信号存储标志
50H
1#信号低8位
13H
3#信号存储标志
51H
1#信号高8位
32H
扫描显示循环数
52H
2#信号低8位
40H
个位显示符寄存器
53H
2#信号高8位
54H
3#信号低8位
57H
4#信号高8位
55H
3#信号高8位
R2
信号计数器
56H
4#信号低8位
R3
连续无回波计数器
2主程序编程要点
电路开机后,先显示”---”,亮灯并发声约0.5s,表示开始工作。
定时器/计数器T0用于记录发射接收时间。
主程序初始化后,并口P2.4控制发射40kHz的超声波信号,发射开始,立即启动定时器/计数器T0开始计时,发射1ms后停止发射超声波。
单片机接收到回波信号,定时器/计数器T0立即停止计数,同时产生INT0中断。
运算器将信号的时间参数转换为车与障碍物的距离。
根据距离的远近,决定报警音的间隙。
在参考程序中,发射一次超声波用1ms,然后显示持续60ms,在显示期间等待INT0中断。
因此,一个工作周期为61ms。
在这个周期内完成一次信号探测,然后进行数据处理。
3信号处理程序编程要点
信号处理首先判断是否有回波信号,若连续4次无回波信号,说明车后无障碍物或障碍物距离较远超过最大探测距离,此时闪烁显示“---”,并发出长嘟声报警。
由于CPU工作速度比倒车速度快得多,所以不需要每次收到信号后立即显示,同时考虑到人的视觉特性,若每取一个信号就更换一次显示,则显示过快,人眼接受不了,反而认为仪器不稳定,所以收到信号可先存起来。
存满4个信号,连同原来显示的共5个信号,从中选出一个正确信号。
另外,还有一个判断是否需要更换显示值的问题。
当障碍物距离小于0.5m时,距离变化1cm就要及时更换;距离在0.5~1m之间时,新值与原显示值之差大于5cm则更换,否则不予更换;距离1~2m之间,新老值差大于10cm才更换;距离在2m以上新老值差大于20cm更换,否则不予更换。
外界环境有汽车鸣笛,排气时发出的噪声等各种干扰信号,这些信号中都有40kHz的谐波成分,被放大后可能引起显示干扰。
所以在软件设计中加入抗干扰程序,根据倒车的速度和回波信号脉宽来分析,对接收的信号进行甄别,筛选出正确信号。
1.主程序流程图
2.更换,显示子程序流程图
3.信号处理程序流程图
4.项目参考程序
项目参考程序如下。
ORG000H
LJMPMAIN;转主程序
ORG0003H
LJMPINT0;转外部中断0
ORG001BH
LJMPIT1;转定时器1中断
ORG1000H
MAIN:
MOVSP,#60H;堆栈指针
MOVP1,#00H;停显示
CLRP2.4;不发射超声波
SETBP2.6;指示灯亮
SETBP2.5;发嘟声
MOV40H,#02H;显示符号“----”进入显示单元
MOV41H,#02H
MOV42H,#02H
MOV32H,#160;置显示循环数
LCALLDIR;调用显示子程序
MOVIP,#00000001B;置INT0为高优先级中断
MOVXBR2,#40H;配置弱上位,交叉开关允许
MOVXBR1,#40H;INT0连到P0.0
MOVOSCICN,#06H;选用内部晶振8MHZ
MOVWDTCN,#0DEH;禁止看门狗
MOVWDTCN,#0ADH
MOVTMOD,#00010001B;置T0、T1定时器方式1
MOVTH1,#0B1H;置T1计时常数为30ms,用于控制嘟声方波脉宽
MOVTL1,#0D2H
SETBTR1;启动T1
MOVIE,#10001001B;T1、INT0开中断
MOV22H,#01H;11H~13H标志位置初值
MOV44H,#0FFH;置嘟声方波脉宽初值255*30ms=7.65s
MOV45H,#04H置闪烁间隙时间4*30ms=120ms
MOVR2,#04H;置信号计数器初值
MOVR3,#04H;置连续无回波计数器初值
TLOOP:
MOVTH0,#00H;T0清零
MOVTL0,#00H
SETBP2.4;开始发射40KHZ超声波
SETBTR0;发射后,立即启动T0开始计时
LCALLDELAY;延时1ms
CLRP2.4;停止发射超声波
MOV32H,#20;置显示循环数
LCALLDIR;调显示距离子程序,显示20*3ms
LCALLWORK;调信号处理子程序
SJMPTLOOP;返回循环
;外部中断0服务程序
INT0:
CLRTR0;T0停止计数
SETB01H;置有回波标志
MOVA,22H
RLA
MOV22H,A
RETI
;显示距离子程序
DIR:
SETBP2.2;百位停显示
MOVP1,40H
CLRP2.0;个位显示
LCALLDELAY;延时一秒
DIR1:
SETBP2.0;个位停显示
MOVP1,41H;输出十位段码
CLRP2.1;十位显示
LCALLDELAY;延时一秒
DIR2SETBP2.1;十位停显示
MOVP1,42H;输出百位段码
CLRP2.2;百位显示
LCALLDELAY;延时1ms
DJNZ32H,DIR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 汽车 倒车 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)