版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
超声波测距专题知识讲座一、功能要求超声波测距器可应用于汽车倒车。建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度、物体厚度等的测量。其测量范围为0.10~4.00m,测量精度为1cm。测量时与被测物体无直接接触,能够清晰、稳定地显示测量结果。2超声波测距专题知识讲座二、方案论证由于超声波指向性强,能量消耗慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离设计比较方便,计算处理也比较简单,并且在测量精度方面也能达到使用的要求。超声波发生器可以分为两大类:一类是使用电气方式产生超声波;另一类是用机械方式产生超声波。电气方式包括电压型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波各不相同,因而用途也各不相同。目前在近距离测量方面较为常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本例决定采用AT89C52单片机作为主控器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。超声波测距器系统设计框图如下:3超声波测距专题知识讲座二、方案论证超声波测距系统框图4超声波测距专题知识讲座三、系统硬件电路的设计单片机系统及显示电路1超声波发射电路2超声波检测接收电路3硬件电路主要分为以下三个部分:5超声波测距专题知识讲座三、系统硬件电路的设计1.单片机系统及显示电路
单片机采用89C51或其兼容系列。系统采用12MHZ高精度的晶振,以获得较稳定的时钟频率,并减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。单片机系统及显示电路如图:6超声波测距专题知识讲座
基本原理:7超声波测距专题知识讲座
超声波发射接收传感器连接外壳的是接地端,黑圈的是正极8超声波测距专题知识讲座发射原理:发射电路主要由反相器74LS04和超声波换能器构成,单片机P1.0口输出40khz的方波信号一路经一级反相器送到换能器的一端,另一路经两级反相器后送到换能器的另一端,用这种推挽的方式把方波信号加到换能器两端可以提高超声波发射的强度。9超声波测距专题知识讲座74LS0410超声波测距专题知识讲座接收原理11超声波测距专题知识讲座
12超声波测距专题知识讲座
电路原理图13超声波测距专题知识讲座74LS0714超声波测距专题知识讲座74LS24515超声波测距专题知识讲座
16超声波测距专题知识讲座四、系统程序的设计1.超声波测距器的算法设计距离计算公式:d=s/2=(vt)/2其中d是被测物与测距器的距离;s是超声波的来回路程,v是超声波在当前温度下的速度,t是发送和接收超声波所经历的时间。17超声波测距专题知识讲座四、系统程序的设计超声波测距器原理图TR障碍物18超声波测距专题知识讲座四、系统程序的设计2.主程序算法设计主程序首先要对系统环境初始化,设置定时器工作模式为16位定时、计数器模式,置位总中断允许位EA并对显示端口P0和P2清0;然后调用超声波发生子程序送出一个超声波脉冲。为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延迟0.1ms后才打开外中断0,接收返回的超声波信号。由于采用12MHZ晶振,计数器每记一个数就是1us,取20℃时的超声波传输速度v=344m/s,则d=(vt)/2=344t/2=(172T0/106)m=(172T0/10000)cm其中T0为中断T0的计数值。测出距离后,结果以十进制BCD码方式送往LED显示约0.5S,然后再发出超声波脉冲重复测量。
主程序流程图如下:
19超声波测距专题知识讲座距离计算距离计算公式:D=S/2=(V×t)/220超声波测距专题知识讲座
21超声波测距专题知识讲座初始化超声测距器单片机程序/*--------------------------------------MCUAT89C51XAL12MHz--------------------------------------*/#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongUchartab1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff};uchartab2[]={0x01,0x02,0x04,0x08,};externvoidcs_t(void);externvoiddelay(uint);datauchardispram[5];voiddisplay(){intj;for(j=0;j<=3;j++){P0=tab1[dispram[j]];P2=tab2[j];delay(2);}}datauchartestok;22超声波测距专题知识讲座主程序voidmain(void){datauinti;dataulongtime;P0=0xff;/*初始化*/P2=0xff;TMOD=0x11;/*工作方式选择*/IE=0x80;/*CPU开中断*/while(1){cs_t();/*产生40KHz的方波*/delay(1);testok=0;EX0=1;/*开外部中断0*/ET0=1;/*开定时/计数器0*/while(!testok)display();
if(1==testok){time=TH0;time=(time<<8)|TL0;/*高8位左移并与低8位合并*/time*=172;time/=10000;%(172T0/10000)
dispram[0]=(uchar)(time%10);time/=10;dispram[1]=(uchar)(time%10);time/=10;dispram[2]=(uchar)(time%10);dispram[3]=(uchar)(time/10);if(0==dispram[3])dispram[3]=17;}elseif(testok==2){{dispram[0]=16;dispram[1]=16;dispram[2]=16;dispram[3]=16;}}for(i=0;i<300;i++)display();}}23超声波测距专题知识讲座超声接收程序(外中断0)
voidcs_r(void)interrupt0{TR0=0;ET0=0;EX0=0;testok=1;}/*超时清除程序(内中断T0)*/voidovertime(void)interrupt1{EX0=0;TR0=0;ET0=0;testok=2;}24超声波测距专题知识讲座;-------------------------------------
;延时100机器周期*参数(1~65535)
;-------------------------------------NAMEDELAYPRDELAYSEGMENTCODEPUBLICDELAYRSEGPRDELAY ;PUSHACCDELAY:MOVR4,#2;MOVA,#2;DD1:MOVR5,#24DJNZR5,$DJNZR4,DD1;DJNZACC,DD1;POPACCRETEND25超声波测距专题知识讲座;超声发生子程序(12M晶振38.5KHz)产生声波脉冲信号(频率约40kHz的方波),脉冲宽度为12µs左右
NAMECS_TddSEGMENTCODEPUBLICCS_TRSEGddCS_T:PUSHACCMOVTH0,#00HMOVTL0,#00HMOVA,#10DSETBTR0/*定时/计数器0启动*/CS_T1:CPLP1.0NOPNOP/*是一个机器周期,一个机器周期是一个振荡周期的12分频,*/
NOP/*%如果你的晶振是12MHZ,那你的一个机器周期就是1微秒.*/NOPNOPNOPNOPNOPNOPNOP/*10个NOP的时间大概是10us*/DJNZACC,CS_T1/*是两个机器周期,因此一共有12us*/POPACCRETEND26超声波测距专题知识讲座设计建议建议最好具有ISP功能或者增加温度补偿的情况或增加报警设置27超声波测距专题知识讲座
ISP接口28超声波测距专题知识讲座三、系统硬件电路的设计复位电路晶振电路LED显示电路29超声波测距专题知识讲座三、系统硬件电路的设计复位电路的原理:只有在RST端给它24个时钟周期,才能让它复位。当按下开关时,VCC接通,由于10K电阻的分压作用,RST端的电压为5V,而5V电压正好可以满足RST复位的24个时钟周期要求,于是RST复位。此电路同时也是自动上电复位的,当电容开始充电、放电时,RST端的电压便随之变化,电压由低到高,再由高到低,时间能够满足24个时钟周期,故而RST能够复位。晶振电路的原理:晶振两端各接一个无极性电容,电容上电,然后再放电,这样便可以帮助晶振起振。另:12MHZ的晶振两端接30PF的电容,6MHZ的晶振两端接20PF的电容。LED的工作原理:四位共阳LED的一边是段选端,一边是位选端。同名段选端各自相连,然后7位段选端口接到P0口,位选端接到P2口。通过位选可以控制每一个LED亮,通过段选端可以控制LED亮什么,其中段选端还要接上拉电阻,其作用是为了保证LED能够点亮。在位选端加一个高电压,段选端加一个低电压,那么再加上上拉电阻的作用,便可以保证LED的两端形成一个压差,这样LED就点亮了。30超声波测距专题知识讲座三、系统硬件电路的设计2.超声波发射电路
超声波发射电路原理图如下图。发射电路主要由反向器74LS04和超声波换能器构成,单片机P1.0端口输出的40kHz方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射速度。输出端采用两个反向器并联,用以提高驱动能力。两个上拉电阻一方面可以提高反向器74LS04输出高电平的驱动能力;另一方面可以增加超声波换能器的阻尼效果,以缩短其自由振荡的时间。31超声波测距专题知识讲座三、系统硬件电路的设计超声波换能器的工作原理压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部结构如下图所示,它有两个压电晶片和一个共振板。当它的两极加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它是一个超声波发生器;反之,如果两极间未加外电压,当共振板接收道超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器了。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。超声波发射换能器上标有字母T,而接收换能器上标有字母R。超声波换能器结构图32超声波测距专题知识讲座三、系统硬件电路的设计3.超声波检测接收电路集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路,如图所示。实验证明,用CX20106A接收超声波(无信号的输出高电平)具有很高的灵敏度和较强的抗干扰能力。适当地更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。
超声波检测接收电路33超声波测距专题知识讲座四、系统程序的设计超声波测距器的软件设计主要由主程序、超声波程序发生子程序、超声波接收中断程序及显示子程序组成。由于C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序运行的时间,而超声波测距器的程序既有较复杂的计算(计算距离时),又要求精确计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。下面对超声波测距器的算法。34超声波测距专题知识讲座四、系统程序的设计1.超声波测距器的算法设计距离计算公式:d=s/2=(vt)/2其中d是被测物与测距器的距离;s是超声波的来回路程,v是超声波在当前温度下的速度,t是发送和接收超声波所经历的时间。35超声波测距专题知识讲座四、系统程序的设计超声波测距器原理图TR障碍物36超声波测距专题知识讲座四、系统程序的设计2.主程序算法设计主程序首先要对系统环境初始化,设置定时器工作模式为16位定时、计数器模式,置位总中断允许位EA并对显示端口P0和P2清0;然后调用超声波发生子程序送出一个超声波脉冲。为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延迟0.1ms后才打开外中断0,接收返回的超声波信号。由于采用12MHZ晶振,计数器每记一个数就是1us,取20℃时的超声波传输速度v=344m/s,则d=(vt)/2=344t/2=(172T0/106)m=(172T0/10000)cm其中T0为中断T0的计数值。测出距离后,结果以十进制BCD码方式送往LED显示约0.5S,然后再发出超声波脉冲重复测量。
主程序流程图如下:
37超声波测距专题知识讲座四、系统程序的设计
开始系统初始化发送超声波脉冲等待反射超声波计算距离显示结果38超声波测距专题知识讲座四、系统程序的设计4.C程序代码/*--------------------------------------超声测距器单片机程序MCUAT89C51XAL12MHz2004.2.25--------------------------------------*/#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongexternvoidcs_t(void);externvoiddelay(uint);externvoiddisplay(uchar*);datauchartestok;40超声波测距专题知识讲座四、系统程序的设计/*主程序*/voidmain(void){datauchardispram[5];datauinti;dataulongtime;P0=0xff;P2=0xff;TMOD=0x11;IE=0x80;while(1){cs_t();delay(1);testok=0;EX0=1;ET0=1;while(!testok)display(dispram);41超声波测距专题知识讲座四、系统程序的设计if(1==testok){time=TH0;time=(time<<8)|TL0;time*=172;time/=10000;dispram[0]=(uchar)(time%10);time/=10;dispram[1]=(uchar)(time%10);time/=10;dispram[2]=(uchar)(time%10);dispram[3]=(uchar)(time/10);if(0==dispram[3])dispram[3]=17;}else{dispram[0]=16;dispram[1]=16;dispram[2]=16;dispram[3]=16;}for(i=0;i<300;i++)display(dispram);}}//42超声波测距专题知识讲座四、系统程序的设计/*超声接收程序(外中断0)*/voidcs_r(void)interrupt0{TR0=0;ET0=0;EX0=0;testok=1;}/*超时清除程序(内中断T0)*/voidovertime(void)interrupt1{EX0=0;TR0=0;ET0=0;testok=2;}43超声波测距专题知识讲座五、遇到的问题以及解决办法1.当把硬件电路连接好后,接到电源,发现LED灯不亮。LED灯不亮的原因有以下几个:①单片机不工作②LED显示模块的硬件电路设计有问题③LED显示模块的硬件电路连线有问题故障排查:①单片机不工作。先检查AT89C52单片机的电源线和地线是否接好,发现接线无误。再看晶振电路是否工作,仔细检查发现晶振有一个引脚接错,改正后发现,通电后晶振一端出现50HZ的正弦波,且ALE端出现方波,表示单片机正常工作。LED可以显示了,但是显示全部是8888。
44超声波测距专题知识讲座五、遇到的问题以及解决办法②LED显示模块的硬件电路设计有问题解决办法:软件仿真在LED显示模块的proteus仿真文件中添加如下程序代码的hex文件,仿真后可以看到LED被点亮。LED模块调试代码ORG0000HAJMP0030HORG0030HMOVP2,#00H;P2端全部送低电平,经过三极管9012后,位选端为高电平MOVP0,#00H;P0端全部送低电平,段选全部为低电平,使LED全部点亮END
LED模块调试代码调入后得到仿真效果如下:45超声波测距专题知识讲座五、遇到的问题以及解决办法LED模块调试代码调入后得到仿真效果46超声波测距专题知识讲座五、遇到的问题以及解决办法③LED显示模块的硬件电路连线有问题由于单片机正常工作后,4位共阳LED能够全部点亮;而且LED显示模块的软件仿真成功,说明LED显示模块的硬件电路连线没有问题。至此,LED显示模块的故障被排除。
47超声波测距专题知识讲座五、遇到的问题以及解决办法2.LED全部显示8888的问题把HEX程序烧进单片机后,连接电源,发现LED全部显示8888。可能是P0口没有接上拉电阻(上拉电阻的阻值一般在1K-10K之间)。因为“从P0口输出时,必须外接上拉电阻才能有高电平输出。”(见单片机课本p20)。如果P0口不接上拉电阻,那么段选一直是低电平,而采用的是数码管的动态扫描,看上去,位选端相当于一直高电平,即:数码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育产业中创新宠物科技产品分析报告
- Unit 2 We are family Section A Grammar Focus 3a - 3d说课稿 2024-2025学年人教版七年级上册英语
- 《认识地球资源》(说课稿)安徽大学版六年级下册综合实践活动
- Module 7 写作说课稿2024-2025学年外研版英语九年级上册
- 8《彩色的梦》说课稿-2023-2024学年统编版语文二年级下册
- 2025年度销售员销售市场拓展与客户开发合同3篇
- 3植物妈妈有办法 (说课稿)2024-2025学年部编版语文二年级上册
- 第二单元第四课群文阅读 说课稿 2024-2025学年统编版高中语文必修上册
- 全国河大音像版初中信息技术九年级上册第三章第七节《设计创意摆台三维模型》说课稿
- 2025年湘教版九年级科学下册阶段测试试卷含答案
- 中考英语688高频词大纲词频表
- 九年级初三中考物理综合复习测试卷3套(含答案)
- (完整版)中职数学习题及答案
- 高中语文 苏轼导读 课件
- 府谷县恒阳阳建材有限公司-15万立方米-年混凝土搅拌站项目报告书
- 水中钢管桩施工方案
- 上交所期权投资者综合试卷考试及答案
- 超市日常工作检查表
- 电缆热稳定校验计算书
- 传热学-第一章
- 管理制度评价表(填写模板)
评论
0/150
提交评论