超声波测距仪设计实训报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

超声波测高仪设计
实训报告
姓名
学号
院(系)
专业、年级
2014年1月10日
摘要
超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因此超声波经常用于障碍物的距离测量。

由于超声波可做到无接触检测距离,这一特性用在人体或其它物体高度的测量上会变得非常方便。

测高前先利用超声波测出发射头与地面的高度H1并存入单片机,然后将被测物移入测量区内测得上表面距离H2,用单片机算出两者之差就是被测物体的实际高度。

本设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。

整个电路采用模块化设计,由主程序、中断程序、发射子程序、接收子程序、显示子程序等模块组成。

各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。

在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。

一、超声波测高原理
超声波是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离S=Ct/2,式中的C为超声波波速。

利用超声波测高前先用超声波测出发射头与地面的高度H1并存入单片机,然后将被测物体移入测量区内测得上表面距离H2,用单片机算出两者之差就是被测物体的实际高度。

超声波测高实现原理
二、系统硬件设计
1.系统结构设计
整体电路的控制核心为单片机AT89C51。

超声波发射和接收电路中都对相应信号进行整形及放大,以保证测量结果尽可能精确。

超声波探头接OUT口实现超声波的发射和接收。

另外还有温度测量电路测量当时的空气温度,等到把数据送到单片机后使用软件对超声波的传播速度进行调整,使测量精度能够达到要求。

整体结构图包括超声波发射电路、超声波接收电路、放大电路、比较震荡电路、单片机电路、键盘输入电路、电源电路、复位电路、显示电路、温度测量电路及温度补偿电路等几部分模块组成。

超声波测距系统结构图如下图所示:
超声波测距系统结构图
三、具体实现操作
1.实现步骤:
(1)40kHz 脉冲的产生与超声波发射测距系统中的超声波传感器采用UCM40的压电陶瓷传感器,它的工作电压是40kHz的脉冲信号,这由单片机执行下面单片机P1.0端口,单片机执行上面的程序后,在P1.0 端口输出一个40kHz的脉冲信号,经过三极管T放大,驱动超声波发射头UCM40T,发出40kHz的脉冲超声波,且持续发射200ms。

(2)超声波的接收与处理接收头采用与发射头配对的UCM40R,将超声波调制脉冲变为交变电压信号,经运算放大器IC1A和IC1B两极放大后加至IC2。

IC2是带有锁定环的音频译码集成块LM567,内部的压控振荡器的中心频率f0=1/1.1R8C3,电容C9决定其锁定带宽。

调节Rp1在发射的载频上,则LM567输入信号大于25mV,输出端8脚由高电平跃变为低电平,身高数据通过8脚送至单片机进行数据处理。

电路的输出端接单片机INT0端口,中断优先级最高。

(3)计算超声波传播时间在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。

当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,利用超声波测高前先用超声波测出发射头与地面的高度H1并存入单片机,然后将被测物体移入测量区内测得上表面距离H2,用单片机算出两者之差就是被测物体的实际高度。

2.超声波测高流程图:
(主程序)
(定时子程序)
(中断子程序)
四、主程序
ORG 0300H
LIMP SHG
ORG 0200H
LIMP DSH
ORG 0100H
LJMP RECEIVE1
ORG 0003H
LJMP RECEIVE0
SHG: SETB P1.3
ACALL DSH
ACALL RECEIVE1
ACALL DISPLAY
;接收子程序
RECEIVE1:PUSH PSW
PUSH ACC
CLR EX0 ;关外部中断0
RETURN: SETB EX0 ;开外部中断0
POP ACC
POP PSW
RETI
中断子程序 RECEIVE0:PUSH PSW
PUSH ACC
CLR EX0 ;关外部中断0
MOV R7, TH0 ;读取时间值
MOV R6, TL0
CLR C
MOV A, R6
SUBB A, #0BBH ;计算时间差
MOV 70H, A MOV A, R7
SUBB A, #3CH
MOV 69H, A ;计算并存储结果
SETB EX0 ;开外部中断0
POP ACC
POP PSW
RETI
END
SID BIT P1.0 ;串行数据线SCLK BIT P1.1 ;串行时钟线;内存数据定义
START EQU 80H ;起始字节
COM EQU 81H ;命令/数据
HDATA EQU 82H ;命令/数据字节高位
LDATA EQU 83H ;命令/数据字节低位
ASC EQU 84H ;ASCII数据单元
初始化子程序:
INILCM:LCALL DL40MS ;延时等待内部复位
MOV COM,#80H ;使用8位控制界面
LCALL WRITE
MOV COM,#80H ;使用基本指令集
LCALL WRITE
MOV COM,#0CH
LCALL WRITE ;整体显示ON
MOV DL1MS
MOV COM,#01H ;清屏
LCALL WRITE
LCALL DL40MS
MOV COM,#06H ;显示右移
LCALL WRITE
LCALL DL1MS
RET
模块写入子程序:
WRITE:MOV A,COM ;送待发数据命令A
MOV A,#0F0H ;屏蔽低4位
MOV HDATA,A ;将高4位送HDATA单元
MOV A,COM ;取低4位
SWAP A ;高低4位互换
MOV A,#0F0H
MOV LDATA,A ;将低4位送LDATA单元
MOV A,START ;取起始字节LCALL SENDBYTE ;发送LCALL DL1MS ;延时1ms MOV A,HDATA LCALL SENDBYTE LCALL DL1MS MOV A,LDATA LCALL SENDBYTE LCALL DL1MS RET
参考文献:
1.超声波高度测量器的设计楼然苗著《微计算机信息》期刊2006
2.《传感器原理与应用课程设计指南》何金田张斌主编哈尔滨工业大学出版社2009
3.温度传感器的设计与研究廖泽鑫著复旦大学 2012
4.知网。

相关文档
最新文档