基于单片机的超声波测距仪课程设计毕业设计Word文档格式.docx
《基于单片机的超声波测距仪课程设计毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距仪课程设计毕业设计Word文档格式.docx(36页珍藏版)》请在冰点文库上搜索。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
导师签名:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
3、学生综合运用所学知识和专业技能分析和解决问题的能力
4、研究方法的科学性;
技术线路的可行性;
设计方案的合理性
5、完成毕业论文(设计)期间的出勤情况
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
2、是否完成指定的论文(设计)任务(包括装订及附件)?
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
2、论文的观念是否有新意?
设计是否有创意?
3、论文(设计说明书)所体现的整体水平
建议成绩:
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
二、论文(设计)水平
评阅教师:
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
2、对答辩问题的反应、理解、表达情况
3、学生答辩过程中的精神状态
评定成绩:
教研室主任(或答辩小组组长):
(签名)
教学系意见:
系主任:
论文题目:
基于蓝牙控制的智能小车
摘要:
随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。
但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:
研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;
继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;
研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;
大力降低潜艇自噪声,改善潜艇声纳的工作环境。
无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。
随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。
在新的世纪里,面貌一新的测距仪将发挥更大的作用。
本设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。
整个电路采用模块化设计,由主程序、中断程序、发射子程序、接收子程序、显示子程序等模块组成。
各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。
在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。
1.设计课题
2.电路设计
3.程序设计
4.调试及性能分析
5.设计总结
6.附件
7.设计体会
8.参考文献
本文所研究的超声波测距仪利用超声波指向性强、能量消耗缓慢、传播距离较远等优点,即用超声波发射器向某一方向发送超声波,同时在发射的时候开始计时,在超声波遇到障碍物的时候反射回来,超声波接收器在接收到反射回来的超声波时,停止计时。
设超声波在空气中的传播速度为V,在空气中的传播时间为T,汽车与障碍物的距离为S,S=VT/2,这样可以测出汽车与障碍物之间的距离,然后在LED显示屏上显示出来。
其工作机理是依据压电材料的正逆压电效应,利用逆压电效应产生超声波,即逆压电效应是在压电材料上加上某种特定频率的交变正弦信号,材料就会产生随所加电压的变化规律而变化的机械形变,这种机械形变推动周围介质振动,产生疏密相间的机械波,如果其振动频率在超声范围内,这种机械波就是超声波。
本文所设计的超声波测距仪主要由AT89C52单片机、超声波发射电路、超声波接收放大电路、显示电路.
首先由单片机驱动产生12MHZ晶振,由超声波发射探头发送出去,在遇到障碍物反射回来时由超声波接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进行计算,把计算结果输出到LED液晶显示屏上。
超声波发生器可以分为两大类:
一类是用电气方式产生超声波;
另一类是用机械方式。
产生超声波。
电气方式包括压电型、电动型等;
机械方式有加尔统笛、液和气流旋笛等。
它们所产生的超声波的频率,功率和声波特性各不相同,因而用途也各不相同。
目前在近距离测量方面较为常用的是压电式超声波换能器。
根据设计要求并综合各方面因素,本例决定采用AT89C51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。
超声波测距器系统设计如图3.1所示。
图3.1超声波测距器系统设计框图
2.硬件电路设计
硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。
单片机采用AT89C51或其兼容系列。
采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。
显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管9012驱动。
主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三
部分组成。
采用AT89S51来实现对超声波模组进行控制,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。
计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。
2.1超声波发射和接收模组(V2.0)
本文采用的超声波测距模组集发射和接受为一体,内部超声波传感器谐振频率40KHz,模组传感器工作电压4.5V~9V,模组接口电压4.5V~5.5V。
提供三种测距模式,选择跳线可以选择短距、中距和可调距。
本实验采用短距(20~100cm)精度1cm。
模组结构示意图如下:
应用时只需要用J5的第1个口与单片机Vcc连接,最后一个口与单片机GND连接,第4个接口与单片机的INT0口相连接,J4的第3个接口与单片机1.0口连接,同时将J1跳线设置为短距模式,J2跳线设置为非外部电源供电方式(此时开发板通过10PIN排线为模组供电,板上J5选择5V,要把J2跳接到5v的一端)。
这就完成了模组硬件的连接。
超声波谐振频率调理电路图如下:
由单片机产生40KHz的方波由P1.0口送出,连接模组接口J4到模组的CD4049,而后面的CD4049则对40KHz频率信号进行调理,以使超声波传感器产生谐振。
上图为超声波回波接收处理电路,超声波接受处理部分电路前级采用NE5532构成10000倍放大器,对接收信号进行放大;
后级采用LM311比较器对接收信号进行调整,比较电压为LM311的3管脚的输入。
接收回路中测得的超声波信号共有两个波束,第一个为余波信号,即超声波接收头在发射头发射信号(一组40KHz的脉冲)后,马上就接收到了超声波信号,并持续一段时间。
另一个波束为有效信号,即经过被测物表面反射的回波信号。
超声波测距时,需要测的是开始发射到接收到信号的时间差,要尽量避免检测到余波信号,这也是检测中存在最小测量盲区的主要原因。
单片机控制模组每次发生若干完整的40KHz的脉冲信号,发射信号前打开计数器T0,进行计时,等计时到达一定值后再开启检测回波信号,以避免余波信号的干扰。
采用外部中断INT0对回波信号进行检测,接收到回波信号后马上读取计数器中的数值,此数据即为需要测量的时间差数据。
2.2数据显示模块
显示电路采用简单实用的4位共阳LED数码管,断码用74LS244驱动,位码用PNP三极管9012驱动。
由P0口输出显示数据,P2.0~P2.3用来位选。
显示电路如下图:
3.系统程序的设计
超声波测距器的软件设计主要由主程序,超声波发生子程序,超声波接收中断程序及显示子程序组成,由于C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序行动的时间,而超声波测距器的程序既有较复杂的计算(计算距离时),又要求精确计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。
下面对超声波测距器的算法,主程序,超声波发生子程序和超声波接收中断程序逐一介绍。
3.1超声波测距器的算法设计
图3.6示意了超声波测距的原理,既超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就会被超声波接收器R接收到。
这样,只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器于反射物体的距离。
该距离的计算公式如下:
d=s/2(v×
t)/2
其中:
d为被测物于测距器的距离;
s为声波的来回路程;
v为声速;
t为声波来回所用的时间。
超声波也是一种声波,其声速v于温度有关。
表3.1列出了几种不同温度下的超声波声速。
在使用时,如果温度变化不大,则可认为声速基本不变的。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
声速确定后,只要测得超声波往返的时间,即可求得距离。
表3.1不同温度下超声波声速表
3.2主程序
主程序首先要对系统环境初始化,设置定时器T0工作模式为16位定时/计数器模式,置位总中断允许位EA并对显示端口P0和P2清0;
然后调用超声波发生子程序送出一个超声波脉冲。
为了避免超声波从发射器直接传到接收器引起的直射波,需要延时约0.1ms(这也就是超声波测距器会有一个最小可测距离的原因)后才可打开外中断0接收返回的超声波信号。
由于采用的是12MHz的晶振,计数器每计一个数就是1us,所以当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(3—2)计算,即可得被测物体与测距器之间的距离。
设计时取20℃时的声速为344m/s,则有
d=(v×
t)/2=(172T/10000)cm(3—2)
T为计数器T0的计数值。
测出距离后,结果将以十进制BCD码方式送往LED显示约为0.5s,然后再发超声波脉冲重复测量过程。
图3.7所示为主程序流程图。
※※※※※※主程序※※※※※※
START:
MOVSP,#4FH
MOVR0,#40H;
40H~43H为显示数据存放单元(40H为最高位)
MOVR7,#0BH
CLEARDISP:
MOV@R0,#00H
INCR0
DJNZR7,CLEARDISP
MOV20H,#00H
MOVTMOD,#21H;
T1为8位自动重装模式,T0为16位定时器
MOVTH0,#00H;
65ms初值
MOVTL0,#00H
MOVTH1,#0F2H;
40kHz初值
MOVTL1,#0F2H
MOVP0,#0FFH
MOVP1,#0FFH
MOVP2,#0FFH
MOVP3,#0FFH
MOVR4,#04H;
超声波脉冲个数控制(为赋值的一半)
SETBPX0
SETBET0
SETBEA
SETBTR0;
开启测试定时器
START1:
LCALLDISPLAY
JNB00H,START1;
收到反射信号时标志位为1
CLREA
LCALLWORK
CLR00H
SETBTR0;
重新开启测试定时器
MOVR2,#64H;
测量间隙控制(约4ms×
100=400ms)
LOOP:
DJNZR2,LOOP
SJMPSTART1
3.3超声波发生子程序和超声波接收中断程序
超声波发生子程序的作用是通过P1.0端口发送两个左右的超声波脉冲信号(频率40KHz的方波),脉冲宽度为12us左右,同时把计数器T0打开进行时。
超声波发生子程序较简单,但要求程序运行时间准确,所以采用汇编语言编程。
ORG0000H
LJMPSTART
ORG0003H
LJMPPINT0
ORG000BH
LJMPINTT0
ORG0013H
RETI
ORG001BH
LJMPINTT1
ORG0023H
ORG002BH
超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入超声波接收中断程序。
进入该中断后,就立即关闭计时器T0,停止计时,并将测距成功标志字赋值1.
※※※※※※中断程序※※※※※※
;
T0中断,65ms中断一次
INTT0:
CLRTR0
MOVTH0,#00H
MOVTL0,#00H
SETBET1
启动计数器T0,用以计算超声来回时间
SETBTR1;
开启发超声波用定时器T1
OUT:
T1中断,发超声波用
INTT1:
CPLVOUT
DJNZR4,RETOUT
CLRTR1;
超声波发完毕,关T1
CLRET1
MOVR4,#04H
SETBEX0;
开启接收回波中断
RETIOUT:
;
外中断0,收到回波时进入
PINT0:
CLRTR0;
关计数器
CLRTR1
CLREX0
MOV44H,TL0;
将计数值移入处理单元
MOV45H,TH0
SETB00H;
接收成功标志
如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2,以表示本次测距不成功。
4.1调试
超声波测距器的制作和调试都较为简单,其中超声波发射和接收采用ø
15的超声波换能器TCT40—10F1(T发射)和TCT40—10S1(R接收),中心频率为40KHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。
若能将超声接收电路用金属壳屏蔽起来,则可提高抗干扰性能。
根据测量范围要求不同,可适当地调整与接收换能器并接的滤波电容C4的大小,以获得合适的接收灵敏度和抗干扰能力。
硬件电路制作完成并调整好后,便可将程序编译好下载到单片机试运行。
根据实际情况,可以修改超声波子程序每次发送的脉冲个数和两次测量的间隔时间,以适应不同距离的测量需要。
4.2性能指示
根据文中电路参数和程序,测距器可测量的范围为0.07~5.50m。
实验中,对测量范围为0.07~2.50m的平面物体做了多次测试,测距器的最大误差不超过1cm,重复性很好。
在本次设计中,我们广泛借鉴了各种设计的优点,充分考虑了整个设计中的各个环节。
包括产生40KHz的方波,在接收电路中,对所接收方波进行滤波、放大、整形等步骤。
但由于条件和技术所限,对于很多以上所分析的在发射和接收过程中所产生的误差没有得到有效的校正。
比如温度误差、硬件电路误差等。
在我们为期一个学期的设计中,我们用到了以前学到的很多知识,比如电工、单片机、和汇编语言等。
这使我们意识到,任何一件产品的产生,都不是单一知识所能实现的。
而且在电路的设计和程序的编制过程中,出现了很多意想不到的错误,让我们措手不及,有些甚至是一些非常低级的错误,但是这些错误也同样让我们获益非浅,它使我们意识到,研究是一个非常严肃的过程,来不得半点马虎。
必须有一个严谨的态度,加上100%的努力才有可能获得成功的喜悦。
总之,在本课题的设计过程中尽管走了很多的弯路,但是还是学到了不少知识,从中受益匪浅。
了解了超声波传感器的原理,学会了各种放大电路的分析、设计,也掌握了单片机的开发过程中所用到的开发方法和工具。
动手能力与自学能力得到了锻炼与提高,对待事物的态度也发生了变化。
理论总是离不开实践的,设计制作过程中,盲目地追寻理论知识根本不足以解决任何问题,一味的死研究课本是不会真正掌握单片机的。
只有真正动手去做才能发现问题,解决问题,提高能力。
6.1控制源程序
单片机汇编源程序
超声波测距器
采用AT89C5112MHz晶振
采用共阳LED显示器
测试范围为0.07~4m,堆栈在4FH以上,20H用于标志
显示缓冲单元在40H~43H,内存44H~46H用于计算距离
VOUTEQUP1.0;
脉冲输出端口
※※※※※※中断入口程序※※※※※※
ORG0000H
LCAL