基于单片机的超声波测距仪的设计_第1页
基于单片机的超声波测距仪的设计_第2页
基于单片机的超声波测距仪的设计_第3页
基于单片机的超声波测距仪的设计_第4页
基于单片机的超声波测距仪的设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的超声波测距仪的设计摘要:此系统采用STC89C51RC为控制核心;用超声波发射和接收模块来测量物体离测试仪的距离;用数码管显示模块来显示当前测试的距离;用报警模块发出不同的信号来提示当前物体距离测试仪的远近,用人机交互模块来实现对系统的有关设置;我们还设计了输出为+5V和+12V的稳压电源。通过以上各模块来测量物体离测试仪的距离,并实时显示和发出报警信号。关键字:STC89C51RC 超声波 数码管一、 超声波测距仪的简单介绍(一)、有关超声波传感器的介绍1、超声波的定义:频率超过20KHz的声波,称为超声波;低于20Hz的称为次声波。2、超声波传感器利用超声波的特性研制而成的传感

2、器。超声波传感器图片如图1、图2:图1 图2主要由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。3、40KHz超声波的选择超声波可以在不同的介质中传播,但传播速度不同。超声波在空气中传播时衰减很大,而在液体及固体中传播,衰减较小,传播较远。其中衰减程度与频率成正比,但频率越高分辨率也越高,所以短距离测量时一般选用频率高的传感器,长距离测距只能用频率低的传感器。故本产品选用40KHz超声波传感器。4、主要影响因素超声波传感器的测量精度主要受温度影响,因而许多超声波传感器具有温度补偿特性。5、应用超声波对液体、固体的穿透本领很

3、大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等方面。(二)、STC89C51RC单片机具有ISP(在系统编程)/IAP(在应用编程)功能,无需专用的编程器或仿真器,通过串口直接下载程序,有专门的下载软件STC-ISP 。具有看门狗功能,内部Flash擦写次数在100,000以上,而且STC89C51RC单片机还有加密功能。(三)、超声测距仪电路说明1、基本工作原理通过不断检测反射的回波,而测出发射与接收回波的时间差t,然后求出距离s。 在已知速度v的情况下,用

4、以下公式可以求出距离s=1/2vt。2、电路组成硬件电路主要包括主控电路、发射、接收电路和数码管显示电路等电路。二、 本测距仪系统各电路模块介绍()、系统概述设计并制作的超声测距仪指标要求1. 设计制作5V稳压电源模块;2. 设计完善超声测距仪控制电路并编写相关程序;3. 制作超声测距仪电路板;4. 测量范围:0.31.5m ;5. 测量误差小于10cm(1%);6. 由蜂鸣器的缓急鸣叫指示距离的远近 ;7. 采用STC89C51RC单片机作为系统核心控制器件。(二)、电路框图电路框图如图3所示:图3 系统组成框图1、核心控制模块STC89C51RC此模块中使用了STC89C51RC单片机为控

5、制核心,它是由复位电路和时钟电路组成。它不仅可以用串口在线下载且可靠性高,价格便宜。模块电路图如图4所示。图4 核心控制模块STC89C51RC2、超声波发射模块超声波发射电路由超声发射头、放大电路、振荡电路等组成。由于超声发射距离的不同,所以要求放大电路有足够的功率来驱动超声发射头,信号放大电路的前级是由74HC04串联而成,后级为增大电路的驱动能力,采用74HC04三个非门并联和中功率三极管SD1815组成。电路图如图5所示:图5 超声波发射模块3、超声波接收电路超声波接收电路由超声接收头、放大电路、波形整形电路等组成。由于超声接收头输出的正弦波幅度较小,所以需要放大电路进行放大,并且单片

6、机不能直接接收正弦波信号,因此需要波形整形电路,将正弦波变换为脉冲信号。电路采用AS4558运放完成波形放大,用LM311完成了波形变换,电路中的74HC04是为增强信号驱动而设置的,并且有整形作用。电路图如图6所示:图6 超声波接收模块4、数码管显示模块在数码管显示模块中我们采用了三极管作为驱动电路,每当三极管导通时都处于饱和状态,这样设计可以增加数码管的亮度。我们采用数码管动态显示可以节省I/O资源。电路图如图7所示图7 数码管显示模块5、报警电路模块报警电路模块由小功率三极管8550、9013和蜂鸣器组成。此电路将单片机产生的脉冲信号放大并驱动蜂鸣片缓急报警。由此判断距离远近,电路图如图

7、8所示:图8 报警电路模块6、人机交互模块4个独立按键与单片机通信,完成设计的功能,如图9。K1K3的功能由使用者自主发挥,按键K4的功能:将采集到的数据固定显示一段时间,以便清楚的看到显示距离。图9 独立键盘模块7、电源模块电源电路是各模块工作的基本条件,下面的稳压电源固定输出+12V、+5V电压,各模块的供电由本模块引出,如图10.图10 电源电路模块(三)、功能要求与技术指标该产品由220V交流电直接供电;该产品由超声波传感器实现距离的测量;该产品由数码管显示距离测量结果,显示结果单位为米;该产品由蜂鸣器的缓急鸣叫指示距离的远近;该产品测距基本指标应在0.31.5m,发挥指标为0.15m

8、 ;该产品在有效测距范围内测量误差应<10cm,发挥指标<1cm 。三、元器件说明(一)、超声波传感器超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频 率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等方面以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能

9、的装置就是超声波传感器,习惯上称为超声换能器,或者超声探头。超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多作探测作用。它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。图11 超声波传感器(二)、CD4511七段译码/驱动器4511,引脚排列如图12所示。其中A、B、C、D为 BCD 码输入,A为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正

10、常显示时, B1端应加高电平。另外 4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。ag是 7 段输出,可驱动共阴LED数码管。图12 七段译码/驱动器4511(三)、共阴极数码管七段数码管是由a、b、c、d、e、f、g七个LED组成,其引脚说明如图13所示。通过使不同的LED组合发光,达到数字和字母的显示效果,如图14所示。一般的LED额定电压为直流2.7V左右,因此我们在使用时要串联一个分压电阻。阻值一般选400左右,如果需要高亮显示或者扫描显示,可以适当减小。图13 七段数码管引脚说明图14 七段数码

11、管显示效果四、程序设计(一)、程序流程图程序流程图如图15所示。图15 程序流程图(二)、程序清单:/* * *基于STC89C51RC单片机的超声波测距* * */#include <reg51.h>#define uint unsigned int#define uchar unsigned char#define DUAN P0#define WEI P2/管脚定义sbit BUZZ = P11;sbit TX = P10;sbit KEY1 = P12;sbit KEY2 = P13;sbit KEY3 = P14;sbit KEY4 = P15;void display(

12、uint juli);void delay(uchar k);uint shuju=0;uint shuju_new=0;uchar xianshi1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /不带点uchar xianshi2=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; /带点的uchar temp4;bit sign;/*主程序*/main()uchar ii;EA=1;TMOD=0x21;TL0=0x00; TH0=0x00; /开总中断 /设置定时模式 T0测距用:方

13、式1 ,T1方式2TL1=0x00; TH1=0x00; ET1=1;/允许T1中断 /电平触发 /外部中断设置为最高优先级 /开始计数 IT0=0; IP=0x01; TR1=1;while(1)sign=1; EX0=1; TR0=1; TX =1; /开外部中断0 /开始发送超声波 while(sign=1); /如果没有进行测距,不会往下执行 shuju=TH0*256+TL0;shuju=shuju*0.017;if(shuju<=70)&&(shuju>=10) shuju_new=shuju;if(shuju>=71)&& (sh

14、uju_new-shuju)>=3)|(shuju-shuju_new)>=3) ) shuju_new=shuju-5;if(shuju_new>=250) shuju_new=(shuju_new/10)+250;for( ii=0;ii<10;ii+)display(shuju_new);/计算出来的是以厘米为单位的; 理想状态最小测距0.017CM 最大测距11M 显示程序约需 21mswhile(KEY4=0) display(shuju_new); for(ii=0;ii<200;ii+) display(shuju_new); TL0=0x00; /

15、数据清零 TH0=0x00; TH1=TL1=shuju/3+130; if(TL1>200) /数据越大,频率越高 TH1=TL1=200; /最远的测距 频率最大/*一毫秒延时*/ void delay(uchar k)uchar t;for(;k>0;k-)for(t=0;t<125;t+);/*外部中断0中断程序*/ void INT () interrupt 0EX0=0; TR0=0; /关INT0 /停止计数 /停止发送P1.0 /外部中断 TX = 0;sign=0;/*定时器1中断程序*/ void time1() interrupt 3ET1=0; /控制

16、蜂鸣器鸣响BUZZ=BUZZ;/*数码管显示程序*/ void display(uint juli)uchar i,n,c; temp0=(juli%10000)/1000; temp1=(juli%10000)%1000)/100; temp2=(juli%10000)%1000)%100)/10; temp3=(juli%10000)%1000)%100)%10; for(n=0;n<2;n+) c=0xFE; for(i=0;i<4;i+) P2=0xFF; P0=0xFF; P2=c; if(i=1) P0=xianshi2tempi; ET1=1; else P0=xianshi1tempi; delay(1); c=c<<1; c=c|0x01;五、结束语用超声波发射和接收模块来测量物体离测试仪的距离;用数码管显示模块来显示当前测试的距离;用报警模块发出不同的信号来提示当前物体距离测试仪的远近,用人机交互模块来实现对系统的有关设置;我们还设计了输出为+5V和+12V的稳压电源。通过以上各模块来测量物体离测试仪的距离,并实时显示和发出报警信号。参考文献1李国兴,李伟:单片机开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论