超声波测距报告

超声波测距报告
超声波测距报告

单片机原理及应用

课程设计报告

题目二十七:超声波测距系统设计

学生姓名

专业

学号

同组同学

指导教师

学院

二〇一六年七月

2015-2016学年第二学期成绩:

一、设计要求

1.搭建单片机的最小系统;(基本项)

2.选用超声波模块,设计模块与单片机的接口;(基本项)

3.采用LCD显示器显示测量结果;(基本项)

4.编写相应的程序;(基本项)

5.提高测量精度的方法。(创新项)

二、设计题目介绍及分析

使用MCS-51 系列单片机作为控制器,选用超声波模块,组建测距系统并显示结果。

三、设计方案论证

通过循环来时时的对目标进行测距。

四、具体硬件设计说明

蜂鸣器:通过PNP三极管驱动。接到P3^2引脚。

按键:有键按下时IO口变为低电平。开始按键连接到P3^1,P3^2的按键控制中断。

超声波模块:选用HC-SR04。提供一个10uS以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信

号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。

超声波TRIG连接到P1^0,ECHO连接到P1^1。

LCD的E,RW,RS引脚分别接到单片机P2^7,P2^5,P2^6,P0口作为数据输出、

五、软件设计说明

发出超声波信号时开启定时器0,通过定时器计算回波信号持续时间进而计算出距

离。

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

**********

* 单片机课程设计

* 题号: 27题,超声波测距

* 组员:马铭阳,程岩,孔维士

* 学号?30222204 130222206 130222207

* 日期:2016年6月30日

* 说明 KEY_START按下,程序执行,KEY1按下显示题号,持续10秒

**********************************************************************

*********/

#include

#include

#include

sbit Trig = P1^0; //超声波发送

sbit Echo = P1^1; //超声波接收

sbit key_start=P3^1; //开始按键

sbit key1=P3^2; //中断按键

sbit buzzer=P1^5; //蜂鸣器按键

unsigned char code TABLE[] = " DISTANCE: ";

unsigned char code ASCII[] =

{'0','1','2','3','4','5','6','7','8','9','.','-','C','M',' '};

unsigned char code CLASS[] = " NO.27 ";

static unsigned char DisNum = 0; //?????

unsigned int time=0;

unsigned int i=0;

unsigned int key_flag=0;

long S=0;

bit flag =0; //成功标志位

unsigned char disbuff[4] ={ 0,0,0,0,};

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

*

*

*

*

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

//延时函数

void delayms(unsigned int ms)

{

unsigned char i=100,j;

for(;ms;ms--)

{

while(--i)

{

j=10;

while(--j);

}

}

}

//计算距离

void Conut(void)

{

time=TH0*256+TL0;

TH0=0;

TL0=0;

S=(long)(time*0.17);

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

{

flag=0;

LcdWriteData( ASCII[11]);

LcdWriteData( ASCII[10]);

LcdWriteData(ASCII[11]);

LcdWriteData( ASCII[11]);

LcdWriteData( ASCII[12]);

buzzer=0;

delayms(50);

buzzer=1;

}

else

{

disbuff[3]=S%10000/1000;

disbuff[2]=S%1000/100;

disbuff[1]=S%100/10;

disbuff[0]=S%10/1;

LcdWriteData( ASCII[disbuff[3]]);

LcdWriteData( ASCII[disbuff[2]]);

LcdWriteData( ASCII[disbuff[1]]);

LcdWriteData( ASCII[10]);

LcdWriteData( ASCII[disbuff[0]]);

LcdWriteData( ASCII[12]);

LcdWriteData( ASCII[13]);

}

}

//定时器0

void zd0() interrupt 1 //触发时说明超出范围 {

flag=1; //成功标志位置1

}

void inter() interrupt 0 //外部中断

{

LcdWriteCom(0x01);

LcdWriteCom(0x80);

for (i=0;i<7;i++)

{

LcdWriteData(CLASS[i]);

delayms(5);

}

delayms(100);

LcdWriteCom(0x80);

for (i=0;i<11;i++)

{

LcdWriteData(TABLE[i]);

delayms(5);

}

LcdWriteCom(0x80+0x46);

}

//超声波发射

void StartModule()

{

Trig=1; //发脉冲

_nop_(); //用NOP函数时间更精准 _nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

Trig=0;

}

void key_board0(void) //按键扫描程序{

while(1)

{

if(key_start==0)

{

delayms(10);

if(key_start==0)

{

while(!key_start);

key_flag=1;

break;

}

}

else if(key1==0)

{

delayms(10);

if(key1==0)

{

while(!key1);

key_flag=2;

break;

}

}

}

void key_board1(void)

{

if(key_start==0)

{

delayms(10);

if(key_start==0)

{

while(!key_start);

key_flag=1;

}

}

if(key1==0)

{

delayms(10);

if(key1==0)

{

while(!key1);

key_flag=2;

}

}

}

void main(void)

{

P1 = 0xF0; //低位拉低 TMOD=0x01;

TH0=0;

TL0=0;

ET0=1; //定时器0中断

IT0=1; //外部中断0

EX0=1;

EA=1;

LcdInit();

key_board0();

//key_board1();

//if(key_flag==1)

//{

LcdWriteCom(0x80);

for (i=0;i<11;i++) //显示DISTANCE

{

LcdWriteData(TABLE[i]);

delayms(5);

}

LcdWriteCom(0x80+0x46);

while(1)

{

StartModule();

while(!Echo); //判断是否收到回波信号

TR0=1; //收到时,开启定时器

while(Echo); //回波信号结束后关闭定时器

TR0=0; //关闭定时器

Conut(); //计算距离

LcdWriteCom(0x80+0x46); //设置数据指针起点,第二排第一个

delayms(80);

}

}

以下是LCD显示程序

#include"lcd.h"

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

* 函数名 : Lcd1602_Delay1ms

* 函数功能 : 延时函数,延时1ms

* 输入 : c

* 输出 : 无

* 说名 : 该函数是在12MHZ晶振下,12分频单片机的延时。

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

void Lcd1602_Delay1ms(uint c) //误差 0us

{

uchar a,b;

for (; c>0; c--)

{

for (b=199;b>0;b--)

{

for(a=1;a>0;a--);

}

}

}

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

* 函数名 : LcdWriteCom

* 函数功能 : 向LCD写入一个字节的命令

* 输入 : com

* 输出 : 无

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

#ifndef LCD1602_4PINS //当没有定义这个LCD1602_4PINS时

void LcdWriteCom(uchar com) //写入命令

{

LCD1602_E = 0; //使能

LCD1602_RS = 0; //选择发送命令

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = com; //放入命令

Lcd1602_Delay1ms(1); //等待数据稳定

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5); //保持时间

LCD1602_E = 0;

}

#else

void LcdWriteCom(uchar com) //写入命令

{

LCD1602_E = 0; //使能清零

LCD1602_RS = 0; //选择写入命令

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = com; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

// Lcd1602_Delay1ms(1);

LCD1602_DATAPINS = com << 4; //发送低四位

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

}

#endif

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

* 函数名 : LcdWriteData

* 函数功能 : 向LCD写入一个字节的数据

* 输入 : dat

* 输出 : 无

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

#ifndef LCD1602_4PINS

void LcdWriteData(uchar dat) //写入数据

{

LCD1602_E = 0; //使能清零

LCD1602_RS = 1; //选择输入数据

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = dat; //写入数据

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5); //保持时间

LCD1602_E = 0;

}

#else

void LcdWriteData(uchar dat) //写入数据

{

LCD1602_E = 0; //使能清零

LCD1602_RS = 1; //选择写入数据

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = dat; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

LCD1602_DATAPINS = dat << 4; //写入低四位

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

}

#endif

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

* 函数名 : LcdInit()

* 函数功能 : 初始化LCD屏

* 输入 : 无

* 输出 : 无

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

#ifndef LCD1602_4PINS

void LcdInit() //LCD初始化子程序

{

LcdWriteCom(0x38); //开显示

LcdWriteCom(0x0c); //开显示不显示光标

LcdWriteCom(0x06); //写一个指针加1

LcdWriteCom(0x01); //清屏

LcdWriteCom(0x80); //设置数据指针起点

}

#else

void LcdInit() //LCD初始化子程序

{

LcdWriteCom(0x32); //将8位总线转为4位总线

LcdWriteCom(0x28); //在四位线下的初始化

LcdWriteCom(0x0c); //开显示不显示光标

LcdWriteCom(0x06); //写一个指针加1

LcdWriteCom(0x01); //清屏

LcdWriteCom(0x80); //设置数据指针起点

}

#endif

六、测试及调试

硬件调试:焊接前用恒流源供电测量每个元件是否工作正常。此时电压不应过高,1V即可。焊接电路时每焊接一个器件后都用万用表测量一次通路,再用恒压源供电查看元件在焊接后的电路是否正常。整个电路焊接完成后给单片机供电用示波器测量竞争工作是否正常。

软件调试:在硬件全部工作正常后应进行软件调试。通过程序一起测量按键和蜂鸣器,有键按下时蜂鸣器发声。再测试LCD,用LCD学号,显示结果正常后,在将完整的程序烧入芯片。

七、总结(设计最终情况说明,着重说明完成设计要求情况)

1.搭建了单片机的最小系统并且可以正常工作。

2.完成了超声波模块的选用,设计模块与单片机的接口。

3.LCD能够显示测量结果。距离单位在CM级。

八、附录

认识实习超声波测距报告汇总

Harbin University Of Science And Technology 认识实习报告 学院:自动化学院 专业:电子信息科学与技术 班级:电技12-3 姓名:蔡成灼 学号:1212020301 日期:2015.1.9

任务书 实习项目名称:超声波测距仪的研制 实习时间:2014.12.29 —2015.1.9 一、实习的目的和意义 认识实习是一个重要的基础实习环节,通过认识实习,学生可以了解电子产品的制作工艺和基本原理,掌握电子产品制作的基本操作技能和调试技能,培养学生用所学知识分析实际问题、解决实际问题的能力,为以后的实践性教学环节打下基础。 二、实习内容 本实习以《超声波测距仪的研制》项目为目标,培养学生对电子产品的制作工艺的认识和操作技能,以及电子产品的原理分析。 1、超声波测距原理学习; 2、电路原理图及PCB绘制; 3、电子元器件识别与焊接; 4、超声波测距仪软件设计; 5、超声波测距仪调试。 三、报告内容和格式 内容: 1、超声波测距的意义和应用; 2、超声波测距的原理(原理说明、原理图); 3、超声波测距仪的制作与调试; 4、实习体会 格式: 报告包括封面、任务书、目录、正文等部分,一级标题(章标题):黑体小二;二级标题(节标题):黑体小三;正文:宋体小四;目录:二级目录,宋体小四。行间距: 1.25倍。报告A4纸打印,左侧装订。

目录 1、实习目的 (2) 2、实习内容 2.1方案选择 (2) 2.2 整理思路 (2) 3、超声波测距原理 3.1超声波探头 (2) 3.2超声波测距原理 (3) 3.3 基于单片机超声波测距仪系统构成 (4) 4、超声波测距原理图分析 4.1 发射电路 (4) 4.2 接收电路 (5) 5、超声波测距的意义和应用 5.1超声波测距的意义 (6) 5.2 超声波测距的应用 (7) 6、元件装配及硬件调试 6.1元件装配 (7) 6.2 编程及调试 (8) 6.3 PCB板及成果展示 (12) 7、实习总结 7.1实习总结 (13) 7.2实习体会 (14)

51单片机超声波测距程序

//晶振:11.0592 //TRIG:P1.2 ECH0:P1.1 //波特率:9600 #include #include #include #define uchar unsigned char #define uint unsigned int sbit RX=P0^2; sbit TX=P0^3; unsigned int time=0; unsigned int timer=0; float S=0; bit flag =0; void Conut(void) { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.87)/100; //算出来是CM if(flag==1) //超出测量 { flag=0; printf("-----\n"); } printf("S=%f\n",S); } void delayms(unsigned int ms) { unsigned char i=100,j; for(;ms;ms--) { while(--i)

{ j=10; while(--j); } } } void zd0() interrupt 1 //T0中断用来计数器溢出,超出测距范围{ flag=1; //中断溢出标志 } void StartModule() //T1中断用来扫描数码管和计800ms启动模块{ TX=1; //800MS启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; } void main(void) { TMOD=0x21; //设T0为方式1,GATE=1; SCON=0x50; TH1=0xFD; TL1=0xFD; TH0=0; TL0=0;

基于单片机的超声波测距系统设计实验报告 - 重

指导教师评定成绩: 审定成绩: 自动化学院 计算机控制技术课程设计报告设计题目:基于单片机的超声波测距系统设计 单位(二级学院): 学生姓名: 专业: 班级: 学号: 指导教师: 负责项目: 设计时间:二〇一四年五月 自动化学院制

目录 一、设计题目 (1) 基于51单片机的超声波测距系统设计 (1) 设计要求 (1) 摘要 (2) 二、设计报告正文 (3) 2.1 超声波测距原理 (3) 2.2系统总体方案设计 (4) 2.3主要元件选型及其结构 (5) 2.4硬件实现及单元电路设计 (9) 2.5系统的软件设计 (13) 三、设计总结 (17) 四、参考文献 (17) 五、附录 (18) 附录一:总体电路图 (18) 附录二:系统源代码 (18)

一、设计题目 基于51单片机的超声波测距系统设计 设计要求 1、以51系列单片机为核心,控制超声波测距系统; 2、测量范围为:2cm~4m,测量精度:1cm; 3、通过键盘电路设置报警距离,测出的距离通过显示电路显示出来; 4、当所测距离小于报警距离时,声光报警装置报警加以提示; 5、设计出相应的电子电路和控制软件流程及源代码,并制作实物。

摘要 超声波具有传播距离远、能量耗散少、指向性强等特点,在实际应用中常利用这些特点进行距离测量。超声波测距具有非接触式、测量快速、计算简单、应用性强的特点,在汽车倒车雷达系统、液位测量等方面应用广泛。本次课设利用超声波传播中距离与时间的关系为基本原理,以STC89C52单片机为核心进行控制及数据处理,通过外围电源、显示、键盘、声光报警等电路实现系统供电、测距显示、报警值设置及报警提示的功能。软件部分采用了模块化的设计,由系统主程序及各功能部分的子程序组成。超声波回波信号输入单片机,经单片机综合分析处理后实现其预定功能。 关键词:STC89C52单片机; HC-SR04;超声波测距

电子实习报告智能循迹小车

电子实习报告智能循迹 小车 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

电子实习报告 学院:电气学院 专业班级: 学生姓名: 指导教师: 完成时间: 2014/8/29 成绩:

目录 一、设计要求及注意事项 (2) 二、设计的作用、目的 (2) 三、设计的具体实现 (2) 1.系统概述 (2) 2.单元电路设计(或仿真)与分析 (3) (1)电源模 块 (3) (2)电机驱动模块 (4) (3)简易控制模 块 (6) (4)红外循迹模 块 (7) 3.电路的安装与调试 (8) (1)安装 (8)

(2)调 试 (10) 四、心得体会,存在的问题和进一步改进的意见 (11) 五、附录 (11) 1.元件说明 (11) (1)电 阻 (11) (2)电解电 容 (11) (3)LED................................................. ..12 (4)芯 片 (12)

电子实习报告 一、设计要求及注意事项 1.能独立完成设计内容并完全掌握其内部结构、工作原理和安装调试过程。 2.要求在设计过程中能熟练掌握其元器件的计算、焊接技术和电路故障的判别方法。 3.焊接顺序,先贴片后插件。 4.要求焊接的电路板调试时正常且安装好小车后能正常运行。 5.进入实习基地后按指定的实验台就位,未经许可,不得擅自挪换仪器设备。 6.要爱护仪器设备及其它公物,凡违反操作规程,不听从教师指导而损坏者,按规定赔偿。 7.未经指导教师许可,不得做规定以外的实验项目。 8.要保持实习室的整洁和安静,不准大声喧哗,不准随地吐痰,不准乱丢纸屑及杂物。 9. 必须严格按设备操作书的要求去使用设备,注意人身及设备安全,不要盲目操作。 二、设计的作用、目的 1.利用所学过的基础知识,通过本次电子实习培养独立解决实际问题的能力; 2.巩固本课程所学的理论知识和实验技能;

超声波测距总结报告

电子技术实验课程设计超声波测距系统 总结报告 自03 胡效赫 2010012351

一、课题内容及分析 首先根据课程所给的几个题目进行选择,由于自己最近在做电子设计大赛的平台设计,希望对超声波测距在定位方面应用有更详尽的了解,所以选择课题三——超声波测距作为课程设计,内容如下: 对课题进行分析:实验提供超声波传感器T40-16和R40-16,利用面包板和小规模芯片搭接电路,实现距离的测量及显示。大致思路即驱动发射端发出超声波,接收端收到返回的脉冲进行处理与计算得到测量距离并通过数码管和蜂鸣器显示。 二、方案比较与选择 由于超声波测距方案原理基本相同,只要能够检测出发射到接收的时间,并通过相应计算就可以得到所测距离。所以问题大致分为驱

动发射端、接收端检测、间隔时间计算与计算结果显示四部分。 具体的方案设计如下: 闸门脉冲源产生基准宽度为T 的闸门脉冲,该脉冲一方面控制计数电路的计数启动和并产生计数器清零脉冲,使计数器从零开始对标准脉冲源输出的时钟脉冲(频率为17KHz)计数。同时开启控制门,超声波振荡器输出的40kHz脉冲信号通过控制门,放大后送至超声波换能器,由发射探头转换成声波发射出去。该超声波经过一定的传播时间,达到目标并反射回来,被超声波换能器的接收探头接收变成电信号,经放大、滤波、电压比较和电平转换后,还原成方波。图中的脉冲前沿检测电路检测出第一个脉冲的前沿,输出控制信号关闭计数器,使计数器停止计数。则计数器的计数值反映了超声波从发射到接收所经历的时间(或距离)。

三、模块化设计及参数估算 1、闸门控制模块 ●设计思路 555振荡电路产生频率为2Hz的脉冲,作为闸门脉冲源。 RC微分电路将输出的2Hz脉冲进行微分运算产生脉冲信号,作为计数启动和计数清零的信号,分别控制D触发器的置高端和74LS90的清零端。 ●参数设计: 555振荡电路T = (R1+2*R2)*C*ln2。其中R1取4.7kΩ,R2接入10kΩ滑动变阻器,最后实测7.51kΩ,C取47uF。 RC微分电路R为1kΩ,C为4.7nF 2、超声波发生模块 ●设计思路 555振荡电路产生频率为40kHz的脉冲,作为驱动超声波发射端

超声波测距程序(详细C语言数码管显示)

超声波测距程序(详细C语言数码管显示) #include //头文件 #include// _nop_() 函数延时1US用 #include #include #define uchar unsigned char #define uint unsigned int #define nop _nop_() sbit csb=P1^0;//超声波发送端口为P1.0 sbit bai=P2^2;//数码管百位 sbit shi=P2^1;//数码管十位 sbit ge=P2^0;//数码管个位 uchar flag;//超声波接收标志 float juli1;//距离变量,用来数码管显示用 int juli; uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管0到9的代码 int xianshi[3]; void delayshow(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void ledshow(void) { xianshi[0]=juli/100; xianshi[1]=((juli%100)/10); xianshi[2]=juli%10; bai=0; P0=table[xianshi[0]]; delayshow(2); bai=1; delayshow(2); shi=0; P0=table[xianshi[1]]; delayshow(2); shi=1;

超声波测距仪硬件电路的设计

超声波测距仪电路设计实验报告 轮机系楼宇071 周钰泉2007212117 实验目的:了解超声波测距仪的原理,掌握焊接方法,掌握电路串接方法,熟悉电路元件。 实验设备及器材:电烙铁,锡线,电路元件 实验步骤:1,学习keil软件编写程序2、焊接电路板3、运行调试 超声波测距程序: #include unsigned char code dispbitcode[]={0x31,0x32,0x34,0x38,0x30,0x30, 0x30,0x30}; unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x77,0x7c,0x 39}; unsigned char dispbuf[8]={10,10,10,10,10,10,0,0}; unsigned char dispcount; unsigned char getdata; unsigned int temp; unsigned int temp1;

unsigned char i; sbit ST=P3^0; sbit OE=P3^1; sbit EOC=P3^4; sbit CLK=P3^5; sbit M1=P3^6; sbit M2=P3^7; sbit SPK=P2^6; sbit LA=P3^3; sbit LB=P3^2; sbit LC=P2^7; sbit K1=P2^4; sbit K2=P2^5; bit wd; bit yw; bit shuid; bit shuig; unsigned int cnta; unsigned int cntb; bit alarmflag; void delay10ms(void) { unsigned char i,j; for(i=20;i>0;i--) for(j=248;j>0;j--); } void main(void) { M1=0; M2=0; yw=1; wd=0; SPK=0; ST=0; OE=0; TMOD=0x12; TH0=0x216; TL0=0x216; TH1=(65536-500)/256; TL1=(65536-500)%256; TR1=1; TR0=1; ET0=1; ET1=1; EA=1; ST=1; ST=0; while(1) { if(K1==0) { delay10ms(); if(K1==0) { yw=1; wd=0; } } else if(K2==0) { delay10ms(); if(K2==0) { wd=1; yw=0; } } else if(LC==1) { delay10ms(); if(LC==1) { M1=0; M2=1; temp1=13; shuid=0; shuig=1; LB=0; } } else if((LC==0) && (LB==1)) { delay10ms(); if((LC==0) && (LB==1)) { M1=0; M2=0; temp1=12; shuig=0; shuid=0; LB=0; }

E+H实习报告

E+H实习报告 摘要:通过本次毕业实习我们了解了世界先进的检测仪表技术,并结合我们在传感器、检测仪表课程上所学的原理,对于这些知识的实际应用有了感性的了解。经过为期两天的实习,我们对于物位、流量、分析、压力、温度等检测技术有了更深层次的掌握,同时也使我们对现代化企业的运作、生产工艺流程、质量保证体系等有了系统的认识。 关键词:E+H,检测,仪表,传感器 1、引言 E+H公司,由瑞士工程师Georg H. Endress和德国银行家Ludwig Hauser 创建于1953年,是一家世界著名的国际性自动化仪表集团公司。总部位于瑞士, 地处德国、瑞士和法国的交界处,先后在德国、瑞士、法国、美国、日本、中国等世界工业国成立了规模庞大的生产中心,全球雇员达到 6,077名,拥有70个独立的子公司分布在全球,其严格的品质管理和完整的质保体系均已达到ISO9001国际标准。2006年,全球销售额达到了10亿欧元。 Endress+Hauser测量及自动化仪表广泛应用于世界各地的各种工业领域。为了帮助用户获取最佳的过程控制结果,Endress+Hauser开发和制造了各种高技术水准的测量和控制仪表,改善和提高了化工、石油及天然气、制药、能源、源水和污水、食品、散料处理、纸浆及造纸、造船和海上运输等领域的过程效益。同时可提供适用于在危险区域,卫生型场合,过溢保护和其他特殊应用场合使用的认证证书。 2、E+H物位测量仪表简介 2.1雷达物位计 2.1.1调频连续波雷达物位计 调频连续波雷达物位计在测量过程中应用了按照线性变化的高频信号,雷达物位计的信号从天线发出,在被测量平面反射,回波被天线接收。雷达物位计信号的发出与回波接收的频率差被用于进一步的信号处理,频率差对应于测量距离。一个大的频率差应对于一个较大的测量距离。通过FFT频率差被转化为频谱差,进而换算出测量距离。物位与测量距离的差别取决于空罐的高度。 雷达物位计探头同时进行雷达波的发射和接受,由于回波信号频率的滞后,使得反射频率与发射信号频率之间的差频,而该频差与雷达物位计测量的距离H呈正比关系,即H越大频差也越大。因此,通过对锯齿波的频差的检测即可得到一个高精度的物位信号。 2.1.2脉冲雷达物位计 脉冲雷达采用高频、窄脉冲对微波源信号进行调制,以波束的形式发射固定频率(即载波频率)的脉冲波,在介质表面反射后由接收器接收,脉冲的时间行

超声波测距报告

项目:超声波测距仪的设计 时间:2011/7/09-2011/7/21 一、超声波测距的基本原理 谐振频率高于20kHz的声波被称为超声波。超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。利用超声波的这种性能就可制成超声传感

器,或称为超声换能器,它是一种既可以把电能转化为机械能、又可以把机械能转化为电能的器件或装置。换能器在电脉冲激励下可将电能转换为机械能,向外发送超声波;反之,当换能器处在接收状态时,它可将声能(机械能)转换为电能。 1.1 超声波发生器 为了利用超研究和利用声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。 1.2 压电式超声波发生器原理 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 1.3 超声波测距原理 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。 由于超声波也是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。如图1-1所示。 超声波发射障碍物

单片机应用_超声波测距器

单片机课程设计 一、需求分析: 超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量围在1m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。 本文旨在设计一种能对中近距离障碍物进行实时测量的测距装置,它能对障碍物进行适时、适量的测量,起到智能操作,实时监控的作用。 关键词单片机AT82S51 超声波传感器测量距离 二、硬件设计方案 设计思路 超声波传感器及其测距原理 超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。

超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离 测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为340米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。 超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。 根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统框图如下图所示: 超声波测距器系统设计框图 主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。

PLC超声波测距实验报告082039140程稳

利用plc的高速计数模块进行超声波测距实验 ―――――微型控制计算机暑期设计实验报告 082039140程稳 利用51单片机来驱动超声波模块测距,是一件很容易的事,只需要结合定时中断和外部中断,利用12M或更高的晶振频率即可精确获取从发射到接收到超声波之间的时间,平均1ms对应 3.4cm的行程,本GE比赛设计需要物位测量的最大距离是30cm,即需要30*2/3.4=17.64ms,而GE PAC RX3i的PME软件梯形图程序得扫描周期2ms以上,就算是最快的定时节点也有1ms,所以若直接用PLC的普通离散量输入模块IC694MDL654输入节点来测量接收到超声波回波的时间的误差为1ms,误差距离3.4/2=1.7cm,结果自然不理想,更严重的问题在于PLC该模块无硬件中断响应功能,是不能测电平宽度的。总之PLC的IO口工作在低速模式下是难以胜任高速测量任务的,但可喜的是GE PLC 的高速计数模块HSC304能处理2MHZ的信号,但仍无硬件中断功能。于是想能否干脆把单片机测出的电平时间数据通过串口发送给PLC,我也试着这样连线测试,不过PLC串口的使用不像单片机这么简单,没有相关资料,PLC内部寄存器找不到PLC从单片机接收的数据。于是仍决定放弃此方案,回到高速计数模块。再认真阅读此模块配置信息和实验调试后,发现其可以测量出外部信号频率,于是想既然PLC无法直接测电平宽度,那干嘛不测量频率,有了频率自然有周期,有周期自然有电平宽度!

利用plc的高速计数模块检测超声波测距仪的信号接收端的频率,正常情况下应使用频率直接求得周期接而来计算时间,但由于实际测得这样根本很难实现,所以直接测频率,并利用示波器查看该频率的波形,并修改程序使得在所测距离变化的情况下,一周期内的低电平保持不变(高电平所持续的时间表示超声波从发出到接收到所经历的时间,低电平是延时,为了使得波形正常),然后测出频率及其所对应的距离。 以下是用虚拟示波器测出的超声波模块在不同距离测量回波接收脚电压波形:

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

自动化技术综合实训报告 实训题目: 院 专 班 姓 学 指导教师: 实训地点: 开课时间:

序号 评价内容 分数 序 号 评价内容 分数 1 出勤(10 分) 3 实训任务完成情况(50 分) 2 课题难度分值(10 分) 4 实训总结报告(30 分) 实训总成绩: 94 分 学生姓名: 魏*星 实训评分 指导教师评语: 指导教师(签名): 年 月

目录 第 1章绪论 1.1实训的目和要求 1.2实训课题设计功能描述……………………………………………………… 1.3应解决的问题………………………………………………………………第 2章整体设计方案 2.1设计原理 2.2整体系统设计………………………………………………………………第 3章硬件电路设计 3.1电路原理图 3.2元件清单…………………………………………………………………… 3.3重要电路介绍 3.3.1复位与晶振电路…………………………………………………… 3.3.2超声波发射电路…………………………………………………… 3.3.3超声波接收检测电路……………………………………………… 3.3.4显示电路 第 4章软件设计 4.1系统软件设计 4.2程序流程图 4.3程序设计与调试 第 5章制板焊接调试 5.1仿真结果与 PCB图 5.2焊制电路板、实物运行调试 5.3误差分析与校正讨论 总结与体会 谢词 参考文献 附录

第1章绪论 1.1实训的目的和要求 生产实训是自动化专业本科生在校期间必须进行的主要实践环节之一,是培养学生工程实践能力、提高学生工程素质的一个重要组成部分。作为一名工科学生,将来从事自动化及相关工作,为了让我们能尽早的认识社会实践,了解工业生产,提高自己的动手意识,强化个人素质,增强理论联系实际的观念,学校给我们安排了为期两周的专业实训,让我们学到的理论知识和实践联系到一起,为我们以后的走向社会打下一个坚实的基础。 这次实训的主要目的是让大家进一步了解 AT89 系列单片机的引脚、功能,晶振电路、显示电路和信号输入输出电路的设计,熟悉使用 keil 软件和用汇编语言编程完成各种处理和控制,同时学习使用软件对电路进行设计,对项目进行仿真、调试,以及 PCB 板的制作等,最主要的是了解一个小型项目的研发过程,从项目的提出到项目实现需要怎样一步步来完成,项目完成事应该大概掌握以上要求。 1.2实训课题设计功能描述 我们小组选择的课题是基于 AT89C51 单片机的超声波测距仪设计。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离较远,因而超声波被广泛用于距离的测量。利用超声波检测往往比较迅速、方便,计算简单易于做到实时控制,并且在测量精度方面能达到工业实用的要求,测量时与被测物体无直接接触的特点,使得其具有很大的使用价值。 我们最熟悉的超声波测距的应用是声纳系统,是超声波测距在军事上的终极使用,研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。 除了军事,日常生活和工业上也广泛应用,如:倒车雷达,建筑施工工地以及一些工业现场在液位测量、井深测量、管道长度测量等场合的使用。 1.3设计研究的要求及主要内容应解决的问题 本项目需要通过学习和查阅资料,了解和掌握如下知识: 1. +5V电源原理及设计 2.单片机复位电路工作原理及设计 3.单片机晶振电路工作原理及设计 4.七段 LED显示原理及设计 5.超声波传感器的应用及设计 6.电路的接线 7.AAT89C51单片机的引脚 8.单片机汇编语言及设计

超声波测距实验报告

电子信息系统综合设计报告 超声波测距仪

目录 摘要 (3) 第一章绪论 (3) 1.1 设计要求 (3) 1.2 理论基础 (3) 1.3 系统概述 (4) 第二章方案论证 (4) 2.1 系统控制模块 (5) 2.2距离测量模块 (5) 2.3 温度测量模块 (5) 2.4 实时显示模块 (5) 2.5 蜂鸣报警模块 (6) 第三章硬件电路设计 (6) 3.1 超声波收发电路 (6) 3.2 温度测量电路 (7) 3.3 显示电路 (8) 3.4 蜂鸣器报警电路 (9) 第四章软件设计 (10) 第五章调试过程中遇到的问题及解决 (11) 5.1 画PCB及制作 (11) 5.2 焊接问题及解决 (11) 5.3 软件调试 (11) 实验总结 (13) 附件 (14) 元器件清单 (14) HC-SR04超声波测距模块说明书 (15) 电路原理图 (17) PCB图 (17) 程序 (18)

摘要 该系统是一个以单片机技术为核心,实现实时测量并显示距离的超声波测距系统。系统主要由超声波收发模块、温度补偿电路、LED显示电路、CPU处理电路、蜂鸣器报警电路等5部分组成。系统测量距离的原理是先通过单片机发出40KHz 方波串,然后检测超声波接收端是否接收到遇到障碍物反射的回波,同时测温装置检测环境温度。单片机利用收到回波所用的时间和温度补偿得到的声速计算出距离,显示当前距离与温度,按照不同阈值进行蜂鸣报警。由于超声波检测具有迅速、方便、计算简单、易于做到实时控制的特点,并且在测量精度方面能达到工业实用的要求,因此在生产生活中得到广泛的应用,例如超声波探伤、液位测量、汽车倒车雷达等。 关键词:超声波测距温度测量单片机 LED数码管显示蜂鸣报警 第一章绪论 1.1设计要求 设计一个超声波测距仪,实现以下功能: (1)测量距离要求不低于2米; (2)测量精度±1cm; (3)超限蜂鸣器或语音报警。 1.2理论基础 一、超声波传感器基础知识 超声波传感器是利用晶体的压电效应和电致伸缩效应,将机械能与电能相互转换,并利用波的特性,实现对各种参量的测量。 超声波的传播速度与介质的密度和弹性特性有关,与环境条件也有关: 在气体中,超声波的传播速度与气体种类、压力及温度有关,在空气中传播速度为C=331.5+0.607t/0C (m/s) 式中,t为环境温度,单位为0C. 二、压电式超声波发生器原理 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 三、超声波测距原理 由于超声波指向性强,能量消耗缓慢,在空气中传播的距离较远,因而超声波

超声波测距仪的设计说明

题目:超声波测距仪的设计 超声波测距仪的设计 一、设计目的: 以51单片机为主控制器,利用超声波模块HC-SR04,设计出一套可在数码管上实时显示障碍物距离的超声波测距仪。 通过该设计的制作,更为深入的了解51的工作原理,特别是51的中断系统及定时器/计数器的应用;掌握数码管动态扫描显示的方法和超声波传感器测距的原理及方法,学会搭建51的最小系统及一些简单外围电路(LED显示电路)。从中提高电路的实际设计、焊接、检错、排错能力,并学会仿真及软件调试的基本方法。 二、设计要求: 设计一个超声波测距仪。要求: 1.能在数码管上实时显示障碍物的实际距离; 2.所测距离大于2cm小于300cm,精度2mm。 三、设计器材: STC89C52RC单片机 HC-SR04超声波模块 SM410561D3B四位的共阳数码管 9014三极管(4) 按键(1) 电容(30PF2,10UF1) 排阻(10K),万用板,电烙铁,万用表,5V直流稳压电源,镊子,钳子,

导线及焊锡若干,电阻(200欧5)。 四、设计原理及设计方案: (一)超声波测距原理 超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。基本的测距公式为:L=(△t/2)*C 式中 L——要测的距离 T——发射波和反射波之间的时间间隔 C——超声波在空气中的声速,常温下取为344m/s 声速确定后,只要测出超声波往返的时间,即可求得L。 根据本次设计所要求的测量距离的围及测量精度,我们选用的是HC-SR04超声波测距模块。(如下图所示)。此模块已将发射电路和接收电路集成好了,硬件上不必再自行设计繁复的发射及接收电路,软件上也无需再通过定时器产生40Khz的方波引起压电陶瓷共振从而产生超声波。在使用时,只要在控制端‘Trig’发一个大于15us宽度的高电平,就可以在接收端‘Echo’等待高电平输出。单片机一旦检测到有输出就打开定时器开始计时。 当此口变为低电平时就停止计时并读出定时器的值,此值就为此次测距的时间,再根据传播速度方可算出障碍物的距离。 (二)超声波测距模块HC-SR04简要介绍 HC-SR04超声波测距模块的主要技术参数使用方法如下所述: 1. 主要技术参数: ①使用电压:DC5V ②静态电流:小于2mA ③电平输出:高5V

基于单片机的超声波测距系统实验报告

基于单片机的超声波测距系统实验报告

一、实验目的 1.了解超声波测距原理; 2.根据超声波测距原理,设计超声波测距器的硬件结构电路; 3.对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用 超声波方法测量物体间的距离; 4.以数字的形式显示所测量的距离; 5.用蜂鸣器和发光二极管实现报警功能。 二、实验容 1.认真研究有关理论知识并大量查阅相关资料,确定系统的总体设计方案,设计出系 统框图; 2.决定各项参数所需要的硬件设施,完成电路的理论分析和电路模型构造。 3.对各单元模块进行调试与验证; 4.对单元模块进行整合,整体调试; 5.完成原理图设计和硬件制作; 6.编写程序和整体调试电路; 7.写出实验报告并交于老师验收。 三、实验原理 超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距S=Ct/2,式中的C为超声波波速。由于超声波也是一种声波,其声速C与温度有关。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理,单片机(AT89C51)发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LED显示电路进行显示。 (一)超声波模块原理: 超声波模块采用现成的HC-SR04超声波模块,该模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm。模块包括超声波发射器、接收器与控制电路。基本工作原理:采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。实物如下图1。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。

PCB设计与制作实训报告

成都航空职业技术学院 《PCB设计与制作》 课程实训报告 设计题目:超声波测距电路设计 系别:航空电子工程系专业:电子工艺与管理班级:学生姓名: 任课教师:

目录 第一章PCB设计流程 1.1设计目的(3) 1.2设计内容(3) 第二章电路分析 2.1电源电路(4) 2.2单片机系统及显示电路(5) 2.3超声波发射电路(6) 2.4超声波(检测)接收电路(7)第三章集成库构建 3.1创建集成库原理图(8) 3.2创建集成库PCB(8)第四章PCB工程构建 4.1创建电路原理图(9) 4.2创建电路PCB(9)总结 (10)

第一章PCB设计流程 1.1设计目的 超声波测距电路是通过单片机产生超声波经功率放大发送出去,接收到的超声波经CX20106产生中断让单片机计算距离,再通过LCD显示距离,本测距仪还有可调的报警距离设定功能、即将进入盲区提示功能、即将超出量程提示功能、开机显示各种预设画面功能。其中,进入报警距离调整状态时还有对应按键功能提示的功能。 1.2设计内容 如图:

第二章电路分析 2.1电源电路 电源电路如附1图所示,输出交流VD1~VD4桥式整流及平滑电容C1滤波后得到不稳定的8~12V直流电压,经过稳压模块7805后稳定的5V直流电压,供电路使用。 附1: 2.2单片机系统及显示电路 单片机系统及显示电路如附2、附3所示,单片机采用AT89S52,用12MHZ 高精度的晶振,以获得较稳定的时钟频率,减少测量误差。 单片机用P1.0端口输出超声波换能器所需的40KHz的方波信号,经反相器后来控制超声波的发送;单片机利用外中断0口检测超声波接收电路输出的返回信号,它不断检测INT0引脚的情况,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计时器所计的数据就是超声波发射、接收所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。 显示器采用4位数码管,数码管位选信号用PNP三极管8550驱动。 附2:

超声波测距实验报告

目录 1、课题设计的目的和意义 (3) 2、课题要求 (3) 2.1、基本功能要求 (3) 2.2、提高要求 (4) 3、重要器件功能介绍 (4) 3.1、CX20106A红外线发射接收专用芯片 (4) 3.2、AT89C51系列单片机的功能特点 (5) 3.3、ISD1700优质语音录放电路 (6) 4、超声波测距原理 (8) 4.1、超声波测距原理图 (8) 4.2、超声波测距的基本原理 (9) 5、硬件系统设计 (10) 5.1、超声波发射单元 (10) 5.2、超声波接收单元 (11)

5.3、显示单元 (11) 5.4、语音单元 (12) 5.5、硬件设计中遇到的难题: (12) 6、系统软件设计 (14) 7、调试与分析 (15) 7.1调试 (15) 7.2误差分析 (15) 8、总结 (16) 9、附件 (17) 9.1、总电路 (17) 9.2、主要程序 (18) 10、参考文献 (22)

1课题设计的目的及意义 随着科学技术的快速发展,超声波在测距仪中的应用越来越广,但就目前技术水平而言,人们可以利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距作为一种新型的非常重要有用的工具在各方面都有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。如声纳的发展趋势:研究具体的高定位精度的被动测距声纳,以满足军事和渔业等的发展需求,实现远程的被动探测和识别。毋庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。 超声波测距在某些场合有着显著的优点,因为这种方法是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,因此它是一种非接触式的测量,所以他就能够在某些场合或环境比较恶劣的环境下使用。比如测有毒或者有腐蚀性化学物质的液面高度或者高速公路上快速行驶汽车之间的距离。 随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最注重发展到具有创造力。在新的时代,测距仪将发挥更大的作用。 2课题要求 以单片机AT89C51为中心控制单元,配以超声波发射、接收装置,实现超声波发射及接收其遇到障碍物发生反射形成的回波信号,并根据超声波在介质中的传播速度及超声波从发射到接收到回波的时间,计算出发射点距障碍物的距离,设计出一套基于单片机的脉冲反射式超声波测距系统,利用单片机进行操作控制,用数码管作输出显示,设计发射、接收、检测、显示硬件电路和测距系统软件。

超声波测距C语言源程序代码

超声波测距C语言源程 序代码 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

/*{HZ即单位s的倒数}本晶振为12MHZ,因此外部的时钟频率为12MHZ,所以内部的时钟频率为(12M H Z)/12=1M H 即1000000HZ,而机械频率为1/(1MHZ),即每完成一次计算(即定时器的值加一)用时, 即1us(微秒).*/ /*************************************************************************** ********/ #include<> #define UC unsigned char #define UI unsigned int void delay(UI); sbit BX = P3^0;void TimeConfiguration(); a = 0; b = 0; c = 0; P2 =~ 0x00; goto loop; } time = TL0 + TH0*256; juli = ( int )( (time*/2 ); BAI = ( (juli%1000)/100 ); SHI = ( (juli%100)/10 ); GE = ( juli%10 ); /******************************************两种模式的距离显示 ********************************************/ if(juli > MAX) { Hong = 0; Lv = 1; while( t1-- ) { a = 0; b = 1; c = 1; P2 =~ CharacterCode[BAI]; delay(400); a = 1; b = 0; c = 1; P2 =~ CharacterCode[SHI]; delay(400); a = 1; b = 1; c = 0; P2 =~ CharacterCode[GE]; delay(390);

相关文档
最新文档