收藏 分享(赏)

基于蓝牙控制的智能小车-机电一体化毕业设计.doc

上传人:为人民服务 文档编号:2394590 上传时间:2018-09-14 格式:DOC 页数:25 大小:267.50KB
下载 相关 举报
基于蓝牙控制的智能小车-机电一体化毕业设计.doc_第1页
第1页 / 共25页
基于蓝牙控制的智能小车-机电一体化毕业设计.doc_第2页
第2页 / 共25页
基于蓝牙控制的智能小车-机电一体化毕业设计.doc_第3页
第3页 / 共25页
基于蓝牙控制的智能小车-机电一体化毕业设计.doc_第4页
第4页 / 共25页
基于蓝牙控制的智能小车-机电一体化毕业设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、 xxx 职业技术学院毕业设计(论文)题目:基于超声波将在测距仪姓 名 xxx 学 院 信息工程学院 专 业 机 电 一 体 化 班 级 13 机电一体化(5)班 指导 教师 xxx 提交 时间 2015 年 9 月 25 日 论文题目:基于蓝牙控制的智能小车姓 名:xxx班 级:13 机电一体化(5)班指导教师:xxx摘要:随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加

2、高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。本设计采用以 AT89C51 单片机为核心的

3、低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、中断程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。 目录1.设计课题2.电路设计3.程序设计4.调试及性能分析5.设计总结6.附件7.设计体会8.参考文献1.设计课题本文所研究的超声波测距仪利用超声波指向性强、能量消耗缓慢、传播距离较远等优点,即用超声波发射器向某一方向发送超声波,同时在发射的时候开始计时,在超声波遇到障碍物的时候反射回来,超声波接收器在接收

4、到反射回来的超声波时,停止计时。设超声波在空气中的传播速度为 V,在空气中的传播时间为 T,汽车与障碍物的距离为 S, Error! No bookmark name given.S=VT/2,这样可以测出汽车与障碍物之间的距离,然后在 LED 显示屏上显示出来。其工作机理是依据压电材料的正逆压电效应,利用逆压电效应产生超声波,即逆压电效应是在压电材料上加上某种特定频率的交变正弦信号,材料就会产生随所加电压的变化规律而变化的机械形变,这种机械形变推动周围介质振动,产生疏密相间的机械波,如果其振动频率在超声范围内,这种机械波就是超声波。本文所设计的超声波测距仪主要由 AT89C52 单片机、超声

5、波发射电路、超声波接收放大电路、显示电路.首先由单片机驱动产生 12MHZ 晶振,由超声波发射探头发送出去,在遇到障碍物反射回来时由超声波接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进行计算,把计算结果输出到LED 液晶显示屏上。超声波发生器可以分为两大类:一类是用电气方式产生超声波;另一类是用机械方式。产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液 和气流旋笛等。它们所产生的超声波的频率,功率和声波特性各不相同,因而用途也各不相同。目前在近距离测量方面较为常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本例决定采用 AT89C51 单片机作为主控制器

6、,用动态扫描法实现 LED 数字显示,超声波驱动信号用单片机的定时器完成。超声波测距器系统设计如图 3.1 所示。超声波接收单片机控制器超声波发送LED 显示扫描驱动图 3.1 超声波测距器系统设计框图2.硬件电路设计硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用 AT89C51 或其兼容系列。采用 12MHz 高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用 P1.0 端口输出超声波换能器所需的 40kHz 的方波信号,利用外中断 0 口监测超声波接收电路输出的返回信号。显示电路采用简单实用的 4 位共阳 LED 数码管,段码用 7

7、4LS244 驱动,位码用 PNP 三极管 9012 驱动。主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用 AT89S51 来实现对超声波模组进行控制,然后单片机不停的检测 INT0 引脚,当 INT0 引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。2.1 超声波发射和接收模组(V2.0)本文采用的超声波测距模组集发射和接受为一体,内部超声波传感器谐振频率 40KHz,模组传感器工作电压 4.5V9V,模组接口电压 4.5V5.5V。提供三种测距模式,选择跳线可以选择短距、

8、中距和可调距。本实验采用短距(20100cm )精度 1cm。模组结构示意图如下:应用时只需要用 J5 的第 1 个口与单片机 Vcc 连接,最后一个口与单片机 GND 连接,第 4 个接口与 单片机的 INT0 口相连接,J4的第 3 个接口与单片机 1.0 口连接,同时将 J1 跳线设置为短距模式,J2 跳线设置为非外部电源供电方式(此时开发板通过 10PIN 排线为模组供电,板上 J5 选择 5V,要把 J2 跳接到 5v 的一端) 。这就完成了模组硬件的连接。超声波谐振频率调理电路图如下:由单片机产生 40KHz 的方波由 P1.0 口送出,连接模组接口 J4到模组的 CD4049,而

9、后面的 CD4049 则对 40KHz 频率信号进行调理,以使超声波传感器产生谐振。上图为超声波回波接收处理电路,超声波接受处理部分电路前级采用 NE5532 构成 10000 倍放大器,对接收信号进行放大;后级采用 LM311 比较器对接收信号进行调整,比较电压为 LM311 的 3管脚的输入。接收回路中测得的超声波信号共有两个波束,第一个为余波信号,即超声波接收头在发射头发射信号(一组 40KHz 的脉冲)后,马上就接收到了超声波信号,并持续一段时间。另一个波束为有效信号,即经过被测物表面反射的回波信号。超声波测距时,需要测的是开始发射到接收到信号的时间差,要尽量避免检测到余波信号,这也是

10、检测中存在最小测量盲区的主要原因。单片机控制模组每次发生若干完整的 40KHz 的脉冲信号,发射信号前打开计数器 T0,进行计时,等计时到达一定值后再开启检测回波信号,以避免余波信号的干扰。采用外部中断 INT0 对回波信号进行检测,接收到回波信号后马上读取计数器中的数值,此数据即为需要测量的时间差数据。2.2 数据显示模块显示电路采用简单实用的 4 位共阳 LED 数码管,断码用74LS244 驱动,位码用 PNP 三极管 9012 驱动。由 P0 口输出显示数据,P2.0P2.3 用来位选。显示电路如下图:P1.0/T1 P1.1/T2P1.23 P1.34P1.45 P1.56P1.67

11、 P1.78INT113 INT012T014 T115EA/VP31X218 X119RESET9RD17 WR16 PSEN 29ALE/P 30RXD 10TXD 11P2.0 21P2.1 22P2.2 23P2.3 24P2.4 25P2.5 26P2.6 27P2.7 28P0.7 32P0.633P0.5 34P0.4 35P0.336P0.2 37P0.1 38P0.039AT89C52U5*40KHz入入入入入入入入Y212MHz5VC430pFC530pF+20uFRESET10KVCCabcdef ga1 b2c3 d4e5 f6g7DPYLEDRES2 abcdef g

12、a1 b2c3 d4e5 f6g7DPYLEDRES2abcdef ga1 b2c3 d4e5 f6g7DPYLEDRES2abcdef ga1 b2c3 d4e5 f6g7DPYLEDRES29012 9012 9012 90124.7K 4.7K 4.7KVCCP2.3 P2.2 P2.1 P2.03.系统程序的设计超声波测距器的软件设计主要由主程序,超声波发生子程序,超声波接收中断程序及显示子程序组成,由于 C 语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序行动的时间,而超声波测距器的程序既有较复杂的计算(计算距离时) ,又要求精确计算程序运行时间(超声

13、波测距时) ,所以控制程序可采用 C 语言和汇编语言混合编程。下面对超声波测距器的算法,主程序,超声波发生子程序和超声波接收中断程序逐一介绍。3.1 超声波测距器的算法设计图 3.6 示意了超声波测距的原理,既超声波发生器 T 在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就会被超声波接收器 R 接收到。这样,只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器于反射物体的距离。该距离的计算公式如下:d=s/2(vt)/2其中:d 为被测物于测距器的距离;s 为声波的来回路程;v 为声速;t 为声波来回所用的时间。超声波也是一种声波,其声速 v 于温度

14、有关。表 3.1 列出了几种不同温度下的超声波声速。在使用时,如果温度变化不大,则可认为声速基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。表 3.1 不同温度下超声波声速表温度/ 30 20 10 0 10 20 30 100声波/(m.s) 313 319 325 323 338 344 349 3863.2 主程序主程序首先要对系统环境初始化,设置定时器 T0 工作模式为 16位定时/计数器模式,置位总中断允许位 EA 并对显示端口 P0 和 P2清 0;然后调用超声波发生子程序送出一个超声波脉冲。为了避免超声波从发射

15、器直接传到接收器引起的直射波,需要延时约0.1ms(这也就是超声波测距器会有一个最小可测距离的原因)后才可打开外中断 0 接收返回的超声波信号。由于采用的是 12MHz 的晶振,计数器每计一个数就是 1us,所以当主程序检测到接收成功的标志位后,将计数器 T0 中的数(即超声波来回所用的时间)按式(32)计算,即可得被测物体与测距器之间的距离。设计时取20时的声速为 344m/s,则有d=(vt)/2=(172T/10000)cm (32)其中:T 为计数器 T0 的计数值。测出距离后,结果将以十进制 BCD 码方式送往 LED 显示约为0.5s,然后再发超声波脉冲重复测量过程。图 3.7 所

16、示为主程序流程图。开始系统初始化发送超声波脉冲等待反射超声波计算距离显示结果 0.5s主程序START: MOV SP, #4FHMOV R0, #40H ;40H43H 为显示数据存放单元( 40H 为最高位)MOV R7, #0BHCLEARDISP: MOV R0, #00HINC R0DJNZ R7, CLEARDISPMOV 20H, #00HMOV TMOD, #21H ;T1 为 8 位自动重装模式,T0 为 16 位定时器MOV TH0, #00H ;65ms 初值MOV TL0, #00HMOV TH1, #0F2H ;40kHz 初值MOV TL1, #0F2HMOV P0

17、, #0FFHMOV P1, #0FFHMOV P2, #0FFHMOV P3, #0FFHMOV R4, #04H ;超声波脉冲个数控制(为赋值的一半)SETB PX0SETB ET0SETB EASETB TR0 ;开启测试定时器START1: LCALL DISPLAYJNB 00H, START1 ;收到反射信号时标志位为 1CLR EALCALL WORKSETB EACLR 00HSETB TR0 ;重新开启测试定时器MOV R2, #64H ;测量间隙控制(约 4ms100=400ms)LOOP: LCALL DISPLAYDJNZ R2,LOOPSJMP START13.3 超

18、声波发生子程序和超声波接收中断程序超声波发生子程序的作用是通过 P1.0 端口发送两个左右的超声波脉冲信号(频率 40KHz 的方波) ,脉冲宽度为 12us 左右,同时把计数器 T0 打开进行时。超声波发生子程序较简单,但要求程序运行时间准确,所以采用汇编语言编程。ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 000BHLJMP INTT0ORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 002BHRETI超声波测距器主程序利用外中断 0 检测返回超声波信号,一旦接收到返回超声波信号(即 INT0 引脚出现

19、低电平) ,立即进入超声波接收中断程序。进入该中断后,就立即关闭计时器 T0,停止计时,并将测距成功标志字赋值 1. 中断程序;T0 中断,65ms 中断一次INTT0: CLR EACLR TR0MOV TH0,#00HMOV TL0,#00HSETB ET1SETB EASETB TR0 ;启动计数器 T0,用以计算超声来回时间SETB TR1 ;开启发超声波用定时器 T1OUT: RETI;T1 中断,发超声波用INTT1: CPL VOUTDJNZ R4,RETOUTCLR TR1 ;超声波发完毕,关 T1CLR ET1MOV R4,#04HSETB EX0 ;开启接收回波中断RETI

20、OUT: RETI;外中断 0,收到回波时进入PINT0: CLR TR0 ;关计数器CLR TR1CLR ET1CLR EACLR EX0MOV 44H,TL0 ;将计数值移入处理单元MOV 45H,TH0SETB 00H ;接收成功标志RETI如果当计时器溢出时还未检测到超声波返回信号,则定时器 T0 溢出中断将外中断 0 关闭,并将测距成功标志字赋值 2,以表示本次测距不成功。4.调试及性能分析4.1 调试超声波测距器的制作和调试都较为简单,其中超声波发射和接收采用 15 的超声波换能器 TCT4010F1(T 发射)和 TCT4010S1(R 接收) ,中心频率为 40KHz,安装时应

21、保持两换能器中心轴线平行并相距 48cm,其余元件无特殊要求。若能将超声接收电路用金属壳屏蔽起来,则可提高抗干扰性能。根据测量范围要求不同,可适当地调整与接收换能器并接的滤波电容 C4 的大小,以获得合适的接收灵敏度和抗干扰能力。硬件电路制作完成并调整好后,便可将程序编译好下载到单片机试运行。根据实际情况,可以修改超声波子程序每次发送的脉冲个数和两次测量的间隔时间,以适应不同距离的测量需要。4.2 性能指示根据文中电路参数和程序,测距器可测量的范围为0.075.50m。实验中,对测量范围为 0.072.50m 的平面物体做了多次测试,测距器的最大误差不超过 1cm,重复性很好。5.设计总结在本

22、次设计中,我们广泛借鉴了各种设计的优点,充分考虑了整个设计中的各个环节。包括产生 40KHz 的方波,在接收电路中,对所接收方波进行滤波、放大、整形等步骤。但由于条件和技术所限,对于很多以上所分析的在发射和接收过程中所产生的误差没有得到有效的校正。比如温度误差、硬件电路误差等。在我们为期一个学期的设计中,我们用到了以前学到的很多知识,比如电工、单片机、和汇编语言等。这使我们意识到,任何一件产品的产生,都不是单一知识所能实现的。而且在电路的设计和程序的编制过程中,出现了很多意想不到的错误,让我们措手不及,有些甚至是一些非常低级的错误,但是这些错误也同样让我们获益非浅,它使我们意识到,研究是一个非

23、常严肃的过程,来不得半点马虎。必须有一个严谨的态度,加上 100的努力才有可能获得成功的喜悦。总之,在本课题的设计过程中尽管走了很多的弯路,但是还是学到了不少知识,从中受益匪浅。了解了超声波传感器的原理,学会了各种放大电路的分析、设计,也掌握了单片机的开发过程中所用到的开发方法和工具。动手能力与自学能力得到了锻炼与提高,对待事物的态度也发生了变化。理论总是离不开实践的,设计制作过程中,盲目地追寻理论知识根本不足以解决任何问题,一味的死研究课本是不会真正掌握单片机的。只有真正动手去做才能发现问题,解决问题,提高能力。6.附件6.1 控制源程序单片机汇编源程序超声波测距器采用 AT89C51 12

24、MHz 晶振采用共阳 LED 显示器测试范围为 0.074m,堆栈在 4FH 以上,20H 用于标志显示缓冲单元在 40H43H,内存 44H46H 用于计算距离VOUT EQU P1.0 ;脉冲输出端口中断入口程序ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 000BHLJMP INTT0ORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 002BHRETI主程序START: MOV SP, #4FHMOV R0, #40H ;40H43H 为显示数据存放单元( 40H 为最高位)MOV R7, #0BHCL

25、EARDISP: MOV R0, #00HINC R0DJNZ R7, CLEARDISPMOV 20H, #00HMOV TMOD, #21H ;T1 为 8 位自动重装模式,T0 为 16 位定时器MOV TH0, #00H ;65ms 初值MOV TL0, #00HMOV TH1, #0F2H ;40kHz 初值MOV TL1, #0F2HMOV P0, #0FFHMOV P1, #0FFHMOV P2, #0FFHMOV P3, #0FFHMOV R4, #04H ;超声波脉冲个数控制(为赋值的一半)SETB PX0SETB ET0SETB EASETB TR0 ;开启测试定时器STA

26、RT1: LCALL DISPLAYJNB 00H, START1 ;收到反射信号时标志位为 1CLR EALCALL WORKSETB EACLR 00HSETB TR0 ;重新开启测试定时器MOV R2, #64H ;测量间隙控制(约4ms100=400ms)LOOP: LCALL DISPLAYDJNZ R2,LOOPSJMP START1中断程序;T0 中断,65ms 中断一次INTT0: CLR EACLR TR0MOV TH0,#00HMOV TL0,#00HSETB ET1SETB EASETB TR0 ;启动计数器 T0,用以计算超声来回时间SETB TR1 ;开启发超声波用定

27、时器 T1OUT: RETI;T1 中断,发超声波用INTT1: CPL VOUTDJNZ R4,RETOUTCLR TR1 ;超声波发完毕,关 T1CLR ET1MOV R4,#04HSETB EX0 ;开启接收回波中断RETIOUT: RETI;外中断 0,收到回波时进入PINT0: CLR TR0 ;关计数器CLR TR1CLR ET1CLR EACLR EX0MOV 44H,TL0 ;将计数值移入处理单元MOV 45H,TH0SETB 00H ;接收成功标志RETI显示程序;40H 为最高位,43H 为最低位,先扫描高位DISPLAY: MOV R1,#40H;GMOV R5,#0E7

28、H;GPLAY: MOV A,R5MOV P0,#0FEHMOV P2,AMOV R1MOV DPTR,#TABMOVC A,A+DPTRMOV P0,ALCALL DL1MSINC R1MOV A,R5JNB ACC.0,ENDOUT;GRR AMOV R5,AAJMP PLAYENDOUT: MOV P2,#0FEHMOV P0,#0FEHRETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FEH,88H,0BFH;共阳段码表 “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”,“8”, “9”,“不亮

29、” , “A”, “-”延时程序DL1MS: MOV R6, #14HDL1: MOV R7, #19HDL2: DJNZ R7, DL2DJNZ R6, DL1RET距离计算程序Work: PUSH ACCPUSH PSWPUSH BMOV PSW, #18hMOV R3, 45HMOV R2, 44HMOV R1, #00DMOV R0, #17DLCALL MUL2BY2MOV R3, #03HMOV R2, #0E8HLCALL DIV4BY2LCALL DIV4Y2MOV 400H, R4MOV A, 40HJNZ JJ0MOV 40H,#0AH ;最高位为 0,不点亮JJ0: MO

30、V A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #100DLCALL DIV4BY2MOV 41H, R4MOV A, 41HJNZ JJ1MOV A, 40H ;次高位为 0,先看最高位是否为不亮SUBB A, #0AHJNZ JJ1MOV 41H, #0AH ;最高位不亮,次高位也不亮JJ1: M0V A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #10DLCALL DIV4BY2MOV 42H, R4MOV A, 42HJNZ JJ2MOV A, 41H ;次次高位为 0

31、,先看次高位是否为不亮SUBB A, #0AHJNZ JJ2MOV 42H, #0AH ;次高位不亮,次次高位也不亮JJ2: MOV 43H, R0POP BPOP PSWPOP ACCRET2 字节无符号数乘法程序R7R6R5R4R3R2R1R0MUL2BY2: CLR AMOV R7,AMOV R6,AMOV R5,AMOV R4,AMOV 46H,#10HMULLOOP1: CLR CMOV A,R4RLC AMOV R4,AMOV A,R5RLC AMOV R5,AMOV A,R6RLC AMOV R6,AMOV A,R7RLC AMOV R7,AMOV A,R0RLC AMOV R0

32、,AMOV A,R1RLC AMOV R1,AJNC MULLOOP2MOV A,R4ADD A,R2MOV R4,AMOV A,R5ADDC A,R3MOV R5,AMOV A,R6ADDC A,#00HMOV R6,AMOV A,R7ADDC A,#00HMOV R7,AMULLOOP2: DJNZ 46H,MULLOOP1RET4 字节/2 字节无符号数除法程序;R7R6R5R4/R3R2=R7R6R5R4(商)R1R0(余数)DIV4BY2: MOV 46H,#20HMOV R0,#00HMOV R1,#00HDIVLOOP1: MOV A,R4RLC AMOV R4,AMOV A,R

33、5RLC A MOV R5,AMOV A,R6RLC AMOV R6,AMOV A,R7RLC AMOV R7,AMOV A,R0RLC R0MOV R0,AMOV A,R1RLC AMOV R1,ACLR CMOV A,R0SUBB A,R2MOV B,AMOV A,R1SUBB A,R3JC DIVLOOP2MOV R0,BMOV R1,ADIVLOOP2: CPL CDJNZ 46H,DIVLOOP1MOV A,R4RLC AMOV R4,AMOV A,R5RLC A MOV R5,AMOV A,R6RLC AMOV R6,AMOV A,R7 RLC AMOV R7,ARETEND ;程

34、序结束6.2 电路图超声波发射电路超声波接收电路六、设计的体会通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。我在万老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。在此,忠心感谢老师以及许多同学的指导和支持。我会继续努力的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报