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

上传人:b****1 文档编号:2199926 上传时间:2023-05-02 格式:DOCX 页数:17 大小:845.96KB
下载 相关 举报
基于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_第6页
第6页 / 共17页
基于51单片机超声波测距.docx_第7页
第7页 / 共17页
基于51单片机超声波测距.docx_第8页
第8页 / 共17页
基于51单片机超声波测距.docx_第9页
第9页 / 共17页
基于51单片机超声波测距.docx_第10页
第10页 / 共17页
基于51单片机超声波测距.docx_第11页
第11页 / 共17页
基于51单片机超声波测距.docx_第12页
第12页 / 共17页
基于51单片机超声波测距.docx_第13页
第13页 / 共17页
基于51单片机超声波测距.docx_第14页
第14页 / 共17页
基于51单片机超声波测距.docx_第15页
第15页 / 共17页
基于51单片机超声波测距.docx_第16页
第16页 / 共17页
基于51单片机超声波测距.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

基于51单片机超声波测距

设计要求

(1)设计一个以单片机为核心的超声波测距仪,可以应用于汽车倒车、工业现场的位置监控;

(2)测量围在0.50〜4.00m,测量精度1cm;

(3)测量时与被测物无直接接触,能够清晰稳定地显示测量结果。

二超声波测距系统电路总体设计方案

本系统硬件部分由AT89S52控制器、超声波发射电路及接收电路、温度测量电路、声音报警电路和LCD显示电路组成。

汽车行进时LCD显示环境温度,当倒车时,发射和接收电路工作,经过AT89S52数据处理将距离也显示到LCD上,如果距离小于设定值时,报警电路会鸣叫,提醒司机注意车距。

超声波测距器的系统框图如下图所示:

倉肘电蹈

AT

3

9

C

jr

LCD

DS18B2O

接收电53

■X

U>

5

2

抿善电路

图5系统设计总框图

由单片机AT89S52编程产生10us以上的高电平,由指定引脚输出,就可以在指定接收口等待高电平输出。

一旦有高电平输出,即在模块中经过放大电路,驱动超声波发射探头发射超声波。

发射出去的超声波经障碍物反射回来后,由超

声波接收头接收到信号,通过接收电路的处理,指定接收口即变为低电平,读取单片机中定时器的值。

单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制显示出来

由时序图可以看出,超声波测距模块的发射端在TO时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。

计算时间差,即可得到超声波在媒介中传播的时间

t,由此便可计算出距离。

时序图

三超声波发射和接收电路的设计

分立元件构成的发射和接收电路容易受到外界的干扰,体积和功耗也比较大。

而集成电路构成的发射和接收电路具有调试简单,可靠性好,抗干扰能力强,体积小,功耗低的优点,所以优先采用集成电路来设计收发电路。

3.1超声波发射电路

超声波发射电路包括超声波产生电路和超声波发射控制电路两部分,可采用软件发生法和硬件方法产生超声波。

在超声波的发射电路的设计中,我们采用电路结构简单的集成电路构成发射电路:

图7由反相器构成的超声波发射电路

图7是由反相器74HC04构成的发射电路,用反相器74HC04构成的电路简单,调试容易,易通过软件控制。

单片机输出的方波经过反相器接到发射器T1的两极,用图中的推挽形式将方波信号加到发射器T1两端,可以提高发射器T1的发射强度。

图中把两个非门的输出接到一起的目的是为了提高其吸入电流,电路驱动能力提高。

74HC04是一个高速CMOS六反相器,具有对称的传输延迟和转换时间,而相对于LSTTL逻辑IC,它的功耗减少很多。

另外,上拉电阻R1、R2—方面可以提高反相器74HC04输出高电平的驱动能力,另一方面可以增加发射器T1的阻尼效果,缩短其自由振荡的时间。

3.2超声波接收电路

图8是由CX20106构成的接收电路,在实物的制作过程中,我们将用CX20106A这一型号代替。

CX20106A是索尼公司生产的彩电专用红外遥控接收器,是CX20106的改进型,也可用于超声波测试,有较强的抗干扰性和灵敏度。

CX20106A采用单列8脚直插式,超小型封装,+5V供电。

管脚1是超声波信号输入端,其输入阻抗约为40K;管脚2的R1、C4决定接收器R的总增益,增大电阻R1或减小电容C4,将使放大倍数下降,负反馈量增大,电容C4

的改变会影响到频率特性,实际使用中一般不改动;管脚3与GND之间连接检

波电容C2,考虑到检波输出的脉冲宽度变动大,推荐参数为3.3uF;管脚5上

的电阻R2用以设置带通滤波器的中心频率,阻值越大,中心频率越低,取

R2=200K时,中心频率约为42KHZ;管脚6与GND之间接入一个积分电容

C3,电容值越大,探测距离越短;管脚7是遥控命令输出端,它是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到电源端,没接收信号时,该端

输出为高电平,有信号时则会下降;管脚8接+5V电源

图8CX20106构成的接收电路

综合以上的分析,在由集成电路构成的接收和发射电路中,发射电路我们选用由反相器构成的电路,接收电路采用由红外接收检波芯片CX20106A构成,主要是考虑到系统的调试简单,成本低以及可靠性好。

四单片机主机系统电路

4.1复位电路

单片机在RESET端加一个大于20ms正脉冲即可实现复位,上电复位和按钮组合的复位电路如图9

在系统上电的瞬间,RST与电源电压同电位,随着电容的电压逐渐上升,

RST电位下降,于是在RST形成一个正脉冲。

只要该脉冲足够宽就可以实现复

位。

当人按下按钮SW1时,使电容C1通过R1迅速放电,待SW1弹起后,C1

再次充电,实现手动复位

图9复位电路

4.2时钟电路

当使用单片机的部时钟电路时,单片机的XTAL1和XTAL2用来接石英晶体

和微调电容,如图10所示。

 

图10时钟电路

4.3按键电路

我们通过P1.0来启动测量,程序过查询P1.0的电平来检测是否按键被按下,在软件过软件延时来消除按键的机械抖动。

*1

图11按键电路

4.4蜂鸣器电路

本次设计通过一只蜂鸣器来提示用户按键按下了,现在单片机开始了测距。

蜂鸣器是一块压电晶片,在其两端加上3-5V的直流电压,就能产生3KHz的蜂鸣声,电路如图12。

通过单片机软件产生3KHz的信号从P3.7口送到三极管

9013的基极,控制着电压加到蜂鸣器上,驱动蜂鸣器发出声音。

4.5温度测量电路

由于超声波的传播速度c会受温度、湿度、压强等的影响,其中温度的影响尤为严重。

因此在测量精度要求高的场合,应通过温度补偿对超声波的传播速度进行校正,以减小误差。

U3

3

2

7

DS18B2O

图13温度检测电路

本系统采用DALLAS公司的DS18B20数字式温度传感器进行温度测量,它

所测量的温度值用9位二进制数直接表示,这些值通过DS18B20的数据总线直接输入CPU,无需A/D转换,而且读写指令、温度转换指令都是通过数据总线传入DS18B20,无需外部电源。

DS18B20数字温度传感器与AD590、LM35等温度传感器相比,具有相当的测温围和精度,温度测量精确、不受外界干扰等优点。

4.6LCD显示电路

本设计采用LCD液晶显示屏来显示距离和温度,具有体积小、功耗低、界面美观大方等优点,这里使用YB1602液晶屏,它具有16个引脚,其正面左起为第一脚,如图14所示:

图14LCD1602实物

第一脚VSS:

接地。

第二脚VDD:

+5V电源。

第三脚VEE:

对比度调整端。

使用时通过接一个10K的电阻来调节。

第四脚RS寄存器选择信号线,H为数据选择,L为指令选择。

第五脚RW:

读写信号线。

第六脚E:

使能端,当E由高电平跳变为低电平时执行命令。

第7-14脚:

8位数据线D0-D7。

第十五脚BLA:

背光电源正极输入端。

第十六脚BLK:

背光电源负极输入端

图15LCD显示电路

4.7电源电路

电源电路采用普通可调电源供电,该电源不含稳压器,所以在设计中需要用稳压器进行稳压。

我们选用LM7805来获得稳定的+5V直流电压。

输入电压(<21V)经过7805的稳压输出+5V的电压,图中的D2为保护7805,防止电源极性接反损坏7805,滤波电容采用100uF电解和104瓷

片电容并联使用,电磁兼容的实践证明,两个差100倍的电容并联使用效果

很好。

本设计电源电路如下:

 

图16电源电路

五.系统软件设计

5.1系统程序的结构

⑴DS18B20温度传感器接口模块,分为初始化程序、写入命令以及读取子程序等部分;

(2)基于YB1602的显示模块,分为初始化子程序、写入子程序以及显示子程序;

(3)温度补偿与距离计算模块,分为超声波发送控制程序、接收处理程序、温度补偿子程序等。

本次设计使用C语言编写程序,C语言相比汇编有许多的优势,编译器使用KeilVersion2进行程序编译,Keil功能强大使用方便。

在编译完成后,通过Proteus软件进行仿真,对设计进行验证和优化。

如图17所示描述了各个模块

的关系:

蜂啕霍报1F

5.2系统主程序

图17系统软件方框图

图18主程序流程图

5.340KHz超声波发送子程序

超声波每过60ms发送一次,通过定时器T0中断发送超声波,超声波发送

后延时一段时间后返回,防止余波被接收头接收误判,流程图如下:

 

图19超声波发送子程序流程图

5.4DS18B20温度采集程序

DS18B20的工作流程是,初始化ROM操作指令存储器操作指令据传输。

其工作时序包括:

初始化时序、写时序和读时序。

5.5距离计算子程序

图20温度采集程序流程图

距离计算中,实行了温度补偿和角度补偿。

流程图如下:

LCD所接受

「1

「返回

图21距离计算子程序流程图

5.6数据转换子程序

经过程序求出的数据原码无法直接用于显示,必须转换为

的BCD码的形式。

「开塢J

图22数据转换子程序流程图

5.7LCD显示子程序

LCD液晶显示程序分为液晶初始化、读忙、写指令和写数据操作,液晶

显示器是一块慢器件,所以在执行每条指令之前必须确定模块忙标志为低

电平(不忙),否侧此指令无效。

液晶显示子程序流程图如下:

图23LCD显示子程序

在程序中,我们将测量的各种结果存放到一个数组num[]中,然后通

过这个数组的数据到预先存放字符的数组中去按num[]中的数据的顺序去

读取出预存在numcode[]中的字符然后送到LCD中显示。

5.8基于Proteus的软件仿真

3-

■■!

__1

'TUT

JI'

^■CfALI

"EU

mazmitfuiPOMJ2

PU^>3

FD4^U4-皿"inaAjs

FUriKlf

■S'

F2ORE即梏陀2TE口

F.站IN號弓)i门FSfiAltRa.^jwis

■35

理-

■IT^3杠'

P31iTXDFsaTOEF33Wnra*JTBFi»ri町jfil师ra.iiTir

Diojrrti^a

MCFULfr^fA時Bg歸牌申呷

KUIIBi.rith1"

•*R

jua-d

ttew:

lCC»2

T^n^sraturci23'Distance'Blllnn

11

■*

E

'■

0

u

«

§

H

«r-£

ra

Fi

I

i

*匚=1

T

1.

11

.

3

mer

巧!

FK

35.CDriS

图24Proteus仿真图

卞LCD2

Te^iFer-iVur-e:

2t"Diatantvi0113ffi

I.OOlm^I7D.47H.V

ChintielC

oj-Opima4陀第nV

io

-5

:

n「

1S1~^nnh--

AhnftJ

Glirwri_

BCD

Iwj

DCI

dWo^r|

ChdinelB

Fusituii

图25波形

-JJ

■Men

Cli.wiielu

 

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2