智能超声波测距仪项目设计

上传人:飞*** 文档编号:26963668 上传时间:2018-01-04 格式:PDF 页数:22 大小:378.99KB
返回 下载 相关 举报
智能超声波测距仪项目设计_第1页
第1页 / 共22页
智能超声波测距仪项目设计_第2页
第2页 / 共22页
智能超声波测距仪项目设计_第3页
第3页 / 共22页
智能超声波测距仪项目设计_第4页
第4页 / 共22页
智能超声波测距仪项目设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《智能超声波测距仪项目设计》由会员分享,可在线阅读,更多相关《智能超声波测距仪项目设计(22页珍藏版)》请在金锄头文库上搜索。

1、智能超声波测距仪系统设计1 安徽电子信息职业技术学院单片机课程设计报告( 2010 学年第 1 学期)课题名称: 智能超声波测距仪系 部: xxxx 系专 业: xxxxx班 级: xxxx姓 名: xxx指导教师: xxx二 0 一 0 年 12 月 17 日智能超声波测距仪系统设计2 智能超声波测距仪设计摘要 : 本设计采用以 STC8952单片机为核心的低成本、微型化液晶显示和语音播报超声波测距仪的硬件电路和软件设计方法。 整个电路采用模块化设计, 主程序、预置子程序、发射子程序、接收子程序、显示子程序的模块组成。各探头的信号经单片机综合分析处理, 实现超声波测距仪的各种功能。 在此基础

2、上设计了系统的总体的方案, 最后通过硬件和软件实现了各个功能模块。 相关部分附有硬件电路、程序流程图。智能超声波测距仪系统设计3 一、课程设计目的利用 STC89C52单片机实现超声波测距。通过超声波放射装置发射超声波遇物体反射回来再由接收装置接收处理。 利用声波在空气中的传输速度和整个收发延时计算出距离。为了满足智能化、无接触距离测量要求 , 自主研制了一种性价比高、 体积小的智能超声波测距仪 , 该测距仪以 STC89C52单片机为控制核心 , 本文给出其具体实现方案。 对该系统进行的实验 , 验证了本文提出的方法的正确性和有效性 , 并能够达到较高的测量精度。 本设计的超声波测距仪 ,

3、在实际测量中 , 能达到很高的使用精度 , 实现了非接触、 低功耗、 免维护、 性价比高等特点 , 是一款有很好市场前景的智能式测距仪。本文设计一种超声波测距仪 , 其最大特点是测量液面与感应元件非接触。超声波是指频率大于 20KHz,并且能在连续介质中传播的弹性机械波 , 超声波方向性好 , 经过专门设计可定向发射 , 遇到界面时将发生反射、 折 射以及 波 形的改 变 , 超 声波在空气 中的传 播速度为334m/s( 常温下 ) 。利用超声波在介质中传播时 , 这些好的物理特性进行设计 , 使得超声波在测距中的灵活性、 精确度大幅提高。二、设计要求、内容及组织形式1 . 设计要求( 1)

4、学会焊接单片机系统板和驱动板并且连接驱动板与系统板间的连线。( 2)用超声波测离障碍物的距离,经过单片机处理判断是否是安全范围根据距离的长短分为安全、注意、危险。( 3)每采集一次信号 LED灯闪烁一次表示采集成功。( 4)把采集的数据经单片机处理用 12864 液晶显示器显示出来,和语音模块处理用耳机输出提示距离情况。2设计内容本文所设计的超声波测距仪主要由 AT89C52单片机、 超声波发射电路、 超声波接收放大电路、显示电路、语音播报电路。首先由单片机驱动产生 11.0592 晶振, 由超声破发射探头发送出去, 在遇到障碍物反射回来时由超声破接收探头检测到信号, 然后经过滤波、 放大、

5、整形之后送入单片机进行计算,把计算结果输出到液晶显示屏上。智能超声波测距仪系统设计4 3工作原理声波在其传播介质中被定义为纵波。 当声波受到尺寸大于其波长的目标物体阻挡时就会发生反射 ; 反射波称为回声。 假如声波在介质中传播的速度是已知的 , 而且声波从声源到达目标 , 而返回声源的时间可以测量得到 , 那么就可以计算出从声波到目标的距离。这就是本系统的测量原理 , 即 : L=?vt (1) 上式中 , L 为待测距离 , v (m/s) 为超声波在空气中的速度 , t 为往返时间。由于超声波在空气中的传播速度与温度 T( 单位 : 摄氏度 ) 有如下关系v=331.45+0.61T (2

6、) 在常温下 , 温度每变化 1 摄氏度 , 超声波速度变化 0.6m/s 。 所以通过测温电路测量出当前温度 , 就可以计算出超声波在当前温度下的传输速度。 通常声速随温度的变化比较大 , 因此产生的测量误差也比较大 , 所以若是在环境温度变化较大的环境下进行测量时 , 需要考虑声速补偿的问题。时间 t 可以通过脉冲计数的方法间接测量 , 也就是将时间转化为对计数脉冲个数 N 的测量 , 假定计数脉冲的频率为 f, 则公式 (1) 可写成L=Nv ?f (3) 电路原理图如下所示:智能超声波测距仪系统设计5 4. 组织形式4.1 设计软、硬件方案( 1) 硬件结构设计首先单片机发出振荡频率再

7、整形再由超声波发射器发出出超声波经物体反射回来。 接收器接收超声波信号再放大整形传入门控电路。 单片机处理再显示输出。硬件结构设计图如下所示:硬件结构设计图智能超声波测距仪系统设计6 1)超声波发射电路超声波发射电路原理图如下所示。 发生电路主要由反相器 74HC04和超声波换能器 T 构成,单片机 P3.3 端口输出 40KHZ方波信号一路经一级反相器后送到超声波换能器的一个电极,另一路经两级反相器后送到超声波换能的另一电极。用这种推挽形式将方波信号加到超声波换能器两端,可以提高超声波的发射强度。输出端采用两个反相器并联,用以提高驱动能力上拉电阻 R1、 R2一方面可以提高反相器 74HC0

8、4输出高电平的驱动能力,另一方面可以增强超声波换能的阻尼效果缩短振荡时间。超声波发射电路如下所示:超声波发射电路2)显示电路原理通过单片机的 P0.0 P0.7、 RST、 P3.0 P3.7、 X1、 X2、 GND与跳线帽连接控制液晶显示器的显示。 12864 液晶显示器可显示 32 个汉字或 64 个字母可满足要求输出的内容。显示电路原理图如下所示:智能超声波测距仪系统设计7 显示电路原理图3)超声波监测接收电路集成电路 CX20103A是一款红外线检波接收的专用芯片,常用于电视红外遥控接收器。本设计利用它制作超声波接收电路。实验证明用 CX20106A接收超声波具有很高的灵敏度和较高的

9、抗干扰能力。超声波监测接收电路如下所示:超声波监测接收电路4)语音转换输出电路由单片机 P3.4 引脚为语音芯片 WT558D-16提供数据再经过处理输出音频信号。语音转换输出电路如下所示:智能超声波测距仪系统设计8 语音转换输出电路图( 2) 软件结构设计1) 软件流程图如下所示:软件流程图2)程序源代码如下:智能超声波测距仪系统设计9 /* 函数名: float Distance_count() 功能:距离计算函数*/ float Distance_count() float temp; temp=high_time*256+low_time; temp=(temp*10/9216)/2;

10、 temp*=speed; return temp; /* 函数名: void tran() , void tran1() , void tran2() 功能:超声波的发射*/ void tran() uchar i; TH0=0; TL0=0; TR0=1; for(i=4;i0;i-) csb=!csb; nop; nop; 智能超声波测距仪系统设计10 nop; nop; nop; nop; nop; nop; nop; csb=1; delay_ms(2); EX1=1; delay_ms(30); if(flag=1) distance=Distance_count(); dis=(

11、ulong)distance ; flag=0; else dis=0; void tran1() uchar i; TH0=0; TL0=0; TR0=1; for(i=8;i0;i-) csb=!csb; 智能超声波测距仪系统设计11 nop; nop; nop; nop; nop; nop; nop; nop; nop; csb=1; delay_ms(2); EX1=1; delay_ms(30); if(flag=1) distance=Distance_count(); dis=(unsigned long)distance; flag=0; else dis=0; void tr

12、an2() uchar i; TH0=0; TL0=0; TR0=1; for(i=16;i0;i-) 智能超声波测距仪系统设计12 csb=!csb; nop; nop; nop; nop; nop; nop; nop; nop; nop; csb=1; delay_ms(2); EX1=1; delay_ms(40); if(flag=1) distance=Distance_count(); dis=(unsigned long)distance; flag=0; else dis=0; /* 函数名: void dis_all(ulong dis_s) 功能:控制 LED指示灯和语音播

13、报智能超声波测距仪系统设计13 */ void dis_all(ulong dis_s) show(dis_s); if(dis_s2000) show_one(DIS4,2); if(flag_2!=1) send_oneline(12);/ 安全距离delay_nms(50); while(!busy); flag_2=1; else if(dis_s500)&(dis_s100)&(dis_s4000) time=time-1000; else if(time-dis)0)&(temp30000) high_time=TH0; low_time=TL0; else high_time=0

14、; low_time=0; 智能超声波测距仪系统设计18 /* 函数名: void write() 功能:写指令或数据函数*/ void write(bit start, uchar ddata) uchar start_data,Hdata,Ldata; if(start=0) /11111,(0),(0),0 start_data=0xf8; / 写指令else /11111,(0),(1),0 start_data=0xfa; / 写数据Hdata=ddata / 取高四位Ldata=(ddata4) / 取低四位sendbyte(start_data); / 发送起始信号delay_lcd(1); / 延时sendbyte(Hdata); / 发送高四位delay_lcd(1); / 延时sendbyte(Ldata); / 发送低四位delay_lcd(1); /

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

当前位置:首页 > 办公文档 > 其它办公文档

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