文档库 最新最全的文档下载
当前位置:文档库 › 基于AT89C51单片机的超声波测距仪的设计

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

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

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

【摘要】

AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写10000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89C51在众多嵌入式控制应用系统中得到广泛应用。这次设计主要是利用AT89C51单片机、HC-SR04超声波传感器、蜂鸣器完成测距报警系统的制作,将AT89C51作为主控制芯片,利用超声波对物体的感应,将前方物体的距离探测出来,然后单片机处理运算,与设定的报警距离值进行比较判断,当测得距离小于设定值时,AT89C51发出指令控制蜂鸣器报警。

【关键词】:AT89C51单片机、HC-SR04超声波传感器、蜂鸣器

ABSTRACT

AT89C51 is a low power consumption, high performance CMOS 8-bit microcontroller, tablet containing 4 k Bytes of ISP (In system programmable) can wipe again and again 1000 times of Flash memory read-only applications, device adopts high density of ATMEL company, nonvolatile storage technology, compatible with standard MCS - 51 structure, instruction system and 80 c51 pin chip integrates general 8-bit CPU and ISP Flash memory cell, AT89C51 is widely applied In many embedded control applications.This design is mainly made using AT89C51 SCM, HC-SR04 ultrasonic sensor, buzzer completed ranging alarm system,the AT89C51 as the main control chip,the use of ultrasonic sensing of object,the detected objects in front of the distance,then the MCU processing operations,and the set alarm distance to compare the value of judgment,when the measuring distance is smaller than the set value,AT89C51 sends out a command to control the buzzer alarm.

【KEY WORDS】: AT89C51 Single chip microcomputer、HC-SR04 ultrasonic sensor、

Buzzer

目录

一、绪论 (3)

1.1课题研究背景及意义 (3)

二、总体设计方案及论证 (3)

2.1 总体方案设计 (3)

三、硬件实现及单元电路设计 (4)

3.1 主控制模块 (4)

3.2 电源设计 (5)

3.3 超声波测试模块 (6)

3.4 超声波传感器原理 (6)

3.5 测距分析 (7)

3.6 时钟电路的设计 (8)

3.7 复位电路的设计 (9)

3.8 声音报警电路的设计 (10)

3.9 显示模块 (10)

四、软件设计 (10)

4.1 主程序工作流程图 (10)

五、总结 (12)

六、参考文献 (13)

附录 (14)

附件1:原理图 (14)

附件2:实物图 (15)

一、绪论

1.1课题研究背景及意义

随着社会的发展,人们对于距离的敏感度越来越高,生活上对距离的感知也越来越敏感,因此测距仪也受到了极大的欢迎。它主要有三类,一类是激光测距仪,是根据光电元件接收目标反射的激光束来计算出测距者到目标的距离。另一类是红外测距仪,利用红外线传播不扩散的原理进行测距,但方向性差。还有一类是超声波测距仪,但也有局限性,传播需要介质,超声波发射器向某一方向发射超声波,在发射的同时开始计时,碰到障碍物后就立即返回来,超声波接收器收到反射波就立即停止计时。

超声波测距是一种非接触可直接检测技术,它对光线和被测对象的颜色等没有要求,与其它仪器相比更卫生,更耐高温、等恶劣环境,具有少维护、可靠性高、寿命长等优点。利用超声波检测往往比较快捷、性能稳定、能够实现实时检测等优点,所以它广泛的应用在全自动机器人,汽车倒车雷达等研制方面。

二、总体设计方案及论证

2.1 总体方案设计

本设计主要包括了硬件和软件设计两部分。按模块可划分为数据采集、按键控制、数码管显示、蜂鸣器报警四个子模块。电路结构可划分为:超声波传感器、蜂鸣器、单片机控制电路。就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。单片机应用系统也是有硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。系统采用

STC89C51单片机作为核心控制单元,当测得的距离小于设定距离时,主控芯片将测得的数值与设定值进行比较处理。然后控制蜂鸣器报警。系统总体的设计方框图如图1所示。

图1 系统方框图

3.1

图2 最小系统

,从以上的分析可知在本设计中要用到如下器件:、超声波传感器、按键、四位数码管、蜂鸣器等一些单片机外围应用电路。其中一个加键,一个减键。

图3 总设计电路图

3.2 电源设计

电源部分的设计采用3节5号干电池4.5V供电。

3.3 超声波测试模块

超声波模块采用现成的HC-SR04超声波模块,该模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm 。模块包括超声波发射器、接收器与控制电路。基本工作原理:采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。实物如下图4。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。

10us 的高电平,有信号返回,通过测试距离= timer0溢出中断发生2500次时为125ms ,计算公式为(单位:ms ):

T = (定时器0溢出次数 * (0XFF - 0XCE ))/ 1000

其中定时器0初值计算依据分频不同而有差异。

3.4 超声波传感器原理

市面上常见的超声波传感器多为开放型,其内部结构如图5所示,一个复合式振动

器被灵活地固定在底座上。该复合式振动器是由谐振器以及一个金属片和一个压电陶瓷片组成的双压电晶片元件振动器。谐振器呈喇叭形,目的是能有效地辐射由于振动而产生的超声波,并且可以有效地使超声波聚集在振动器的中央部位。

当电压作用于压电陶瓷时,就会随电压和频率的变化产生机械变形。另一方面,当振动压电陶瓷时,则会产生一个电荷。利用这一原理,当给由两片压电陶瓷或一片压电陶瓷和一个金属片构成的振动器,所谓叫双压电晶片元件,施加一个电信号时,就会因

弯曲振动发射出超声波。相反,当向双压电晶片元件施加超声振动时,就会产生一个电信号。基于以上作用,便可以将压电陶瓷用作超声波传感器。

图5 超声波内部结构

超声波是一种在弹性介质中的机械振荡,其频率超过20KHz,分横向振荡和纵向振荡两种,超声波可以在气体、液体及固体中传播,其传播速度不同。它有折射和反射现象,且在传播过程中有衰减。

3.5 测距分析

超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2

最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,碰到障碍物的阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时并计算出距离。以超声波在空气中的传播速度为

340m/s计算,根据定时器算出的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。

由于超声波也是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距的基本原理。如图6所示:

超声波发射

障碍物

超声波接收图6 超声波的测距原理

θcos S H = (3-1)

)

(

H L arctg =θ (3-2)

式中:L---两探头之间中心距离的一半. 又知道超声波传播的距离为:

vt S =2 ( 3-3) 式中:v —超声波在介质中的传播速度;

t —超声波从发射到接收所需要的时间. 将(3—2)、(3—3)代入(3-1)中得:

]

cos[21H L arctg vt H = ( 3-4)

其中,超声波的传播速度v 在一定的温度下是一个常数(例如在温度T=30度

时,V=349m/s);当需要测量的距离H 远远大于L 时,则(3—4)变为:

vt

H 21= ( 3-5) 所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H.

3.6 时钟电路的设计

AT89C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。AT89C51单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式。

本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ 到12MHZ 之间选择。

电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。所以本设计中,振荡晶体选择12MHZ,电容选择20pF。

因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。如图7所示为时钟电路。

图7 时钟电路图

3.7 复位电路的设计

复位方法有上电自动复位和手动复位两种,单片机在时钟电路工作以后, 在RESET 端持续给出2个机器周期的高电平时就可以完成复位操作。例如使用晶振频率为12MHz 时,则复位信号持续时间应不小于2us。本设计采用的是自动复位电路。如图8示为复位电路。

图8 复位电路图

3.8 声音报警电路的设计

如下图所示,用一个蜂鸣器和三极管、电阻接到单片机的P13口上,构成声音报警电路,如图9示为声音报警电路。

图9 报警模块电路

3.9 显示模块

显示模块采用8段数码管显示,用四个8550三极管对电流进行放大,来驱动四位数码管正常工作。

图10 数码管电路

四、软件设计

4.1 主程序工作流程图

按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图11所示;

图11 主程序工作流程图超声波探测程序流程图:

图12 超声波探测程序流程图

五、总结

本设计研究了一种基于单片机技术的超声波智能测距报警系统。该系统通过以ATC89C51单片机为工作处理器核心,超声波传感器,它是一种新颖的被动式超声波探测器件,能够以非接触测出前方物体距离,并将其转化为相应的电信号输出.该报警器的最大特点就是使用户能够操作简单、易懂、灵活;且安装方便、智能性高、误报率低。随着现代人们安全意识的增强以及科学技术的快速发展,相信报警器必将在更广阔的领域得到更深层次的应用。

六、参考文献

[1] 吴政江. 单片机控制红外线防盗报警器[J]. 锦州师范学院学报, 2001.

[2] 宋文绪. 传感器与检测技术[M]. 北京: 高等教育出版社, 2004.

[3] 余锡存. 单片机原理及接口技术[M]. 西安: 西安电子科技大学出版社, 2000.

[4] 唐桃波, 陈玉林. 基于AT89C51的智能无线安防报警器 [J]. 电子设计应用, 2003, 5(6): 49~51.

[5] 李全利. 单片机原理及接口技术[M]. 北京: 北京航空航天大学出版社, 2004.

[6] 薛均义, 张彦斌. MCS-51系列单片微型计算机及其应用[M]. 西安: 西安交通大学出版社, 2005.

[7] 徐爱钧, 彭秀华. 单片机高级语言C51应用程序设计[M]. 北京: 北京航空航天大学出版社, 2006.

[8] 康华光. 电子技术基础(模拟部分)[M]. 北京: 高等教育出版社, 2004.

附录

附件1:原理图

附件2:实物图

附件3:程序

#include

#include

#include "eepom52.h"

#define uchar unsigned char

#define uint unsigned int

//数码管段选定义 0 1 2 3 4 5 6 7 8 9

uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; //断码//数码管位选定义

uchar code smg_we[]={0xe0,0xd0,0xb0,0x70};

uchar dis_smg[8] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};

sbit smg_we1 = P3^4; //数码管位选定义

sbit smg_we2 = P3^5;

sbit smg_we3 = P3^6;

sbit smg_we4 = P3^7;

sbit c_send = P3^2; //超声波发射

sbit c_recive = P3^3; //超声波接收

uchar flag_hc_value; //超声波中间变量

sbit beep = P2^3; //蜂鸣器IO口定义

bit flag_key_b_en,flag_key_set_en; //按键蜂鸣器使能

uchar smg_i = 3; //显示数码管的个位数

bit flag_300ms ;

bit key_500ms ;

long distance; //距离

uint set_d; //距离

bit flag_csb_juli; //超声波超出量程

uint flag_time0; //用来保存定时器0的时候的

// 按键的IO变量的定义

uchar key_can; //按键值的变量

uchar zd_break_en,zd_break_value; //自动退出设置界面

uchar menu_shudu = 10; //用来控制连加的速度

bit flag_lj_en; //按键连加使能

bit flag_lj_3_en; //按键连3次连加后使能加的数就越大了

uchar key_time,flag_value; //用做连加的中间变量

uchar menu_1; //菜单设计的变量

uchar a_a;

/***********************1ms延时函数*****************************/ void delay_1ms(uint q)

{

uint i,j;

for(i=0;i

for(j=0;j<120;j++);

}

/***********************处理距离函数****************************/

void smg_display()

{

dis_smg[0] = smg_du[distance % 10];

dis_smg[1] = smg_du[distance / 10 % 10];

dis_smg[2] = smg_du[distance / 100 % 10] & 0x7f;

}

/******************把数据保存到单片机内部eepom中******************/ void write_eepom()

{

SectorErase(0x2000);

byte_write(0x2000, set_d % 256);

byte_write(0x2001, set_d / 256);

byte_write(0x2058, a_a);

}

/******************把数据从单片机内部eepom中读出来*****************/ void read_eepom()

{

set_d = byte_read(0x2001);

set_d <<= 8;

set_d |= byte_read(0x2000);

a_a = byte_read(0x2058);

}

/**************开机自检eepom初始化*****************/

void init_eepom()

{

read_eepom(); //先读

if(a_a != 1) //新的单片机初始单片机内问EEPOM

{

set_d = 100;

a_a = 1;

write_eepom();

}

}

/****************独立按键处理函数********************/

void key()

{

static uchar key_new = 0,key_old = 0,key_value = 0;

if(key_new == 0)

{ //按键松开的时候做松手检测

if((P2 & 0x07) == 0x07)

key_value ++;

else

key_value = 0;

if(key_value >= 5)

{

key_value = 0;

key_new = 1;

flag_lj_en = 0; //关闭连加使能

flag_lj_3_en = 0; //关闭3秒后使能

flag_value = 0; //清零

key_time = 0;

write_eepom();

}

}

else

{

if((P2 & 0x07) != 0x07)

key_value ++; //按键按下的时候

else

key_value = 0;

if(key_value >= 5)

{

key_value = 0;

key_new = 0;

flag_lj_en = 1; //连加使能

zd_break_en = 1; //自动退出设置界使能

zd_break_value = 0; //自动退出设置界变量清零

flag_key_b_en = 1; //按键蜂鸣器使能

}

}

key_can = 20;

if(key_500ms == 1) //连加

{

key_500ms = 0;

key_new = 0;

key_old = 1;

zd_break_value = 0;

}

if((key_new == 0) && (key_old == 1))

{

switch(P2 & 0x07)

{

case 0x06: key_can = 3; break; //得到k2键值

case 0x05: key_can = 2; break; //得到k3键值

case 0x03: key_can = 1; break; //得到k4键值

}

// dis_smg[3] = smg_du[key_can % 10];

}

key_old = key_new;

}

void smg_we_switch(uchar i)

{

switch(i)

{

case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;

case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break;

case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break;

case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break; }

}

/***********************数码显示函数*****************************/

void display()

{

static uchar i;

i++;

if(i >= smg_i)

i = 0;

// P1 = 0xff; //段选

// P3 = 0xf0 | (P3 & 0x0f); //位选

// P3 = smg_we[i] | (P3 & 0x0f); //位选

smg_we_switch(i);

P1 = dis_smg[i]; //段选

}

void delay()

{

_nop_(); //执行一条_nop_()指令就是1us

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

}

/*********************超声波测距程序*****************************/

void send_wave()

{

c_send = 1; //10us的高电平触发

delay();

c_send = 0;

TH0 = 0; //给定时器0清零

TL0 = 0;

TR0 = 0; //关定时器0定时

flag_hc_value = 0;

while(!c_recive); //当c_recive为零时等待

TR0=1;

while(c_recive) //当c_recive为1计数并等待

{

flag_time0 = TH0 * 256 + TL0;

if((flag_hc_value > 1) || (flag_time0 > 65000)) //当超声波超过测量范围时,显示3个888

{

TR0 = 0;

flag_csb_juli = 2;

distance = 888;

flag_hc_value = 0;

break ;

}

else

{

flag_csb_juli = 1;

}

}

if(flag_csb_juli == 1)

{

TR0=0; //关定时器0定时

distance = TH0; //读出定时器0的时间

distance = distance * 256 + TL0;

distance +=( flag_hc_value * 65536);//算出超声波测距的时间得到单位是ms

distance *= 0.017; // 0.017 = 340M / 2 = 170M = 0.017M 算出来是米

if(distance > 350) //距离 = 速度 * 时间

{

distance = 888; //如果大于3.8m就超出超声波的量程}

基于51单片机超声波测距仪设计【开题报告】

毕业论文开题报告 电子信息工程 基于51单片机超声波测距仪设计 一、课题研究意义及现状 随着社会的发展,传统的测距方法在很多场合已无法满足人们的需求。例如在井深、液位、管道长度测量等场合。传统的测距方法根本无法完成测量任务。还有在很多要求实时测距的情况下。传统的测距方法也不能很好地完成测量任务。于是一种新的测距方法——超声波测距应运而生。超声波测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。超声测距是一种非接触式的检测方式,它不受光线、被测对象颜色等影响。超声波传感器结构简单、体积小、信号处理可靠,所以检测比较迅速、方便、计算简单、易于做到实时控制。在移动机器人、汽车安全、海洋测量等上得到了广泛的应用。因此,本课题的研究是非常有实用和商业价值。 随着科学技术的快速发展,超声波测距仪的应用将会越来越广,这是一个蓬勃发展而又有无限前景的技术及产业领域。未来的超声波测距技术将朝着更高精度,更大应用范围,更稳定方向发展,死角问题也能得到解决。超声波测距仪将其通过51单片机来实现,成本低、精度高、操作简单、工作稳定可靠,非常适合于短距离测量定位。51单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用它的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统,有很大的市场开发潜力。 二、课题研究的主要内容和预期目标 本课题主要设计一种基于单片机的超声测距系统。该系统以超声波的传播速度为确定条件,利用发射超声波与反射回波时间差来测量待测距离。课题主要内容包括硬件设计和软件设计。硬件设计主要包括单片机系统,超声波发射电路、超声波检测接收电路、数码管显示电路等。软件部分拟采用单片机C语言编程,便于维护和修改,主要是利用中断完成信号发射和接受中间所耗时间的计算,并进行相关的数据处理以得到准确的距离。本课题要求测量精确、可靠、显示正确。 三、课题研究的方法及措施 先通过上网、图书馆等各种途径,搜索与本课题相关的资料进行大量的阅读,从而从整体上对这个课题进行认识。然后根据查阅的资料作出总体方案的设计框图以及确定本设计的实现方法。本设计总体框图如下:

基于51单片机的超声波测距毕业设计(论文)

一设计题目基于51单片机的超声波测距 二设计者 姓名班级学号组号 三、设计思路及框图、原理图 任务:以单片机为核心,设计并制作一超声波测距系统基本要求: 利用时间差测距,不考虑温度变化 用数码管显示测试结果 工作频率:450kHz 测距范围:0.5~10米 测试精度: 10% 发挥部分尽量增大测控范围,提高测试精度 1.系统的硬件结构设计 1.1. 超声波发生电路 发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的450kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。 1.2超声波检测接收电路 采用集成电路CX20106A为超声波接收芯片。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电

容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。 1.3 显示电路 显示电路主要由74ls273芯片驱动,用PNPC8550三级管进行位选,七段共阳极数码管显示。 2.系统的软件结构设计 设计思路 主程序中包括温度补偿子程序,计算子程序,显示子程序。采用汇编编程。首先进行系统初始化。其次利用循环产生4个40KHZ的方波,由输出口进行输出,并开始计时。第三等待中断,若超声波被接收探头捕捉到,那么通过中断可测得

超声波测距仪的设计说明

题目:超声波测距仪的设计 超声波测距仪的设计 一、设计目的: 以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

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

超声波测距仪电路设计实验报告 轮机系楼宇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; }

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

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

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

超声波测距仪单片机课设实验资料报告材料

微机原理与单片机系统课程设计 业:专轨道交通信号与控制 级:班1305 交控

姓名:贺云鹏 学号: 201310104 指导教师:建国 交通大学自动化与电气工程学院 30 日 12 2015 年月 超声波测距仪设计设计说明1 设计目的1.1 测量声波在发超声波测距的原理是利用超声波在空气中的传播速度为已知,根据发射和接收的时间差计算出发射点到障碍射后遇到障碍物反射回来的时间,物的实际距离。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量。 超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强。超声波能以一定速度定向传播、遇障碍物后形成反射,利用这一特性,通过测定超声波往返所用时间就可计算出实际距离,从而实现无接触测量物体距离。超声波测距迅速、方便,且不受光线等因素影响,广泛应用于水文液位测量、建筑施工工地的测量、现场的位置监控、振动仪车辆倒车障碍物的检测、移动机器入探测定位等领域。 1.2 设计方法 本课题包括数据测距模块、显示模块。测距模块包括一个HC-SR04超声波测距模块和一片AT89C51单片机,该设计选用HC-SR04超声波测距模块,通过单片机对超声波进行计时并根据超AT89C51发射和接受超声波,使用HC-SR04.声波在空气中速度为340米每秒的特性计算出距离。显示模块包括一个4位共阳极LED数码管和AT89C51单片机,由AT89C51单片机控制数码管动态显示距离。 1.3 设计要求 采用单片机为核心部件,选用超声波模组,实现对距离的测量,测量距离能够通过显示输出(LED,LCD)。 2 设计方案及原理 2.1超声波测距模块设计

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;

基于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.单片机汇编语言及设计

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

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

一、实验目的 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 回响信号输出等四支线。

简易超声波测距仪的设计

摘要 超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。 本课题详细介绍了超声波传感器的原理和特性,以及Atmel公司的AT89C51单片机的性能和特点,并在分析了超声波测距的原理的基础上,指出了设计测距系统的思路和所需考虑的问题,给出了以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。 经实验证明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系统扩展和升级,可以有效地解决汽车倒车、建筑施工工地以及一些工业现场的位置监控。 关键词AT89C51;超声波;测距

Abstract Ultrasonic wave has strong pointing to nature ,slowly energy consumption ,propagating distance farther ,so, in utilizing the scheme of distance finding that sensor technology and automatic control technology combine together ,ultrasonic wave finds range to use the most general one at present ,it applies to guard against theft , move backward the radar , water level measuring,building construction site and some industrial scenes extensively. This subject has introduced principle and characteristic of the ultrasonic sensor in detail ,and the performance and characteristic of one-chip computer AT89C51 of Atmel Company ,and on the basis of analyzing principle that ultrasonic wave finds range ,the systematic thinking and questions needed to consider that have pointed out that designs and finds range ,provide low cost , the hardware circuit of high accuracy , ultrasonic range finder of miniature digital display and software design method taking AT89C51 as the core. Modular design of the whole circuit from the main program, pre subroutine fired subroutine receive subroutine. display subroutine modules form. SCM comprehensive analysis of the probe signal processing, and the ultrasonic range finder function. On the basis of the overall system design, hardware and software by the end of each module. The research has led to the discovery that the software and hardware designing is justified, the anti-disturbance competence is powerful and the real-time capability is satisfactory and by extension and upgrade, this system can resolve the problem of the car availably, building construction the position of the workplace and some industries spot supervision. Key words AT89C51; Ultrasonic Wave; Measure Distance

基于51单片机的超声波测距系统

基于51单片机的超声波测距系统 贾源 完成日期:2011年2月22日

目录 一、设计任务和性能指标 (3) 1.1设计任务 (3) 1.2性能指标 (3) 二、超声波测距原理概述 (4) 2.1超声波传感器 (5) 2.1.1超声波发生器 (5) 2.1.2压电式超声波发生器原理 (5) 2.1.3单片机超声波测距系统构成 (5) 三、设计方案 (6) 3.1AT89C2051单片机 (7) 3.2超声波测距系统构成 (8) 3.2.1超声波测距单片机系统 (9) 图3-1:超声波测距单片机系统 (9) 3.2.2超声波发射、接收电路 (9) 图3-1:超声波测距发送接收单元 (10) 3.2.3显示电路 (10) 四.系统软件设计 (11) 4.1主程序设计 (11) 4.2超声波测距子程序 (12) 4.3超声波测距程序流程图 (13) 4.4超声波测距程子序流程图 (14) 五.调试及性能分析 (14) 5.1调试步骤 (14) 5.2性能分析 (15) 六.心得体会 (15) 参考文献 (16) 附录一超声波测系统原理图 (18) 附录二超声波测系统原理图安装图 (19) 附录三超声波测系统原理图PCB图 (20) 附录四超声波测系统原理图C语言原程序 (21) 参考文献 (26)

一、设计任务和性能指标 1.1设计任务 利用单片机及外围接口电路(键盘接口和显示接口电路)设计制作一个超声波测距仪器,用LED数码管把测距仪距测出的距离显示出来。 要求用Protel 画出系统的电路原理图,印刷电路板,绘出程序流程图,并给出程序清单。 1.2性能指标 距离显示:用三位LED数码管进行显示(单位是CM)。 测距范围:25CM到 250CM之间。误差:1%。

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

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

基于单片机的超声波测距仪设计 1总体设计方案介绍 1.1超声波测距原理 发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v 与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。 表1-1 超声波波速与温度的关系表 表1-1 1.2超声波测距仪原理框图如下图 单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED

显示。 图1-1 超声波测距仪原理框图 2 系统的硬件结构设计 硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管8550驱动。 2.1 51系列单片机的功能特点及测距原理 2.1.1 51系列单片机的功能特点 5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的工/O端I:IP0,

10米超声波测距仪设计实现

10米超声波测距仪设计实现 一、功能要求 设计一个超声波测距仪,可以测量测距仪与被测物体间的距离。要求测量范围0.1~10.00米,测量精度1cm,测量时与被测物体不接触,并将测量结果显示出来。 二、系统硬件电路 1.单片机系统及显示电路 单片机采用89C51或89S51。采用12MHz高精度晶振,以获得较稳定的时钟频率,减小测量误差。单片机用p1.0端口输出超声波换能器所需的40Hz方波信号,利用外中断0口监测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳极LED数码管,段码用74LS244驱动,位用PNP8550驱动。 2.超声波发射电路 主要由74LS04和超声波换能器T构成。这种推挽形式的方波信号可以提高发射强度。反相器并联提高驱动能力。上拉电阻R1、R2提高74LS04输出高电平的驱动能力。 3.超声波接收电路 CX20106A是接收38KHz超声波的芯片,可利用它做接收电路。 4.系统程序 超声波测距仪的软件主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。 主程序:

开始 系统初始化 发送超声波脉冲 等待反射超声波 计算距离 显示结果 丢系统初始化,设置T0为方式1,EA=1,P0,P2清0。为避免超声波发射器直接接传送到接收器,需要延时0.1ms。由于时钟的频率是12MHz,计数器每计一个数就是1us。如果按声速344m/s,则d=c*t/2=172T0 cm 超声波发生子程序:通过P1.0端口发送2个左右超声波脉冲信号,脉宽12us,同时T0计数。 超声波测距仪利用中断0检测返回的超声波,一旦接收到返回的信号,立即进入中断。中断后就立即关闭T0停止计时。如果计数器益出则测试不成功。 3方案设计和选择 根据本次设计的要求,方案的选择应力求实用性强,性价比高,使用简单。 3.1 超声波测距的基本原理 谐振频率高于20kHz的声波被称为超声波。超声波

超声波测距课程设计样本

目录 前言 1课题设计目及意义----------------------------------------------- 1 1.1设计目----------------------------------------------------- 1 1.2设计意义----------------------------------------------------- 1 1.3课题设计任务和规定------------------------------------------- 1 正文 1 课程方案设计------------------------------------------------- 2 1.1系统整体方案--------------------------------------------------- 2 1.2系统整体方案论证-------------------------------------------- 2 2系统硬件构造设计------------------------------------- 2 2.1 51系列单片机功能特点及测距原理------------------------------ 3 2.1.1 51系列单片机功能特点------------------------------------- 3 2.1.2 单片机实现测距原理 ----------------------------------------- 3 2.2 超声波电路构造------------------------------------------------ 4 2.3 超声波测距系统硬件电路设计---------------------------------- 4 2.4 PCB版图设计---------------------------------------------------- 5 3 系统软件设计----------------------------------------- 6 3.1 超声波测距仪算法设计---------------------------------------- 7 3.2 主程序流程图--------------------------------------------------- 7 3.3单片机某些C语言程序-------------------------------------------- 8 3.4超声波测距某些C语言程序-------------------------------------- 11

用51单片机实现HC-SR04超声波测距程序

#include //包括一个52标准内核的头文件 #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long sbit Trig = P1^0; //产生脉冲引脚 sbit Echo = P3^2; //回波引脚 sbit test = P1^1; //测试用引脚 uchar code SEG7[10]={~0xC0,~0xF9,~0xA4,~0xB0,~0x99,~0x92,~0x82,~0xF8,~0x80,~0x90};//数码管0-9 uint distance[4]; //测距接收缓冲区 uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i; //自定义寄存器 bit succeed_flag; //测量成功标志 //********函数声明 void conversion(uint temp_data); void delay_20us(); void main(void) // 主程序 { uint distance_data,a,b; uchar CONT_1; i=0; flag=0; test =0; Trig=0; //首先拉低脉冲输入引脚 TMOD=0x11; //定时器0,定时器1,16位工作方式 TR0=1; //启动定时器0 IT0=0; //由高电平变低电平,触发外部中断 ET0=1; //打开定时器0中断 EX0=0; //关闭外部中断 EA=1; //打开总中断0 while(1) //程序循环 { EA=0; Trig=1; delay_20us(); Trig=0; //产生一个20us的脉冲,在Trig引脚 while(Echo==0); //等待Echo回波引脚变高电平 succeed_flag=0; //清测量成功标志 EX0=1; //打开外部中断 TH1=0; //定时器1清零 TL1=0; //定时器1清零 TF1=0; //

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

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

基于51单片机的超声波测距仪设计 摘要 利用超声波进行测距有许多优点比如不受光强度、色彩和电磁场等外界因素的影响,而且超声波传感器的价位较低、结构也较为简单,超声波以声速传播,方便收发与计算。在汽车倒车雷达、移动机器人的避障、特别是测量距离等许多方面都已有了非常普遍的应用。 本次毕业设计的超声波测距仪是在STC89C51单片机的基础上设计的,在分析和了解了超声波的一些优点和特性后,又查看了利用超声波测距的基本原理。最后决定使用51单片机系统和超声波传感器共同组成。设计的超声波测距仪的硬件部分主要包括电源及复位模块、单片机与超声波模块组成的超声波发射模块、超声波接收模块、LED数码显示模块和扩展报警模块。软件部分主要包括单片机主程序、根据超声波发射与接收计算距离程序、LED距离显示程序、按键控制程序和蜂鸣器报警程序,这样安排使得系统具有模块化的特点。系统容易进行控制,具有可靠地的性能,具有较高的测量精度,最重要的是能对距离进行实时测量。 关键词:单片机,测距仪,超声波,实时测量

Design of Ultrasonic Distance Meter Based on 51 MCM ABSTRACT Using ultrasonic ranging has many advantages for example, from the effects of light intensity, color and electromagnetic field and other external factors and price lower ultrasonic sensors, the structure is simple, ultrasonic sounds velocity, convenient transceiver and calculation. In the car reverse radar, mobile robot obstacle avoidance, especially measuring distance and many other aspects have been very common application. The graduation design of ultrasonic range finder based on STC89C51 MCU design, analysis and understanding of the some advantages and characteristics of ultrasonic and looked at the use of the basic principle of ultrasonic distance measurement. Finally, the composition of the 51 single-chip microcomputer system and ultrasonic sensor is decided.. The design of ultrasonic rangefinder hardware part consists of the power and reset module, SCM and ultrasonic module consists of ultrasonic emission module, ultrasonic receiving module, LED digital display expansion module and alarm module. Software part mainly includes MCU program, according to the ultrasonic transmitting and receiving computing program distance, the distance of LED display program, key control procedures and buzzer alarm procedures, this arrangement enables the system to have the characteristics of modular. The system is easy to control and has the reliable performance, and has the higher accuracy, and the most important is the real-time measurement of the distance. KEY WORDS: Single chip microcomputer,Range finder,Ultrasonic,Real-time measurement

相关文档
相关文档 最新文档