欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    超声波测距专业课程设计.doc

    • 资源ID:97996571       资源大小:3.64MB        全文页数:24页
    • 资源格式: DOC        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    超声波测距专业课程设计.doc

    目录前言1课题设计目及意义- 11.1设计目- 11.2设计意义- 11.3课题设计任务和规定- 1正文1 课程方案设计- 21.1系统整体方案- 21.2系统整体方案论证- 22 系统硬件构造设计- 22.1 51系列单片机功能特点及测距原理- 32.1.1 51系列单片机功能特点- 32.1.2 单片机实现测距原理 - 32.2 超声波电路构造- 42.3 超声波测距系统硬件电路设计- 42.4 PCB版图设计- 53 系统软件设计- 63.1 超声波测距仪算法设计- 73.2 主程序流程图- 73.3单片机某些C语言程序- 83.4超声波测距某些C语言程序- 114 实物制作- 174.1电路板焊接及连线图- 174.2实物调试效果图- 184.3焊接电路板时所遇问题- 195总 结- 206 道谢- 20附录-20前言1课题设计目及意义1.1设计目随着科学技术迅速发展,超声波将在测距仪中应用越来越广。但就目前技术水平来说,人们可以详细运用测距技术还十分有限,因而,这是一种正在蓬勃发展而又有无限前景技术及产业领域。展望将来,超声波测距仪作为一种新型非常重要有用工具在各方面都将有很大发展空间,它将朝着更加高定位高精度方向发展,以满足日益发展社会需求,如声纳发展趋势基本为:研制具备更高定位精度被动测距声纳,以满足水中武器实行全隐蔽袭击需要;继续发展采用低频线谱检测潜艇拖曳线列阵声纳,实现超远程被动探测和辨认;研制更适合于浅海工作潜艇声纳,特别是解决浅海水中目的记别问题;大力减少潜艇自噪声,改进潜艇声纳工作环境。无庸置疑,将来超声波测距仪将与自动化智能化接轨,与其她测距仪集成和融合,形成多测距仪。随着测距仪技术进步,测距仪将从具备单纯判断功能发展到具备学习功能,最后发展到具备创造力。在新世纪里,面貌一新测距仪将发挥更大作用。1.2设计意义 查找与超声波测距关于资料,通过对资料理解开发设计一种简朴单片机超声波测距装置。设计完毕后,制作PCB版图,最后完毕实物连线。通过设计巩固对单片机知识运用,并加强自我动手能力。1.3课题设计任务和规定理解和掌握超声波传感器原理、构造、特性和用法,超声波探测系统有关产品及及其国内外研究进展状况,运用单片机、Proteus和Keil C51工具设计出一种相应探测辨认系统,制作实物并进行测试。1、理解和掌握该系统有关传感器(3-5种)技术资料,涉及其技术指标、原理图、封装形式、价格等;2、查找系统有关产品(3-5种)技术资料,涉及其技术指标、原理图、封装形式、价格等;3、查找与本系统有关论文(近来几年)(3-5篇);4、选取一种传感器,运用单片机、Proteus和Keil C51工具设计出一种相应探测辨认系统,制作实物并进行测试;5、完毕论文。1 课程方案设计1.1系统整体方案由于超声波指向性强,能量消耗缓慢,在介质中传播距离较远,因而超声波经惯用于距离测量。运用超声波检测距离,设计比较以便,计算解决也较简朴,并且在测量精度方面也能达到农业生产等自动化使用规定。      超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式涉及压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生超声波频率、功率、和声波特性各不相似,因而用途也各不相似。当前在近距离测量方面惯用是压电式超声波换能器。依照设计规定并综合各方面因素,本文采用AT89C51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机定期器。 1.2系统整体方案论证超声波测距原理是运用超声波发射和接受,依照超声波传播时间来计算出传播距离。实用测距办法有两种,一种是在被测距离两端,一端发射,另一端接受直接波方式,合用于身高计;一种是发射波被物体反射回来后接受反射波方式,合用于测距仪。本次设计采用反射波方式。 测距仪辨别率取决于对超声波传感器选取。超声波传感器是一种采用压电效应传感器,惯用材料是压电陶瓷。由于超声波在空气中传播时会有相称衰减,衰减限度与频率高低成正比;而频率高辨别率也高,故短距离测量时应选取频率高传感器,而长距离测量时应用低频率传感器。2 系统硬件构造设计硬件电路设计重要涉及单片机系统及显示电路、超声波发射电路和超声波检测接受电路三某些。单片机采用AT89C51或其兼容系列。采用11MHz高精度晶振,以获得较稳定期钟频率,减小测量误差。单片机用P3.0端口输出超声波换能器所需40kHz方波信号,运用外中断0口监测超声波接受电路输出返回信号。显示电路采用简朴实用3位共阴LED数码管,段码用74LS244驱动,位码用PNP三极管8550驱动。2.1 51系列单片机功能特点及测距原理2.1.1 51系列单片机功能特点 5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kBROM,256 BRAM,2个16b定期计数器TO和T1,4个8 b工O端I:IP0,P1,P2,P3,一种全双功串行通信口等构成。特别是该系列单片机片内Flash可编程、可擦除只读存储器(EPROM),使其在实际中有着十分广泛用途,在便携式、省电及特殊信息保存仪器和系统中更为有用。  5l系列单片机提供如下功能:4 kB存储器;256 BRAM;32条工O线;2个16b定期计数器;5个2级中断源;1个全双向串行口以及时钟电路。空闲方式:CPU停止工作,而让RAM、定期计数器、串行口和中断系统继续工作。掉电方式:保存RAM内容,振荡器停振,禁止芯片所有其她功能直到下一次硬件复位。5l系列单片机为许多控制提供了高度灵活和低成本解决办法。充分运用她片内资源,即可在较少外围电路状况下构成功能完善超声波测距系统。2.1.2 单片机实现测距原理 单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射回波,从而测出发射和接受回波时间差tr,然后求出距离SCt2,式中C为超声波波速。限制该系统最大可测距离存在4个因素:超声波幅度、反射质地、反射和入射声波之间夹角以及接受换能器敏捷度。接受换能器对声波脉冲直接接受能力将决定最小可测距离。为了增长所测量覆盖范畴、减小测量误差,可采用各种超声波换能器分别作为多路超声波发射接受设计办法。由于超声波属于声波范畴,其波速C与温度关于。2.2 超声波电路构造 超声波接受电路2.3 超声波测距系统硬件电路设计本系统特点是运用单片机控制超声波发射和对超声波自发射至接受来回时间计时,单片机选用AT89C51,经济易用,且片内有4KROM,便于编程。单片机发出40kHZ信号,经放大后通过超声波发射器输出;超声波接受器将接受到超声波信号经放大器放大,用锁相环电路进行检波解决后,启动单片机中断程序,测得时间为t,再由软件进行鉴别、计算,得出距离数并送LED显示。 超声波发射器放大电路超声波接受器放大电路锁相环检波电路定期器单片机控制显示屏 单片机硬件原理图 2.4 PCB版图设计:PCB版图(a)PCB版图(b)3 系统软件设计超声波测距仪软件设计重要由主程序、超声波发生子程序、超声波接受中断程序及显示子程序构成。咱们懂得C语言程序有助于实现较复杂算法,汇编语言程序则具备较高效率且容易精细计算程序运营时间,而超声波测距仪程序既有较复杂计算(计算距离时),又规定精细计算程序运营时间(超声波测距时),因此控制程序可采用C语言编程。 3.1 超声波测距仪算法设计      超声波测距原理为超声波发生器T在某一时刻发出一种超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接受器R所接受到。这样只要计算出从发出超声波信号到接受到返回信号所用时间,就可算出超声波发生器与反射物体距离。距离计算公式为:  d=s/2=(c×t)/2 (1)  其中,d为被测物与测距仪距离,s为声波来回路程,c为声速,t为声波来回所用时间。 在启动发射电路同步启动单片机内部定期器T0,运用定期器计数功能记录超声波发射时间和收到反射波时间。当收到超声波反射波时,接受电路输出端产生一种负跳变,在INT0或INT1端产生一种中断祈求信号,单片机响应外部中断祈求,执行外部中断服务子程序,读取时间差,计算距离。3.2 主程序流程图  3.3单片机某些C语言程序:#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit trig=P37;sbit echo=P32;uint t=0,s=0;bit flag=0;uchar timeh=0,timel=0,i=0;uchar buffer4=0,0,0,0;uchar code table10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /数码管09void delay_us()/20us延迟uchar x;for(x=0;x<100;x+);void delay(uint z)uint j,y;for(j=z;j>0;j-)for(y=110;y>0;y-);void main()trig=0;/echo=0;TMOD=0x11;/定期器0、1为16位计数模式TH0=(65536-5000)/256;TL0=(65536-5000)%256;TR0=1;/启动定期器0IT0=1;/下降沿触发ET0=1;/打开定期器0中断ET1=1;/打开定期器1中断EX0=0;/关闭外部中断0EA=1;/开总中断while(1)EA=0;/关总中断trig=1;/超声波输入端delay_us();/延迟20ustrig=0;/产生一种20us脉冲while(echo=0);/等待echo回波变成高电平flag=0;/清测量成功标志;EA=1;EX0=1;/打开外部中断TH1=0;TL1=0;/定期器1清零TF1=0;TR1=1;/启动定期器1delay(20);/等待测量成果TR1=0;/关闭定期器1EX0=0;/关闭外部中断0if(flag)t=timeh*256+timel;/计算时间s=t/58;/计算距离(厘米)buffer0=s/100;/百位buffer1=s%100/10;/十位buffer2=s%10;/个位elses=0;/没有,则清零;/*外部中断0,用做判断回波电平*/void exter() interrupt 0timeh=TH1;timel=TL1;flag=1;EX0=0;/*用定期器0做显示*/void timer0() interrupt 1TH0=(65536-5000)/256;TL0=(65536-5000)%256;switch(i)case 0:P1=tablebuffer0;P2=0xfe;i=1;break;case 1:P1=tablebuffer1;P2=0xfd;i=2;break;case 2:P1=tablebuffer2;P2=0xfb;i=0;break;default:break;/*定期器1中断,用做超声波测距计时*/void timer1() interrupt 3TH1=0;TL1=0;3.4超声波测距某些C语言程序:/晶振=8M/MCU=STC10F04XE/P0.0-P0.6共阳数码管引脚/Trig = P10/Echo = P32#include <reg52.h> /涉及一种52原则内核头文献#define uchar unsigned char /定义一下以便使用#define uint unsigned int#define ulong unsigned long/*sfr CLK_DIV = 0x97;/为STC单片机定义,系统时钟分频 /为STC单片机IO口设立地址定义sfr P0M1 = 0X93;sfr P0M0 = 0X94;sfr P1M1 = 0X91;sfr P1M0 = 0X92;sfrP2M1 = 0X95;sfrP2M0 = 0X96;/*sbit Trig = P10;/产生脉冲引脚sbit Echo = P32;/回波引脚sbit test = P11;/测试用引脚uchar code SEG710=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/数码管0-9uint distance4; /测距接受缓冲区uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i; /自定义寄存器bit succeed_flag; /测量成功标志/*函数声明void conversion(uint temp_data);void delay_20us();/void pai_xu();void main(void) / 主程序 uint distance_data,a,b; uchar CONT_1; CLK_DIV=0X03;/系统时钟为1/8晶振(pdf-45页) P0M1 = 0; /将io口设立为推挽输出 P1M1 = 0; P2M1 = 0; P0M0 = 0XFF; P1M0 = 0XFF; P2M0 = 0XFF; i=0; flag=0;test =0;Trig=0; /一方面拉低脉冲输入引脚TMOD=0x11; /定期器0,定期器1,16位工作方式TR0=1; /启动定期器0 IT0=0; /由高电平变低电平,触发外部中断ET0=1; /打开定期器0中断 /ET1=1; /打开定期器1中断EX0=0; /关闭外部中断EA=1; /打开总中断0 while(1) /程序循环 EA=0; Trig=1; delay_20us(); Trig=0; /产生一种20us脉冲,在Trig引脚 while(Echo=0);/等待Echo回波引脚变高电平 succeed_flag=0;/清测量成功标志/*/外部中断0,用做判断回波电平INTO_() interrupt 0 / 外部中断是0号 outcomeH =TH1; /取出定期器值 outcomeL =TL1; /取出定期器值 succeed_flag=1; /至成功测量标志 EX0=0; /关闭外部中断 /*/定期器0中断,用做显示timer0() interrupt 1 / 定期器0中断是1号 TH0=0xfd;/写入定期器0初始值 TL0=0x77; switch(flag) case 0x00:P0=ge;P2=0xfd;flag+;break; case 0x01:P0=shi;P2=0xfe;flag+;break; case 0x02:P0=bai;P2=0xfb;flag=0;break; /*/*/定期器1中断,用做超声波测距计时timer1() interrupt 3 / 定期器0中断是1号 TH1=0;TL1=0; */*/显示数据转换程序void conversion(uint temp_data) uchar ge_data,shi_data,bai_data ; bai_data=temp_data/100 ; temp_data=temp_data%100; /取余运算 shi_data=temp_data/10 ; temp_data=temp_data%10; /取余运算 ge_data=temp_data; bai_data=SEG7bai_data; shi_data=SEG7shi_data; ge_data =SEG7ge_data; EA=0; bai = bai_data; shi = shi_data; ge = ge_data ; EA=1; /*void delay_20us() uchar bt ; for(bt=0;bt<100;bt+); /*void pai_xu() uint t; if (distance0>distance1) t=distance0;distance0=distance1;distance1=t; /*互换值 if(distance0>distance2) t=distance2;distance2=distance0;distance0=t; /*互换值 if(distance1>distance2) t=distance1;distance1=distance2;distance2=t; /*互换值 4 实物制作4.1电路板焊接及连线图:电路板正面元件摆放图:电路板背面连线图:4.2实物调试效果图4.3焊接电路板时所遇问题:1、 对于焊枪应用不是特别娴熟。2、 连线时特别不舒服,也许是超声波测距设计比较复杂连线问题导致。有线焊起来空间特别小。在连线长短方面没有选取好。3、 元件摆设方面存在很大问题,直接导致焊接时特别吃力。实物测试时问题:1、 没有仔细检查连线对的与否。2、 没有进一步理解所作设计各个构成某些功能,导致不能及时发现问题出在哪些方面。3、 元件好坏直接会影响测试成果。4、 对于三极管选取有问题,刚开始时选了不熟悉三极管,导致引脚链接错误,日后通过很复杂拆线才解决问题。5、 要学会如何在不装单片机元件时测试数码管好坏。5总 结通过近半个月课程设计,在本学期学习基本上又有了诸多收获。在这里最要感谢淡然是张东阳教师,是她带着咱们走进了单片机世界,让咱们可以自己动手完毕自己设计,在这个过程中教师不但是咱们领路人,还是咱们朋友,协助咱们始终进步。一方面不得不说是对于单片机这一门学科理解。在学单片机初期,我主线就不懂得有着一种东西,别说学了,就是很难想象感觉,当时心里也有某些迷茫,但通过教师耐心解说,我逐渐跨入了单片机世界。起初我只是会照着课本上程序完毕某些很简朴设计,但通过几次作业洗礼,我已经可以自己读懂一某些程序,可以自己对Keil以及protues软件进行操作,直到当前,我可以运用所学知识,完毕对一件小设计实物制作,我很开心。在这里不得不对教师及协助过我同窗说一声谢谢。咱们在做实物时候是四个人一组,我虽然不是组长,但在我组中也比较重要。在制作实物时候,我负责是最复杂连线环节,说实话,我都要崩溃了,看着那么多线,头晕目眩,尚有焊锡那难闻味道,实在是受不了,最后通过近两个小时工作,我终于把连线都焊好了。不得不说这是对我能力锻炼,不但是对我手工技术历练,尚有就是对身心素质磨练。6 道谢 在此特别提出对指引教师张东阳与张乐感谢,尚有对同窗谢法威、沈文睿感谢。在完毕设计过程中,她们帮到了我太多,通过她们明白了出上课之外诸多东西。我相信这一定对我将来有很积极影响。附录3D实物模仿图: 测距原理图:超声波传感器实物图:

    注意事项

    本文(超声波测距专业课程设计.doc)为本站会员(胜****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开