基于52单片机的短距离超声波测距系统方案

上传人:汽*** 文档编号:470074748 上传时间:2022-09-24 格式:DOC 页数:15 大小:261.50KB
返回 下载 相关 举报
基于52单片机的短距离超声波测距系统方案_第1页
第1页 / 共15页
基于52单片机的短距离超声波测距系统方案_第2页
第2页 / 共15页
基于52单片机的短距离超声波测距系统方案_第3页
第3页 / 共15页
基于52单片机的短距离超声波测距系统方案_第4页
第4页 / 共15页
基于52单片机的短距离超声波测距系统方案_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《基于52单片机的短距离超声波测距系统方案》由会员分享,可在线阅读,更多相关《基于52单片机的短距离超声波测距系统方案(15页珍藏版)》请在金锄头文库上搜索。

1、 . . . 基于52单片机的短距离超声波测距系统一、工作原理超声波的频率高于声波,这种机械波与声波相比具有很强的指向性,并且由于其波长较短,其绕射能力较差,反射能力较强。在遇到障碍物的情况下,超声波会被反射回来。根据发射波和反射波的时间差,就可以计算出探头与障碍物之间的距离。在实际的电路中,使用单片机控制传感器发射和判断反射波。从单片机的P37口产生一组40KHz 的超声波,经由发射模块的发射探头发出,紧接着超声波接受模块接收回波,经由CX20106A产生一个负跳变引起单片机得外部中断,通过计算发射到接收所经历的时间就可以很容易计算出超声波与目标之间的距离。1. 测量距离:501000mm2

2、. 载波频率:38KHz3. 工作电压:DC5V4. 工作电流:30mA 典型,50mA 最大5. 输出信号:5V方波6. 回波信号:负跳变产生的下降沿7. 下一次测量的延时:200uS图3.1 系统工作流程图超声波测距系统是由硬件和软件两部分组成。硬件主要包括STC89C52RC单片机最小系统,超声波发射电路、超声波接收电路、温度检测电路、显示电路;软件部分主要包括系统初始化模块、超声波驱动与信号处理模块、显示模块等,软件采用模块化设计思想,可使程序设计思路消晰,便于调试。启动超声波测距系统进行测距时,首先由单片机发出38KHz的脉冲串,脉冲通过超声波发射电路驱动超声波发射换能器发出超声波。

3、单片机在发送脉冲的同时开始计时:超声波遇到障碍物后的回波被超声波接收换能器接收,其输出的CX20106A处理后产生中断信号中断单片机的计时,这样就得到了超声波的传输时间,然后在中断服务程序中根据测出的时间计算出距离并将标志位置1。中断返回后再发送下一串脉冲,如此反复。二、 超声波测距系统的硬件设计本设计所做的超声液位测量系统以STC89C52RC型单片机为控制核心,其外围硬件电路包括超声波发射电路、超声波接收电路、显示电路、温度补偿电路等。它的各部分说明如下:(1)STC89C52RC单片机最小系统是超声波液位计的核心部分,其主要任务是:发出38KHz的脉冲串用来驱动超声波发射换能器发出超声波

4、;通过定时器T0对超声波的传输时间进行计时;根据测出的时间从而计算与障碍物的距离。控制数据的显示。(2)超声波发送器包括超声波产生电路和超声波发射控制电路两个部分,超声波探头选用CSB40T,可采用软件发生法和硬件发生法产生超声波。本设计利用单片机直接软件产生38kHz的超声波信号,通过输出引脚输入至比较器,经比较器推动探头产生超声波。(3)超声波接收电路的核心器件是红外解码芯片CX20106A。它是用来对接收到的回波进行放大和整形,并产生一个负跳变作为单片机的中断信号。(4)超声波温度补偿电路主要是由温度传感器DS18B20测量当前温度,并将采集到的数字信号直接传送到单片机中;然后单片机将该

5、数值代入公式算法中进行相应的计算,从而输出经过温度补偿的较为准确的数值。(5)显示电路采用单片机直接驱动LED的方式。单片机将其计算好的数据,通过软件转换为BCD码直接输出到LED上,这样做比较方便,而且可以减少制作成本。2.1发射电路的设计发射电路的主要目的是驱动超声波发射探头的压电晶片振动,使之发出超声波,并且发射的超声波具有一定的能量,可传播较远的距离,实现测量的目的。驱动超声发射探头工作的方式很多,只要在探头上施加一串其频率与探头中心频率一致且能量足够大的脉冲即可。发射脉冲可以由单片机或振动器来实现。本设计中采用的是由单片机发出38kHz的方波,单片机P37输出的 38kHz方波信号一

6、路经一级反向器后送到超声波换能器的一个电极。另一路经两级反向器后送到超声波换能器的另一个电极。用这种推挽形式将方波信号加到超声波换能器两端,可以提高超声波的发射强度。输出端采用两个反向器并联。用以提高驱动能力。上拉电阻R5、R10一方面可以提高反向器74HC04AN输出高电平的驱动能力。另一方面可以增加超声波换能器的阻尼效果 ,缩短其自由振荡的时间。图3.2 发射电路图2.2 接收电路的设计图3.3 接收电路图超声波接收器包括超声波接收探头、CX20106A处理两部分。超声波探头必须采用与发射探头对应的型号,关键是频率要一致,否则将因无法产生共振而影响接收效果,甚至无法接收。由于经探头变换后的

7、正弦波电信号非常弱,经过CX20106A处理后产生负跳变,引起单片机的外部中断。23 显示电路设计超声波测距系统的显示要求比较简单,测量结果采用十进制数字显示。只需能显示0-9的数字,且显示稳定无闪烁即可。因此显示部分采用七段半导体数码管即LED。根据各管的极管接线形式,可分为共阴极型和共阳极型。在共阴极接法中,LED数码管的g-a七个发光二极管因加正电压而发亮,因加零电压而不发亮。而在共阳极接法中,刚好与共阴极接法向反。LED数码管具有亮度大,响应速度快等优点。LED显示器有静态显示和动态显示两种。本设计中采用动态显示方式,以实时显示液位变化。本设计采用单片机直接驱动LED的方法,通过软件的

8、编译来实现由二进制到BCD码的转化,从 图3.4 显示电路图(本设计中的数码管外形不代表实际产品)而简化了显示电路。但是,在制作超声波测距系统的过程中,我发现由单片机直接驱动LED显示,电流较小,LED虽然有显示但是比较暗,因此我用了三极管来对电流进行放大,解决了这个问题。2.4 串行通讯接口电路设计单片机执行信息检测任务,然后把检测结果传送到计算机中去,这就需要在单片机和计算机之间建立一种通信结构。这种通信结构可以在单片机和计算机之间进行有效而正确的信息传输。RS-232 是目前最常用的串行接口标准,用来实现计算机和计算机之间、计算机和外设之间的数据传输。RS-232 串行接口总线适用于设备

9、之间通信距离在 15 米以而且速度不高于 20Kbps 的场合中。完整的 RS-232 接口需要 22 根线,采用标准的 25 芯插头。现在计算机最常用的是 9 芯的 D 型 RS-232 连接器。在本设计中选用了 9 针的 D 型连接器,实际使用中仅使用2、3、5三个引脚如图3.5所示,并给出了 9个引脚的功能说明:引脚 1:DCD,方向 I,载波检引脚 2:RXD,方向 I, 数据输入引脚 3:TXD,方向 O,数据输出引脚 4:DTR , 方向 O,数据终端就绪引脚 5:GND , 地引脚 6:DSR, 方向 I,数据设备就绪引脚 7:KTS, 方向 O,请求发送引脚 8:CTS, 方向

10、 I,清除发送引脚 9:RI , 方向 I, 振铃指示图3.5 9针D型连接器数据输出,地线。由于单片机提供的电平是 TTL 的,而计算机提供的是 RS232 电平,要实现单片机与计算机的通信,必须对它们的电平进行转换,可用MAX232 芯片来实现。如上图所示。三、 系统的软件设计软件设计运用模块化程序设计思想,对不同功能的程序进行分别编程,这样不但使得整个软件的层次和结构比较清晰,而且有利于软件的调试和修改。3.1 单片机的设定超声波测距系统的控制核心是单片机,软件主要完成测量过程控制、精确计时、数据计算与结果处理等功能。单片机具有开发技术成熟、应用广泛等优点, 本设计中选用的STC89C5

11、2RC型单片机是一种低功耗、高性能、采用CMOS工艺的8位微处理器,与工业标准型80C51单片机的指令系统和引脚完全兼容。片8K Flash存储器可在线重新编程,或使用通用的非易失性存储器编程器。由于一般的距离测量中,距离的变化速度并不太快,而且单片机的机器周期可达s级,则其计时精度为s级,完全可以满足系统测量的要求,并且成本较低,所以本设计中选用STC89C52型号的单片机。系统采用单片机部自带的定时器/计数器T0中断功能,对发射到接收的时间进行精确计时。而且为了节约硬件成本,系统采用单片机发出38kHz方波信号,由方波输出程序控制单片机管脚P37输出方波信号。外部中断请求有两种信号方式电平

12、方式和脉冲方式。电平方式的中断请低电平有效。只要在INTO或INT1引脚上出现有效低电平时,就激活外部中断标志。脉冲方式的中断请求则是脉冲的负跳变有效。在这种方式下,在两个相邻机器周期,INT0或INT1引脚电平状态发生变化,即在第一个机器周期为高电平,第二个机器周期为低电平,就激活外部中断标志。由此可见,在脉冲方式下,中断请求信号的高电平和低电平状态都应至少维持1个机器周期,以使采样到电平状态的变化。本设计中用单片机的定时器/计数器0来对发射到接收的时间进行精确计时。因此需在程序中设定定时器/计数器的工作模式。定时器/计数器0、1的工作模式的设定和定时器的控制由工作模式寄存器TMOD和控制寄

13、存器TCON来完成。TMOD用于设置T0和T1的工作方式,低4位用于定时器/计数器0,高4位用于定时器/计数器1,其值由软件设定。3.2超声波测距系统的软件流程图3.6 软件流程图按照超声波测距系统的需要,超声波驱动与数据处理模块主要任务是用单片机产生 38kHz 的脉冲,以驱动超声波传感器发射超声波,同时采用计数器计时;当超声波接收器接收到回波信号时停止计时。由此得出超声波的传输时间T,利用公式(2-1)进行温度补偿,即可求出在当前温度下的声速;再利用公式(2-3),就可以计算出当前的液位高度。发射模块软件程序如下:TMOD=0x12; /T0、模式1;T1、模式2EA=1;ET0=1;TH

14、0=0XF4;TL0=0XF4;for(i=1;i60000;i+)/主循环 TL0=0XF4; TR0=1; /开始发射脉冲 TH1=0;TL1=0; TR1=1;/启动定时器开始计时 可以看出,本设计的定时器和计数器分别工作在模式1和模式2下,通过定义定时器的初值来发射脉冲波,同时启动计时器开始计时。接收模块程序如下:while(INPUT) ; /循环等待直到监测到回波TR1=0; /计时结束TIME=TH1*256+TL1;TR0=0;TIME=0.1856*TIME-25;display(TIME);显示部分由单片机直接将二进制数据转化为BCD码,程序如下:a0=0x82; a1=0

15、xfa;a2=0xa4; a3=0xb0; a4=0xd8; a5=0x91;a6=0x81; a7=0xba;a8=0x80; a9=0x90;附录:附件2:#include#definek1P3_4#definecsboutP3_5/超声波发送#definecsbintP3_7/超声波接收#define wendu P2_5;/温度控制通信端口#definecsbc=0.034#definebgP3_3unsignedcharcsbds,opto,digit,buffer3,xm1,xm2,xm0,key,jpjs;/显示标识unsignedcharconvert10=0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号