超声波测距离课程设计报告.docx
- 文档编号:23004462
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:17
- 大小:143.70KB
超声波测距离课程设计报告.docx
《超声波测距离课程设计报告.docx》由会员分享,可在线阅读,更多相关《超声波测距离课程设计报告.docx(17页珍藏版)》请在冰豆网上搜索。
超声波测距离课程设计报告
课程设计报告
题目:
超声波测距离
__________________________________________________________
一、绪论
随着社会的发展,人们对距离或长度测量的要求越来越高。
超声波测距由于其能进行非接触测量和相对较高的精度,越来越受到人们的重视。
超声波测距离的一个最重要的功能就是作用于倒车系统上。
要实现倒车系统的准确精度,就得把超声波和单片机相结合,利用单片机的控制系统和精确的运算使超声波测距离更加快速和精确。
从而,减少事故的发生。
通过该实验学习利用单片机和超声波探测元件测试距离的基本方法,进一步熟悉单片机定时器技术、中断技术在数据采集和数据处理过程中的综合运用方法,提高综合应用程序的编程方法与技巧。
发射器发出的40KHz超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。
报告内容包括:
单片机控制主程序、中断子程序、延时子程序和超声波发射、接收电路以及主电路。
二、对本课程设计的分析
2.1总体设计方案介绍
2.1.1超声波测距原理
发射器发出的超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。
由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可认为声速是基本不变的。
表1-1超声波波速与温度的关系表
温度(℃)
-30
-20
-10
0
10
20
30
100
声速(m/s)
313
319
325
323
338
344
349
386
表1-1
2.1.2超声波测距仪原理框图如下图
单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED显示。
图1-1超声波测距仪原理框图
2.2系统的硬件结构设计
硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。
单片机采用AT89S51或其兼容系列。
采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
单片机用P1.4端口输出超声波换能器所需的40kHz的方波信号,利用外中断P3.3端口监测超声波接收电路输出的返回信号。
显示电路采用简单实用的4位共阳LED数码管,用9012驱动。
2.2.151系列单片机的功能特点及测距原理
2.2.1.151系列单片机的功能特点
5l系列单片机中典型芯片(AT89S51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256B的RAM,2个16b的定时/计数器TO和T1,4个8b的工/O端I:
IP0,P1,P2,P3,一个全双功串行通信口等组成。
特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。
5l系列单片机提供以下功能:
4kB存储器;256BRAM;32条工/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。
空闲方式:
CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。
掉电方式:
保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。
5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。
充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。
2.2.1.2单片机实现测距原理
单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离S=Ct/2,式中的C为超声波波速。
限制该系统的最大可测距离存在4个因素:
超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。
接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。
由于超声波属于声波范围,其波速C与温度有关。
三、主要电路模块的实现方案比较及选择
3.1超声波发射电路
超声波发射电路原理图如图2-2所示。
发射电路主要由反相器74SL04和超声波发射换能器Lf构成,单片机P1.4端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。
压电式超声波换能器是利用压电晶体的谐振来工作的。
超声波换能器内部有两个压电晶片和一个换能板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。
超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。
3.2超声波检测接收电路
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。
实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。
适当更改电容C7的大小,可以改变接收电路的灵敏度和抗干扰能力。
图3-2超声波检测接收电路
3.3超声波测距系统的硬件电路设计
本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用AT89S51,经济易用,且片内有4K的ROM,便于编程。
单片机系统及显示电路原理图如见图3-3。
图3-3单片机系统及显示电路原理图
四、系统电路图
给出整个系统的电路图,并加以说明。
要详细说明第3节中各模块如何组合在一起来实现系统功能的。
当电源接电的时候由AT89S51单片机实现对CX20106A红外接收芯片的控制。
单片机通过P1.4引脚经反相器来控制超声波的发送,然后单片机不停的检测INT2引脚,当INT2引脚的电平由高电平变为低电平时就认为超声波已经返回。
单片机开启外部中断使定时器关闭,定时器所计的数据就是超声波所经历的时间,通过运算就可以得到传感器与障碍物之间的距离,这时通过BCD码转换把十六进制的数据转换成十进制,并通过查表把距离显示在LED数码管显示器上。
五、系统的软件设计
5.1主程序流程图
超声波测距仪的软件设计主要由主程序、超声波发射子程序、超声波接收中断程序及显示子程序等部分组成。
主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。
然后调用超声波发射子程序送出超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟一段时间,保持电平12.5us左右,也就是超声波频率大约为40KHZ,连续发送15个波形(这也是超声波测距离会有一个最小可测距离的原因)后,才打开外中断1接收返回的超声波信号。
由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20℃时的声速为340m/s则有:
d=(C*T0)/2=170*T0/10000cm(其中T0为计数器T0的计数值)
测出距离后结果将以十进制BCD码方式送到LED显示管显示,然后再发射超声波脉冲重复测量过程。
主程序框图如下图5-1所示:
图5-1超声波测距离主程序流程图
5.2超声波发射子程序和超声波接收中断程序
超声波发射子程序的作用是通过P1.4端口发送15个超声波信号,频率约40KHz的方波,脉冲宽度为12us左右,同时把计数器T0打开进行计时。
超声波测距离主程序利用外中断1检测返回超声波信号,一旦接收到返回超声波信号(INT2引脚出现低电平),立即进入中断程序。
进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志位赋值1.,中断子程序流程图如图5-2所示:
图5-1定时中断子程序流程图
六、结论
超声波测距仪的制作和调试都比较简单,其中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。
若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。
根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。
硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。
根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。
根据所设计的电路参数和程序,测距仪能测的范围为0.06~5.5m,测距仪最大误差不超过1cm。
系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。
由于技术水平所限暂时不能给该设计加入语音程序,如果能加入语音程序的话,就能使超声波测距离在倒车系统和其他领域中得到最完美的体现。
超声波测距离在生活中的应用越来越广泛,且也使汽车在倒车的时候能最大可能的减少事故的发生。
其有很高的开发的价值和十分广泛的应用领域,为提高生活和科学技术水平提供了选择。
七、课程设计过程中遇到的主要问题以及解决办法
设计过程中遇到的困难一个接着一个,该实验不能在Protus上进行仿真实验的时候该怎么验证,程序的编写遇到瓶颈的时候怎么解决,超声波怎么发怎么收,采用什么芯片,收到回波后怎么样计算。
问题一:
该实验不能在Protus上进行仿真
由于我不知道怎么在Protus上仿真出超声波信号的发射和接收所以进行不了仿真,这时候只能通过查资料直接在Protel上画出该实验的整个电路图,先做出硬件之后才能进行试验。
问题二:
有些程序遇到瓶颈,不懂得该用什么指令来编写
这时候都是往往采取问同学的方法来解决,结果,发现基本上所熟识的同学也给不了我答案。
所以,最后只能一条一条的去查资料,试了很多条指令,重新整个程序串起来看的时候才找到解决的办法。
这是最耗费我们两个人心力的部分。
问题三:
发不出去
通过程序调整占空比,发送
问题四:
不知接没接到回波
设置接收成功标志位,标志位为1时才标明接收到回波
问题五:
收到了怎么计算
d=(C*T0)/2=170*T0/10000cm(其中T0为计数器T0的计数值)
八、心得体会
超声波测距离一个陌生的字眼,当选择它的时候我还不知道它的原理是什么,我只知道雷达探测就是用的超声波原理。
我也想过会遇到的许多问题,没想到由于自己基础知识的薄弱,做起来会这么的难。
一度电路焊接老是出问题,最后还得去刻电路板才最终做出硬件。
程序的编写由于都是我们两个自己通过查找很多资料和问了很多同学才一步一个坎,一步一个脚印,最终达到了我们所想要的结果。
过程很艰难,但是看着自己所做出来的成果,又感觉真的很开心。
通过该实验,我们认识的到了单片机在控制领域中的强大作用,也使我们加深了所学的单片机知识。
为我们以后的就业和学习提供了很多的基础。
附录
超声波测距离程序清单
TZ_1MSEQU40H
ORG0000H
SJMPMAIN
ORG0013H
LJMPSUB_1
MAIN:
MOVTZ_1MS,#30;设置发送个数,个数为TZ_1MS除以2
MOVTMOD,#01H;设置定时器T1,为方式1
MOVTH1,#00H;定时器初值设置
MOVTL1,#00H
MOV30H,#0;距离缓冲区初始化
MOV31H,#0
MOV32H,#0
CLRTF1;清除T0溢出标志
CLRF0;清除接收成功标志位
SETBEA;开启总中断
CLRIT1;外部中断设为电平触发方式
SETBTR1;开启定时器T1
L1:
CPLP1.4;P1.4取反,发射超声波
NOP;保持电平12.5us左右,也就是频率大约为40MHZ
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZTZ_1MS,L1;15个波形发送完没?
没就接着发送
SETBEX1;15个波形发送完后,就开启外部中断1
L2:
JNBTF1,L3;定时器T1是否有溢出,如果没就跳转到L3
SJMPL4;定时器T1有溢出,就跳转到L4
L3:
JNBF0,L2;接收成功标志位是不否1,如果没就跳转到L2
CALLCHENGFA;接收成功后,就调用双字节乘法模块
CALLCHUFA;调用双字节除法模块
CALLBCD;调用双字节BCD码转换模块
CALLDPLY;多次调用显示子程序,保证显示稳定
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
CALLDPLY
LJMPMAIN;显示完之后,跳转到MAIN继续循环
L4:
CLRTR1;关闭定时器T1
CLREX1;关闭外部中断
LJMPMAIN;跳转到MAIN继续循环
;外部中0断子程序:
SUB_1:
CLRTR1;关闭定时器T1
CLREX1;关闭外部中断
SETBF0;接收成功标志位为1
MOVR0,TH1;定时器高8位送给R0
MOVR1,TL1;定时器低8位送给R1
RETI
;乘法模块
CHENGFA:
MOVA,R1
MOVB,#11H
MULAB
MOVR4,A
MOVR3,B
MOVA,R0
MOVB,#11H
MULAB
ADDA,R3
MOVR3,A
MOVA,B
ADDCA,#00H
MOVR2,A
RET
;除法模块
CHUFA:
MOVR0,#27H
MOVR1,#10H
MOVB,#24
MOVR5,#0
MOVR6,#0
MOVR7,#0
COM:
CLRC
MOVA,R4
RLCA
MOVR4,A
MOVA,R3
RLCA
MOVR3,A
MOVA,R2
RLCA
MOVR2,A
MOVA,R6
RLCA
MOVR6,A
MOVA,R5
RLCA
MOVR5,A
CLRC
MOVA,R6
SUBBA,R1
MOVR7,A;暂存差值
MOVA,R5
SUBBA,0
JCNEXT
INCR4
MOVR5,A
MOVA,R7
MOVR6,A
NEXT:
DJNZB,COM
MOVA,R3
MOVR0,A
MOVA,R4
MOVR1,A
RET
;BCD码转换模块:
BCD:
MOVR2,#0
MOVR3,#0
MOVR5,#16
LOOP:
CLRC
MOVA,R1
RLCA
MOVR1,A
MOVA,R0
RLCA
MOVR0,A
MOVA,R3
ADDCA,R3
DAA
MOVR3,A
MOVA,R2
ADDCA,R2
DAA
MOVR2,A
DJNZR5,LOOP
MOVB,#16
MOVA,R3
DIVAB
MOV30H,R2
MOV31H,A
MOV32H,B
RET
;显示模块:
DPLY:
MOVR1,#11111110B
MOVDPTR,#TAB;表首地址送给DPTR
MOVR0,#30H;缓冲区首地址送给R0
DPLY1:
MOVA,@R0;送对应缓冲的内容给A
MOVCA,@A+DPTR;查表,查取对应的字形码
MOVP0,A;送到P0口,进行显示
MOVP2,R1;选中要显示的位
CALLDELAY;延时一段时间
MOVP0,#0FFH;关闭显示
MOVP2,#0FFH
MOVA,R1;处理下一次要显示的位
RLA
MOVR1,A
INCR0;缓冲地址加1
CJNER0,#33H,DPLY1;3位是否都显示完毕,没有就继续循环显示
RET;显示完毕后返回
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超声波 测距 课程设计 报告