版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-PAGE . z.目录前言1课题设计目的及意义11.1设计的目的11.2设计的意义11.3课题设计的任务和要求1正文1 课程的方案设计21.1系统整体方案21.2系统整体方案的论证22 系统的硬件构造设计22.1 51系列单片机的功能特点及测距原理32.1.1 51系列单片机的功能特点3 单片机实现测距原理 32.2 超声波电路构造42.3 超声波测距系统的硬件电路设计42.4 PCB幅员设计53 系统软件的设计63.1 超声波测距仪的算法设计73.2 主程序流程图73.3单片机局部C语言程序83.4超声波测距局部C语言程序114 实物制作174.1电路板焊接及连线图174.2实物调试效果图
2、184.3焊接电路板时所遇问题195总 结206 致20附录20-. z.前言1课题设计目的及意义1.1设计的目的随着科学技术的快速开展,超声波将在测距仪中的应用越来越广。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃开展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的开展空间,它将朝着更加高定位高精度的方向开展,以满足日益开展的社会需求,如声纳的开展趋势根本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续开展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和
3、识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能开展到具有学习功能,最终开展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。1.2设计的意义查找与超声波测距有关的资料,通过对资料的理解开发设计一种简单的单片机超声波测距装置。设计完成后,制作PCB幅员,最后完成实物的连线。通过设计稳固对单片机知识的运用,并加强自我动手的能力。1.3课题设计的任务和要求了解和掌握超声波传感器的原理、
4、构造、特性和使用方法,超声波探测系统相关产品及及其国外研究进展情况,利用单片机、Proteus和Keil C51工具设计出一种相应的探测识别系统,制作实物并进展测试。1、了解和掌握该系统相关传感器3-5种的技术资料,包括其技术指标、原理图、封装形式、价格等;2、查找系统相关产品3-5种的技术资料,包括其技术指标、原理图、封装形式、价格等;3、查找与本系统相关论文最近几年3-5篇;4、选择一种传感器,利用单片机、Proteus和Keil C51工具设计出一种相应的探测识别系统,制作实物并进展测试;5、完成论文。1 课程的方案设计1.1系统整体方案由于超声波指向性强,能量消耗缓慢,在介质中传播的距
5、离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比拟方便,计算处理也较简单,并且在测量精度方面也能到达农业生产等自动化的使用要求。 超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不一样,因而用途也各不一样。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用AT89C51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器。1.2系统整体方案的论证超声波测距的原理是利用超
6、声波的发射和承受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的上下成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。2 系统的硬件构造设计硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三
7、局部。单片机采用AT89C51或其兼容系列。采用11MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P3.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阴LED数码管,段码用74LS244驱动,位码用PNP三极管8550驱动。2.1 51系列单片机的功能特点及测距原理2.1.1 51系列单片机的功能特点5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,部由CPU,4kB的ROM,256 B的RAM,2个16b的定时计数器TO和T1,4个8 b的工O端I:IP0,P1,
8、P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片的Flash可编程、可擦除只读存储器(EPROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条工O线;2个16b定时计数器;5个2级中断源;1个全双向的串行口以及时钟电路。空闲方式:CPU停顿工作,而让RAM、定时计数器、串行口和中断系统继续工作。掉电方式:保存RAM的容,振荡器停振,制止芯片所有的其他功能直到下一次硬件复位。5l系列单片机为许多控制提供了高度灵活和低本钱的解决方法。充分利用他的片资源,即可在较少外围电路的情况
9、下构成功能完善的超声波测距系统。 单片机实现测距原理 单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差tr,然后求出距离SCt2,式中的C为超声波波速。限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。为了增加所测量的覆盖围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射接收的设计方法。由于超声波属于声波围,其波速C与温度有关。2.2超声波电路构造超声波接收电路2.3 超声波测距系统的硬件电路设计本系统的特点是利用
10、单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用AT89C51,经济易用,且片有4K的ROM,便于编程。单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进展检波处理后,启动单片机中断程序,测得时间为t,再由软件进展判别、计算,得出距离数并送LED显示。超声波发射器放大电路超声波接收器放大电路锁相环检波电路定时器单片机控制显示器单片机硬件原理图2.4 PCB幅员设计:PCB幅员aPCB幅员b3 系统软件的设计超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C
11、语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算计算距离时,又要求精细计算程序运行时间超声波测距时,所以控制程序可采用C语言编程。3.1 超声波测距仪的算法设计超声波测距的原理为超声波发生器T在*一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为:d=s/2=(ct)/21 其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。在启动
12、发射电路的同时启动单片机部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断效劳子程序,读取时间差,计算距离。3.2 主程序流程图3.3单片机局部C语言程序:#include #include #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
13、,i=0;uchar buffer4=0,0,0,0;uchar code table10 = 0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f; /数码管09void delay_us()/20us延迟uchar *;for(*=0;*0;j-)for(y=110;y0;y-);void main()trig=0;/echo=0;TMOD=0*11;/定时器0、1为16位计数模式TH0=(65536-5000)/256;TL0=(65536-5000)%256;TR0=1;/启动定时器0IT0=1;/下降沿触发ET0=1;/翻开定时器0中断E
14、T1=1;/翻开定时器1中断E*0=0;/关闭外部中断0EA=1;/开总中断while(1)EA=0;/关总中断trig=1;/超声波输入端delay_us();/延迟20ustrig=0;/产生一个20us的脉冲while(echo=0);/等待echo回波变成高电平flag=0;/清测量成功标志;EA=1;E*0=1;/翻开外部中断TH1=0;TL1=0;/定时器1清零TF1=0;TR1=1;/启动定时器1delay(20);/等待测量结果TR1=0;/关闭定时器1E*0=0;/关闭外部中断0if(flag)t=timeh*256+timel;/计算时间s=t/58;/计算距离厘米buff
15、er0=s/100;/百位buffer1=s%100/10;/十位buffer2=s%10;/个位elses=0;/没有,则清零;/*外部中断0,用做判断回波电平*/void e*ter() interrupt 0timeh=TH1;timel=TL1;flag=1;E*0=0;/*用定时器0做显示*/void timer0() interrupt 1TH0=(65536-5000)/256;TL0=(65536-5000)%256;switch(i)case 0:P1=tablebuffer0;P2=0*fe;i=1;break;case 1:P1=tablebuffer1;P2=0*fd;
16、i=2;break;case 2:P1=tablebuffer2;P2=0*fb;i=0;break;default:break;/*定时器1中断,用做超声波测距计时*/void timer1() interrupt 3TH1=0;TL1=0;3.4超声波测距局部C语言程序:/晶振=8M/MCU=STC10F04*E/P0.0-P0.6共阳数码管引脚/Trig = P10/Echo = P32#include /包括一个52标准核的头文件#define uchar unsigned char /定义一下方便使用#define uint unsigned int#define ulong uns
17、igned long/*sfr CLK_DIV = 0*97; /为STC单片机定义,系统时钟分频 /为STC单片机的IO口设置地址定义sfr P0M1 = 0*93;sfr P0M0 = 0*94;sfr P1M1 = 0*91;sfr P1M0 = 0*92;sfrP2M1 = 0*95;sfrP2M0 = 0*96;/*sbit Trig = P10; /产生脉冲引脚sbit Echo = P32; /回波引脚sbit test = P11; /测试用引脚uchar code SEG710=0*C0,0*F9,0*A4,0*B0,0*99,0*92,0*82,0*F8,0*80,0*90
18、;/数码管0-9uint distance4; /测距接收缓冲区uchar ge,shi,bai,temp,flag,outeH,outeL,i; /自定义存放器bit succeed_flag; /测量成功标志/*函数声明void conversion(uint temp_data);void delay_20us();/void pai_*u();void main(void) / 主程序 uint distance_data,a,b; uchar CONT_1; CLK_DIV=0*03; /系统时钟为1/8晶振pdf-45页 P0M1 = 0; /将io口设置为推挽输出 P1M1 =
19、0; P2M1 = 0; P0M0 = 0*FF; P1M0 = 0*FF; P2M0 = 0*FF; i=0; flag=0;test =0;Trig=0; /首先拉低脉冲输入引脚TMOD=0*11; /定时器0,定时器1,16位工作方式TR0=1; /启动定时器0 IT0=0; /由高电平变低电平,触发外部中断ET0=1; /翻开定时器0中断 /ET1=1; /翻开定时器1中断E*0=0; /关闭外部中断EA=1; /翻开总中断0while(1) /程序循环 EA=0; Trig=1; delay_20us(); Trig=0; /产生一个20us的脉冲,在Trig引脚 while(Ech
20、o=0); /等待Echo回波引脚变高电平 succeed_flag=0; /清测量成功标志/*/外部中断0,用做判断回波电平INTO_() interrupt 0 / 外部中断是0号 outeH =TH1; /取出定时器的值 outeL =TL1; /取出定时器的值 succeed_flag=1; /至成功测量的标志 E*0=0; /关闭外部中断 /*/定时器0中断,用做显示timer0() interrupt 1 / 定时器0中断是1号 TH0=0*fd; /写入定时器0初始值 TL0=0*77; switch(flag) case 0*00:P0=ge; P2=0*fd;flag+;br
21、eak; case 0*01:P0=shi;P2=0*fe;flag+;break; case 0*02:P0=bai;P2=0*fb;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_dat
22、a/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;btdistance1) t=distance0;distance0=distance1;distance1=t; /*交换值 if(distance0d
23、istance2) t=distance2;distance2=distance0;distance0=t; /*交换值 if(distance1distance2) t=distance1;distance1=distance2;distance2=t; /*交换值 4 实物制作4.1电路板焊接及连线图:电路板正面元件摆放图:电路板反面连线图:4.2实物调试效果图4.3焊接电路板时所遇问题:对于焊枪的应用不是特别娴熟。连线时特别不舒服,可能是超声波测距设计比拟复杂的连线问题导致的。有的线焊起来空间特别小。在连线的长短方面没有选择好。元件摆设方面存在很大问题,直接导致焊接时特别吃力。实物测试时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度信息安全技术支持与维护合同
- 2024版车牌租赁协议书常范本
- 电路维护合同范本
- 二零二四年度模具设计与生产服务合同
- 2024年度金融服务合同(包含贷款、投资、咨询等)
- 二零二四年度出租车司机调度系统服务合同
- 二零二四年度苏州吴中区广告位租赁合同
- 2024年度商业建筑群广告牌统一拆除合同
- 2024版船舶安全监测系统技术服务协议
- 2024年度教育培训合同.职业技能提升课程定制
- 《篮球原地双手胸前传接球》教案 (三篇)
- 养鸭子产业链整合手册
- 在线考试系统开发合作协议
- 2024年新人教版七年级上册数学课件 3.1 第3课时 反比例关系
- DBJ-T15-60-2019建筑地基基础检测规范
- 医院消防改造施工方案
- 眼科学智慧树知到答案2024年温州医科大学
- 期中(试题)-2024-2025学年人教PEP版英语六年级上册
- 2023年部编人教版六年级道德与法治下册全册课件【全套】
- 急诊科提高出诊车物品放置规范率PDCA项目
- 反渗透膜清洗合同
评论
0/150
提交评论