AT89S52单片机超声波测距仪设计+电路图+原理+流程图
超声波在空气中传播时,其能量的衰减程度与距离成正比,即距离越近、信号越强,距离越远、信号越弱,通常在1mV ~ 1V之间。不同的接收头的输出信号强度存在差异。由于输入信号的范围比较大,对放大电路的增益存在一定得要求,即增益要大且采集信号范围要广。在本设计中采用的仪表放大器AD623能很好的满足这一要求。
从超声波发射电路发出超声波后,单片机内的定时器开始计时,超声波碰到障碍物后反射回来被接收头接收,经过仪表放大器放大后送到LM567的输人端(脚3)。LM567内部的压控振荡器的中心频率 f=1/RC,电容C决定其锁定带宽,调节R在发射的载频上,
则LM567输入信号大于25mV。输出端 8 脚,由高电平跃变为低电平,作为中断请求信号,送至单片机处理。在启动发射电路的同时启动单片机内部的定时器 T1,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。超声波接收电路如图 2-12 所示。辣/文^论'文.网
http://www.751com.cn2.3 温度补偿电路设计
在常温下,超声波的传播速度为340m/s,但其传播速度V易受到空气中温度、湿度、压强等因素的影响,其中温度的影响最大。一般温度每升高1℃,声速增加约为0.6m/s。表2-2为超声波在不同温度下的波速值。
表 2-2 波速与温度关系表
温度(℃) -30 -20 -10 0 10 20 30 100
波速(米/秒) 313 319 325 323 338 344 349 386
由表2-2可见温度对于超声波测距系统的影响是不可忽略的。在本设计中为了得到较为精确的测量结果,必须对波速进行温度补偿。通过实验可获得波速与温度之间的经验模型:V=331.5+0.607T,T为现场温度,V为实际波速。从上式中可看出,要获得准确的波速值,必须首先获取现场温度T的大小。本设计采用DS18B20检测现场温度,用以实现实际波速的校准。
2.3.1 DS18B20简介
目前,大多数温度测控系统在进行温度测量时,通常采用模拟式温度敏感元件,如热电阻、热电偶、红外测温仪等,将温度转化为电信号,经过信号放大电路放大到合适的范围,再由A/D转换器转换为数字量。此种形式的温度测量结构复杂,调试繁锁,测量精度易受元器件参数影响。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。
DS18B20内部结构主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为扩展符号位。转换周期与转换精度设定有关,9位精度时,最大转换时间为93.75ms;12位精度时,最大转换时间为750ms。DS18B20温度值格式表如表 2-3 所示。
表 2-3 DS18B20温度值格式表
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit 0
23 22 21 20 2-1 2-2 2-3 2-4
LS Byte bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit 8
S S S S S 26 25 24
MS Byte辣/文^论'文.网http://www.751com.cn2.3.2 温度补偿电路
超声波测距系统采用AT89S52作为控制核心,其测温系统通过P0口将现场温度及测量结果显示在液晶屏上。P2.0接数据总线,控制DS18B20进行温度转换和传输数据,同时数据总线上接4.7K左右的上拉电阻,增强总线驱动能力,采用+5V寄生电源。硬件结构如图 2-13 所示。
图 2-13 温度补偿电路
2.4 显示电路设计
液晶显示器(LCD) 具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点。LCD 可分为段式LCD、字符式LCD、和点阵式LCD。其中,段位式LCD 和字符式LCD 只能用于字符的数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式LCD 不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字并且可以实现屏幕上下左右滚动,动画功能,反转,闪烁等功能,用途十分广泛。
本设计显示部分用了一块1602的字符型LCD模块,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的,显示内容丰富,美观,编程灵活方便,和单片机的接口也较简单方便。
2.4.1 LCD1602简介
LCD1602是一款常用的液晶,可以显示2行16个字符,有8位数据总线D0- D7,和RS、R/W、E三个控制端口,工作电压为5V,并且带有字符对比度调节(VO:LCD对比度调节端,电压调节范围为0-5V。接正电源时对比度最弱,接地电源时对比度最高,通常使用一个10K的电位器来调整对比度,或者直接串接一个1K的电阻到地)。
2.4.2 LCD1602显示电路
在本设计系统中,数据/命令选择端RS与单片机P1.2相连,判断LCD接收指令还是数据;读/写选择端 R/W与单片机 P1.1连接,判断LCD是读数据还是写数据;使能信号端 E 接P1.0口;数据端D0-D7直接与单片机P0口连接,单片机存储的数据直接发送到LCD中,显示温度、波速及测量距离等。具体硬件电路如图 2-14 所示。
图 2-14 LCD显示电路上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
AT89S52单片机超声波测距仪设计+电路图+原理+源程序流程图 第5页下载如图片无法显示或论文不完整,请联系qq752018766