基于51单片机超声波测距仪设计.docx

上传人:b****8 文档编号:10221189 上传时间:2023-02-09 格式:DOCX 页数:17 大小:404.79KB
下载 相关 举报
基于51单片机超声波测距仪设计.docx_第1页
第1页 / 共17页
基于51单片机超声波测距仪设计.docx_第2页
第2页 / 共17页
基于51单片机超声波测距仪设计.docx_第3页
第3页 / 共17页
基于51单片机超声波测距仪设计.docx_第4页
第4页 / 共17页
基于51单片机超声波测距仪设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于51单片机超声波测距仪设计.docx

《基于51单片机超声波测距仪设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机超声波测距仪设计.docx(17页珍藏版)》请在冰豆网上搜索。

基于51单片机超声波测距仪设计.docx

基于51单片机超声波测距仪设计

基于51单片机超声波测距仪设计

系另0:

电子信息工程系

级:

电信四班

小组成员:

施鹏

1512220405

磨国强

1512220407

胡广富

1512220430

指导老师:

周光祥

超声波是指频率在20kHz以上的声波,它属于机械波的范畴。

超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。

正是因为具有这些性质,使得超声波可以用于距离的测量中。

随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。

系统的设计主要包括两部分,即硬件电路和软件程序。

硬件电路主要包括单片机电路、发射电路、接收电路、显示电路和电源电路,另外还有复位电路和LED控制电路等。

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

整个电路采用模块化设计,由信号发射和接收、供电、温度测量、显示等模块组成。

发射探头的信号经放大和检波后发射出去,单片机的计时器开始计时,超声波被发射后按原路返回,在经过放大带通滤波整形等环节,然后被单片机接收,计数器停止工作并得到时间。

温度测量后送到单片机,通过程序对速度进行校正,结合两者实现超声波测距的功能。

软件程序主要由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。

它控制单片机进行数据发送与接收,在一定温度下对超声波速度的校正,还有实现数据正确显示在LED上。

另外程序控制单片机消除各探头对发射和接收超声波的影响。

相关部分附有硬件电路图、程序流程图。

实际的环境对超声波有很大的影响,如外部电磁干扰电源干扰信道干扰等等,空气的温度对超声波的速度影响也很大。

此外供电电源也会使测量差生很大的误差。

再设计的过程中考虑了这些因素,并给出了一些解决方案。

关键词:

AT89C51超声波测距

 

1绪论

错误!

未定义书签

1.1设计背景

错误!

未定义书签

 

 

2电路总体设计方案2

2.1电路总体框图2

3单片机概述3

3.1AT89C51单片机主要性能3

3.2AT89C51内部组成3

4超声波概述错误!

未定义书签

4.1超声波传感器介绍错误!

未定义书签

4.2超声波时序图错误!

未定义书签

4.3超声波测距原理错误!

未定义书签

5硬件设计

5.1硬件设计原理图6

5.2复位电路6

5.3晶振电路7

5.4LED数码管显示电路7

6软件设计

6.1程序设计流程图8

6.2程序源代码9

7总结1

7.1设计总结1

致谢

13

1绪论

1.1设计背景及重要意义

近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。

随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确高,成本低,性能稳定则备受青睐。

超声波是指频率在20kHz以上的声波,它属于机械波的范畴。

超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反

射和折射现象,在进入介质后被介质吸收而发生衰减等。

正是因为具有这些性质,使得超声波可以用于距离的测量中。

随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。

一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。

由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。

因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空间定位、公路限高等行业中。

可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。

因此,超声在空气中测距在特殊环境下有较广泛的应用。

利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因

此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。

因此超声波测距在移动机器人的研究上得到了广泛的应用。

同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。

2电路总体方案

2.1电路总体框图

电路总体框图包括51单片机最小系统,HC-SR04超声波测距模块,LED数码管显示电路,蜂鸣器报警电路和按键电路。

图2.1电路基本框图

3单片机概述

STC89C51主要性能

STC89C51是STC公司推出的一款超强抗干扰,加密性强,在线可编程,高速,低功耗CMOS睑单片机。

片内含4kbytes的可反复擦写Flash只读程序存储器和256bytes的随机数据存储器(RAM,器件采用STC公司的高密度、非易失性存储技术生产,与标准MC&51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU和Flash存储单元,功能强大的STC89C5单片机适合于许多较为复杂控制应用场合。

STC89C51内部组成

STC89C5单片机的框图如图3.2所示,各功能部件由内部总线连接在一起。

 

图3.2STC89C51单片机框图

 

4超声波概述

4.1超声波传感器介绍

超声波是一种频率比较高的声音,由于其指向性强、能量消耗缓慢、传播距离较远等优点,而经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。

超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如液位、井深、管道长度等场合。

超声波测距的利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在测控系统的研制上得到了广泛应用。

超声传感器是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同频率的其他形式的能的器件。

目前常用的超声传感器有两大类,即电声型与流体动力型。

电声型主要有:

1压电传感

器;2磁致伸缩传感器;3静电传感器。

4.2超声波时序图

的TTL

图4.2超声波时序图

4.3超声波测距原理

超声波测距是借助于超声脉冲回波渡越时间法来实现的,设超声

波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传

播速度为c,则从传感器到目标物体的距离D可用下式求出:

D=ct/2其系统框图如图4.3所示。

图4.3系统框图

基本原理:

经发射器发射出长约6mm频率为40khz的超声波信号。

此信号被物体反射回来由接收头接收,接收头实质上是一种压电效应的换能器。

它接收到信号后产生mV级的微弱电压信号。

5硬件设计

5.1硬件设计原理图图

5.2复位电路

单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容

内的电阻很低,通电后,5V的电源通过电阻给电解电容进行充电,电容两端的电会由0V慢慢的升到4V左右(此时间很短一般小于0.3秒),正因为这样,复位脚由低电位升到高电位,弓I起了内部电路的复位工作;当按下复位键时,电容两端放电,电容又回到0V了,于

是又进行了一次复位工作。

电路图如图5.1o

+5

+C3

9

!

R14

10K

GND

图5.1复位电路

5.3晶振电路

它是单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作。

假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:

电路将无法通信。

一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。

它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振

的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差,也能保证温漂等误差。

它是由一个晶振和两个瓷片电容组成的,晶振和瓷片电容是没有正负的,两个瓷片电容相连的那端一定要接地,如图5.2所示。

C2

30p

图5.2晶振电路

5.4LED数码管显示电路

本电路的显示模块主要由一个4位一体的7段LED数码管构成,用于显示测

量到的电压值。

它是一个共阴极的数码管,每一位数码管的a,b,c,d,e,f,g和

dp端都各自连接在一起,用于接收单片机的P1口产生的显示段码。

S1,S2,S3,S4引脚端为其位选端,用于接收单片机的P2口产生的位选码。

具体原理图如图

5.3

图5.3显示电路

6软件设计

6.1程序设计流程图

系统程序主要包括主程序、显示数据子程序、报警子程序和按键子程序等。

主程序的主要功能是负责距离的显示、读出并处理HC-RS04的测量距离值,

按键控制有效距离限制,当测量的值超过预设值时,蜂鸣器发声报警。

主程序流程图如图6.1所示。

/开始/

初始化

调用显示子程序

读出距离值数值处理

 

图6.1主流程图

6.2软件程序

#include〃器件配置文件

#includevintrins.h>

//传感器接口

sbitRX=P2A3;

sbitTX=P2A2;

sbitDIAN=P0A5;

//变量声明

unsignedinttime=0;

unsignedinttimer=0;

unsignedcharposit=0;

unsignedlongS=0;

charnum=0;

bitflag=0;

unsignedcharconstdiscode[]

={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0x80};//数码管

显示码0123456789-和不显示

unsignedchardisbuff[4]={0,0,0,0};//数组用于存放距离信息

sbitW0=P2A4;

sbitW仁P2A5;

sbitW2=P2A6;

sbitW3=P2A7;

/*******************************************************************/

//扫描数码管

voidDisplay(void)

{

num++;

if(num==1)

{

W3=1;

W0=1;

P0=~discode[disbuff[0]];

DIAN=0;

W仁0;

}

elseif(num==2)

{

W1=1;

P0=~discode[disbuff[1]];

W2=0;

elseif(num>=3)

{

W2=1;

P0=~discode[disbuff[2]];

W3=0;

num=0;

}

}

/*****************************************************************■

//计算

voidConut(void)

{

time=TH0*256+TL0;//TH0=0;

TL0=0;//

S=(time*1.7)/100;//

读出T0的计时数值

清空计时器

算出来是CM

if((S>=700)||flag==1)//{

flag=0;disbuff[0]=10;disbuff[1]=10;disbuff[2]=10;

}

超出测量范围显示“-”

//“-”

//“-”

//“-”

else

{

disbuff[0]=S%1000/100;//将距离数据拆成单个位赋值

disbuff[1]=S%1000%100/10;

disbuff[2]=S%1000%10%10;

}

}

/*******************************************************************/

//定时器0

voidzd0()interrupt1{

flag=1;

//T0中断用来计数器溢出,超过测距范围

//中断溢出标志

}

/*****************************************************************

 

//定时器1

voidzd3()interrupt3{

TH1=0xf8;

TL1=0x30;

Display。

//T1中断用来扫描数码管和计800MSn动模块

//定时2ms

//扫描显示

//变量加

//400次就是800ms

//800MS启动一次模块

timer++;

if(timer>=400)

{

timer=0;TX=1;

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

TX=0;

}

}

//主函数voidmain(void)

TMOD=0x11;

TH0=0;

TL0=0;

TH1=0xf8;

TL1=0x30;

ET0=1;

ET1=1;

TR1=1;

EA=1;

while

(1)

{

while(!

RX);

TR0=1;while(RX);

TR0=0;

Conut();

//设T0为方式1,GATE=1

//2MS定时

//允许T0中断

//允许T1中断

//开启定时器

//开启总中断

//当RX为零时等待

//开启计数

//当RX为1计数并等待

//关闭计数

//计算

设计总结

施鹏:

本次设计我们是以AT89C51为核心,借助于模数电技术和单片机技术的结合,解决了超声波测距的一些难题。

灵活的运用超声波换能集成电路作为超声波的接收电路,在讨论了超声波测距原理、硬件电路实现和软件设计方法基础上,完成了超声波测距的设计要求。

利用单片机的运算和控制功能,利用超声波的特性设计出的一种简单的测距系统。

利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,随着科学技术的快速发展,超声波的应用将越来越广。

但就目前技术水平来说,人们可以具体利用的超声波技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。

从方案论证到具体设计,我查阅了大量的资料。

对一些疑难的问题,我得到了老师和同学的帮助。

也始终感受着导师的精心指导和无私的关怀,我受益匪浅。

在此向老师们表示深深的感谢和崇高的敬意。

磨国强:

本次设计我们在讨论了超声波测距原理、硬件电路实现和软件设计方法基础上,以AT89C5伪核心,完成了超声波测距的设计要求。

禾U用单片机的运算和控制功能,设计出的一种筒单实用的超声波测距系统,利用超声波测距系统比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面达到了一定的要求。

本次设计主要单片机系统,显示电路和超声波模块三个部分。

从方案论证到具体设计,我查阅了大量的资料。

对一些疑难的问题,我得到了老师和同学的帮助。

也始终感受着导师的精心指导和无私的关怀,我受益匪浅。

在此向老师们表示深深的感谢和崇高的敬意。

胡广富:

本次设计我们在讨论了超声波测距原理、硬件电路实现和软件设计方法基础上,以AT89C51为核心,借助于模数电技术和单片机技术的结合,解决了超声波测距的一些难题。

灵活的运用超声波换能集成电路作为超声波的接收电路,在

讨论了超声波测距原理、硬件电路实现和软件设计方法基础上,完成了超声波测距的设计要求,利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,随着科学技术的快速发展,超声波的应用将越来越广。

设计过程中查阅了大量资料,得到了老师的帮助,在此向老师们表示深深的感谢和深深的敬意。

致谢

首先,我们要感谢我的导师周光祥老师在此次设计中对我给予的悉心指导和严格要求,同时也感谢本校的一些老师在设计期间所给予我得帮助。

在论文写作期间,各位老师给我提供了种种专业知识上的指导和日常生活上的关怀,没有您们这样的帮助和关怀,我不会这么顺利的完成此次设计,借此机会,向您们表示由衷的感激。

同时还要感谢系实验室在此次设计期间提供给我们优越的实验条件。

接着,我

要感谢和我一起做此次设计的同学。

在此次设计中,你们给我们提出很多宝贵的意见,给了我不少帮助还有工作上的支持,在此也真诚的谢谢你们。

同时,我还要感谢我的寝室同学和身边的朋友,正是在这样一个团结友爱,相互促进的环境中,在和他们的相互帮助和启发中,才有我今天的小小收获。

最后我要深深地感谢我的家人,正是他们

含辛茹苦地把我养育成人,在生活和学习上给予我无尽的爱、理解和支持,才使我时刻充满信心和勇气,克服成长路上的种种困难,顺利的完成大学学习。

还有许许多多给予我学业上鼓励和帮助的朋友,

在此无法列举,在此也一并表示忠心地感谢!

参考文献

宋雪臣,单振清.传感器与检测技术(第2版)•北京:

人民邮电出版社,2012年4月.

谢维成,杨加国.单片机原理与应用及C51程序设计.北京:

清华大学出版社,2006

张齐等.单片机应用系统设计技术----基于C语言编程.北京:

电子工业出版社,2004

吴延海.微型计算机接口技术.重庆:

重庆大学出版社,1997

李丽霞.单片机在超声波测距中的应用[J].电子技术,2002

⑹姜道连,宁延一,袁世良.用AT89C205假计超声波测距仪[J].国外电子元器件,2000

李学海.PIC单片机实用教程—基础篇(第1版)[M].北京航天航空大学出版社.北京:

2002年2月

贾伯年.传感器技术.南京:

东南大学出版社,2000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1