52单片机超声波测距论文最终版
52单片机超声波测距系统

LOGO
LOGO
3、硬件设计
超 声 波 系 统 总 框 图
LOGO
3、硬件设计
LOGO
4、软件设计
软 件 设 计 流 程 图
LOGO
4、软件设计
软 件 设 计 流 程 图Biblioteka LOGO5、凋 试
1、语法错误检查----输入程序后,检查命令代码及其格式, 运行编译没有语法拼写错误,做好下载到单片机。 2、硬件电路检查----焊接电路板前,使用万用表检查板 没有短路断路。正确安装元器件,分清极性。安装前 检查元器件好坏,焊接做到没有虚焊漏焊。完成使 用万用表检查短路断路。 3、下载程序凋试----如果取方波的周期为1/40ms的,即25 µs的,半周期为12.5µs。每半周期时间,让输出电平信 号取反,实物是使用12M晶振的单片机的时钟分辨率是1 µs,所以只能产生半周期即为12µs或13µs的方波信号, 频率大约分别为41.67kHz和38.46 kHz。本论文设计在 编程时选择了大约38.5kHz,汇编编写误差较小。
LOGO
2、我的设计思路
超声波发射接收探头 温度传感器补偿 单片机主控处理
单片机的P21端口程序 采用DS18B20数字式 单片机要控制信号发送 控制大约38.5KHZ的方 温度传感器进行温度 跟接收回来信号处理。 波信号推挽式由发射探 测量,通过DS18B20 同时处理温度传感器反 头发射出去,同时单片机 的数据总线直接输入单 馈回来补偿数据,修正 定时器开始计时遇到障碍 片机的CPU处理,通过 误差,在1602液晶显示 物反射回来接收探头接收 程序计算纠正温度的误差,屏显示准确的距离,通 经过放大、整形滤波模块 起温度补偿作用。同时在 过键盘输入到单片机 送到P32端口外部中断, LCD显示屏显示当前温度。 的数据处理可以调节 定时器计时停止单片机 报警距离范围,控制 每增加1摄氏度,速度就 计算中间经历的时间。 报警的蜂鸣器。 增加0.6m/s.
基于STC89C52的无线超声波测距系统的研究与设计

基于STC89C52的无线超声波测距系统的研究与设计一、本文概述随着无线通讯技术和超声波测距技术的快速发展,无线超声波测距系统因其非接触、高精度、实时性强等优点,在机器人导航、智能车辆、工业自动化等领域得到了广泛应用。
本文旨在研究与设计一种基于STC89C52单片机的无线超声波测距系统,旨在实现测距的高精度、快速响应和无线通信功能。
本文首先介绍无线超声波测距系统的基本原理和STC89C52单片机的特点,分析其在测距系统中的应用优势。
接着,详细阐述系统硬件设计,包括超声波发射与接收电路、STC89C52单片机最小系统、无线通信模块等关键部件的选型与设计。
在系统软件设计方面,本文将介绍测距算法的实现,包括超声波信号的发射与接收控制、距离计算等关键步骤。
还将探讨如何通过软件优化提高测距精度和响应速度。
本文还将对系统进行实验验证,包括硬件电路测试、软件功能调试和整体性能测试。
通过对实验结果的分析,评估系统的性能指标,如测距精度、响应时间和无线通信稳定性等。
总结本文的研究成果,并对未来研究方向进行展望。
本文旨在通过深入研究与设计基于STC89C52单片机的无线超声波测距系统,为相关领域提供一种高性能、低成本的测距解决方案,推动无线超声波测距技术的进一步应用与发展。
二、超声波测距原理及关键技术超声波测距系统主要依赖于超声波在空气中的传播速度以及回波时间来进行距离测量。
STC89C52单片机作为系统的核心控制单元,负责控制超声波的发射与接收,以及处理相关数据以计算距离。
超声波测距的基本原理是:当超声波发射器发出超声波后,这些声波在空气中传播,遇到障碍物后被反射回来,由接收器接收。
由于超声波在空气中的传播速度(约为340m/s)是已知的,通过测量超声波从发射到接收的时间差,就可以计算出超声波传播的距离,从而得到障碍物与测距系统之间的距离。
计算公式为:距离 = (超声波速度×时间差) / 2。
在基于STC89C52的无线超声波测距系统设计中,有几个关键技术点需要特别关注:为了有效地发射和接收超声波,需要设计合适的发射和接收电路。
基于单片机的超声波测距仪论文

毕业设计(论文)题目:基于单片机的超声波测距仪摘要在空气介质中超声测距传感器因其性能好,价格低廉、使用方便,在现场机器人定位系统、车辆自动导航、车辆安全行驶辅助系统、城市交通管理和高速公路管理监测系统,以及河道、油井和仓库及料位的探测中都有应用。
由于超声波传播不易受干扰,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距和物位测量等都可以通过超声波来实现。
为此,深入研究超声波的产生与传播规律、开发高性能超声波换能器及其收发电路,对于超声波检测技术的发展具有十分重要的现实意义。
本设计介绍了基于单片机控制的超声测距的原理:由STC89C52控制定时器产生一定频率脉冲,计算从发射到接收回波时间,从而得到实测距离,数据处理采用,显示距离,语音播报。
关键词:超声波,距离测量,语音播报,单片机ABSTRACTIn the air medium, ultrasonic range finder sensor because of its good performance, low price, convenient use, in the field of robot positioning system, automatic vehicle navigation, vehicle safety driving assist system, city traffic management and management of expressway monitoring system, as well as river, well and warehouse and material level detection used in. Because the ultrasonic wave propagation is not susceptible to interference, energy consumption slow, medium of communication in the longer distance, which are often used for ultrasonic distance measurement, such as the location and level measurement can be achieved by ultrasound. Therefore, in-depth study of ultrasonic generation and propagation, the development of high performance ultrasonic transducer and its transceiver circuit, the ultrasonic detection technology development has very important real sense. This article introduces the design of control based on single chip ultrasonic ranging principle: control by STC89C52 timer produces a certain frequency pulse, calculated from transmitting to receiving echo time, so as to obtain the measured distance, data processing using the temperature compensation, four digital tube display distance, voice broadcast.KEYWORDS: ultrasonic, range measurement, voice broadcast, singlechip目录第1章绪论 ...................................................................................................................................1.1 课题设计目的及意义...........................................................................................1.1.1设计的目的............................................................................................................1.1.2设计的意义............................................................................................................1.2 国内外研究动态...................................................................................................1.3 本课题研究的主要内容....................................................................................... 第2章总体方案 ..........................................................................................................................2.1 方案选择................................................................................................................2.2 超声波测距仪的设计思路 ..................................................................................2.2.1 超声波测距原理 .................................................................................................2.2.2 超声波测距原理框图........................................................................................2.3 使用元件选择 ....................................................................................................... 第3章系统的硬件结构设计....................................................................................................3.1 STC89C52单片机的功能及特点........................................................................3.2 单片机最小系统...................................................................................................3.3 语音播报................................................................................................................3.4 显示单元................................................................................................................ 第4章系统的软件设计.............................................................................................................4.1 主程序流程图 .......................................................................................................4.2 超声波发生子程序和超声波接收中断程序 .....................................................第5章超声波测距接收.............................................................................................................5.1 HC-SR04模块.......................................................................................................5.2 T40、R40超声波传感器简介.............................................................................5.2.1 超声波传感器的基本介绍...............................................................................5.2.2 超声波传感器的主要应用...............................................................................5.2.3 超声波传感器的工作原理...............................................................................5.3 超声波发射电路...................................................................................................5.4 超声波接收电路...................................................................................................5.5 超声波接收过程...................................................................................................5.6 接收数据处理 ....................................................................................................... 第6章总结...................................................................................................................................... 致谢............................................................................................................................................... 参考文献 .......................................................................................................................................... 附录1原理图................................................................................................................................. 附录2主要源程序........................................................................................................................ 诚信声明第1章绪论1.1 课题设计目的及意义1.1.1设计的目的随着科学技术的快速发展,超声波在测距中的应用越来越广。
基于AT89S52单片机超声波测距仪 论文

基于AT89S52单片机的超声波测距仪[摘要]本文根据时差法超声波测距的基本原理,主要介绍了以at89s52单片机为核心的超声波测距仪的硬件电路和软件。
本系统由at89s52单片机,超声波发射电路,超声波接收电路,温度补偿电路,键盘和显示电路组成。
实际使用证明该系统工作稳定、性能良好。
[关键词]超声波测距单片机温度补偿1、超声波测距原理频率高于20khz的声波称为超声波。
由于超声波易于定向发射,方向性好,对色彩、光照度不敏感,反射率高等特点,因此被广泛应用于无损探伤、距离测量、距离开关、汽车倒车防撞、智能机器人等领域。
超声波测距是通过不断检测超声波发射后遇见障碍物所反射的回波,从而测出发射和接收回波的时间差△t如图1-1所示,然后求出距离s(式1-1),式中c为超声波传播速度。
s=c*△t/2 (式1-1)超声波在空气中的常温传播速度是334m/s,但其传播速度c易受空气中温度影响。
本系统测距精度要求较高,通过温度补偿的方法对传播速度值加以校正。
已知现场环境温度为t时,可得超声波传播速度c(式1-2):c=331.5+0.607t (式1-2)声速c确定后,只要测得超声波往返的时间△t,即可得距离s。
这就是超声波测距仪的基本原理。
超声波测距系统原理框图如图1-2所示。
在本系统设计时,由于难以求购到收发一体的超声波传感器,采用了分立的超声波探头,在组装时,应使两传感器间距离尽量小,以削弱其带来的误差。
2、硬件电路本系统的硬件电路主要由数据传输处理与控制电路,超声波发射电路,超声波接收处理电路,键盘按键电路,温度补偿电路和数码显示电路构成。
2.1 超声波发射电路当键盘按键按下时,单片机at89s52执行发射超声波子程序,p3.4口输出一组40khz的脉冲群,一组为10个方波串,方波周期为25us。
经集成块cd4049的三个非门,产生约28v的驱动电压加在超声波发射探头t二端,足以驱动t发射信号。
2.2 超声波接收处理电路超声波接收处理电路由超声波接收探头r,二级集成运算放大电路和rc滤波电路,检波电路组成。
基于单片机的超声波测距仪的设计与实现毕业论文

基于单片机的超声波测距仪的设计与实现中文摘要本设计基于单片机AT89C52,利用超声波传感器HC-SR04、LCD显示屏及蜂鸣器等元件共同实现了带温度补偿功能可报警的超声波测距仪。
我们以AT89C52作为主控芯片,通过计算超声波往返时间从而测量与前方障碍物的距离,并在LCD显示。
单片机控制超声波的发射。
然后单片机进行处理运算,把测量距离与设定的报警距离值进行比较判断,当测量距离小于设定值时,AT89C52发出指令控制蜂鸣器报警,并且AT89C52控制各部件刷新各测量值。
在不同温度下,超声波的传播速度是有差别的,所以我们通过DS18B20测温单元进行温度补偿,减小因温度变化引起的测量误差,提高测量精度。
超声波测距仪可以实现4m以内的精确测距,经验证误差小于3mm。
关键词:超声波;测距仪;AT89C52;DS18B20;报警Design and Realization of ultrasonic range finder basedABSTRACTThe design objective is to design and implement microcontroller based ultrasonic range finder. The main use of AT89C52, HC-SR04 ultrasonic sensor alarm system complete ranging production. We AT89C52 as the main chip, by calculating the round-trip time ultrasound to measure the distance to obstacles in front of, and displayed in the LCD. SCM ultrasonic transmitter. Then the microcontroller for processing operation to measure the distance and set alarm values are compared to judge distance, when measured distance is less than the set value, AT89C52 issue commands to control the buzzer alarm, and control each member refreshAT89C52 measured values. Because at different temperatures, ultrasonic wave propagation velocity is a difference, so we DS18B20 temperature measurement by the temperature compensation unit, reducing errors due to temperature changes, and improve measurement accuracy. Good design can achieve precise range ultrasonic distance within 4m, proven error is less than 3mm.Keywords:Ultrasonic;Location;AT89C52;DS18B20;Alarm目录第一章前言 (1)1.1 课题背景及意义 (1)1.1.1超声波特性 (1)1.1.2超声波测距 (2)1.2 超声波模块基本介绍 (3)1.2.1 超声波的电器特性 (3)1.2.2 超声波的工作原理 (5)1.3主要研究内容和关键问题 (6)第二章方案总体设计 (7)2.1 超声波测距仪功能 (7)2.2设计要求 (8)2.3系统基本方案 (9)2.3.1方案比较 (9)2.3.2方案汇总 (11)第三章系统硬件设计 (13)3.1 单片机最小系统 (13)3.2 超声波测距模块 (13)3.3 显示模块 (15)3.4温度补偿电路 (15)3.5 蜂鸣报警电路 (16)第四章系统软件设计 (17)4.1 A T89C52程序流程图 (17)4.2 计算距离程序流程图 (19)4.3 报警电路程序流程图 (19)4.4 超声波回波接收程序流程图 (20)第五章系统的调试与测试 (21)5.1 安装 (21)5.2 系统的调试 (21)第六章总结 (23)参考文献 (24)致谢.............................................................................................................................. 错误!未定义书签。
基于52单片机的超声波测距系统设计

基于52单片机的超声波测距系统设计概述:本文介绍了一种基于52单片机的超声波测距系统设计。
该系统具有高精度、快速响应和稳定性等优点,可广泛应用于交通、测量、安防、智能家居等领域。
第一章介绍了测距系统的背景和意义,第二章介绍了超声波测距原理及其技术优势,第三章介绍了系统的硬件设计,包括传感器电路、电源电路、显示设备等,第四章介绍了系统的软件设计,包括程序设计、数据处理等,第五章进行了实验验证,并对系统进行了性能测试和分析,最后是总结与展望。
关键词:基于52单片机;超声波测距;硬件设计;软件设计;实验验证。
第一章前言随着科技的不断发展,人们对于测距技术的要求也越来越高。
测距系统的研究涵盖了物理学、电子学、计算机科学等多个学科领域,其应用场景也非常广泛,如交通、测量、安防、智能家居等。
超声波作为一种常用的测距技术,由于其高精度、快速响应和稳定性等优点,受到了广泛的关注和应用。
本文介绍了一种基于52单片机的超声波测距系统设计。
该系统采用了超声波传感器进行测量,实现了对目标物体的距离测量,并将测得的数据通过显示设备进行显示。
系统具有结构简单、功能齐全、测量精度高、响应速度快等优点,可广泛应用于各种场景。
第二章超声波测距原理及其技术优势超声波是一种频率高于人类听觉范围的声波。
正是因为其频率高,所以超声波传播时能够克服空气等介质的阻力,从而实现远距离传播,并且能够穿透不同密度、材质的物质层,不会被大气、水等介质吸收,因而得名。
在超声波测距中,通过发射一定频率的超声波,待其在目标物体反弹后返回并被接收探头接收后,根据声波传播速度和时间差计算出目标物体与传感器之间的距离,从而实现测距。
超声波测距技术具有以下优势:(1)高精度:超声波传达速度稳定,因此测量精度高;(2)非接触性:非接触式测量不会受到测量背景的干扰,通过超声波测距,物体距离可以在任何介质中进行测量;(3)快速响应:超声波传播速度很快,实现的响应速度比其他测距方法快;(4)广泛适用性:可以在空气、液体、固体等任何介质中进行测量,可以适用于多种领域,如测量、交通、安全等。
基于单片机的超声波测距系统毕业设计论文
基于单片机的超声波测距系统毕业设计论文届.别.学号毕业设计基于单片机的超声波测距系统姓名系别、专业导师姓名、职称完成时间目录摘要 (3)1、绪论 (4)1.1项目研究背景及意义 (4)1.2国内外发展状况 (5)2、总体设计方案及论证 (8)2.1 总体方案设计 (8)3、硬件实现及单元电路设计 (8)3.1 电路总体设计 (8)3.2电源电路设计 (9)3.3超声波测试模块 (9)3.3.1 超声波的特性 (10)3.3.2超声波换能器 (12)3.4超声波传感器原理 (13)3.5测距分析 (17)3.6 STC89C52单片机简介 (18)3.7单片机最小系统 (18)3.8时钟电路的设计 (19)3.9复位电路的设计 (20)3.10声光报警电路的设计 (20)3.11数码管显示模块 (21)4、软件设计 (21)4.1 主程序工作流程图 (21)总结 (24)参考文献 (24)附件1: 原理图 (25)附件2:源程序 (25)附件3:实物图 (35)摘要超声波测距系统是以STC89C52为主控芯片,该系统是有单片机最小系统、超声波探头、数码管显示、蜂鸣器报警模块、按键模块和电源部分组成。
超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。
当距离小于设置距离时,蜂鸣器和指示灯发出声光报警,当距离大于设置距离,停止报警。
报警距离可以通过按键设置,按下设置键,显示“A”时,可以通过设置键的加减键设置报警距离。
关键词:超声波测距仪、STC89C52单片机1、绪论1.1项目研究背景及意义随着科学技术的快速发展,超声波将在传感器中的应用越来越广。
在人类文明的历次产业革命中,传感技术一直扮演着先行官的重要角色,它是贯穿各个技术和应用领域的关键技术,在人们可以想象的所有领域中,它几乎无所不在。
传感器是世界各国发展最快的产业之一,在各国有关研究、生产、应用部门的共同努力下,传感器技术得到了飞速的发展和进步。
52单片机超声波测距论文最终版要点
//
//8 // // // //
先读忙 端口定义为写指令 端口写入使能 端口输入总使能 数据端送指令 端口输入总禁止
先读忙 端口写数据使能 端口写入使能 端口总输入使能 数据端口送数据 端口总输入禁止
稍微延时,等待 LCD进入 位 2 行 5*8
显示开 / 关,光标开闪烁开 清显示 文字不动,光标右移 光标归位
Output=0;
Delayus(5);
//
EX0=1;
定义数据端口
发射控制端口 定义和 LCD的连接端口,写 读写端口 使能端口 读忙端口
}
// 距离转换函数 void Measure_Distance(void) {
long int l; long int h,y;
l=TL0; h=TH0;
y=(h<<8)+l;
interrupt 0
TR0=0; EX0=0; //flag=1; //Output=0;
}
// 定时器初始化函数
void Init_MCU(void)
{
TMOD=0x01; // 定时器 0 初始化 , 设置为 16 位自动重装模式
TL0=0x00;
TH0=0x00; //1ms 定时
ET0=1;
// 写指令函数
void Write_Comm(uint lcdcomm) {
Read_Busy( ); Lcd_RS = 0; Lcd_RW = 0; Lcd_E = 1; Lcd_Port=lcdcomm; Lcd_E = 0;
// // // //
// //
}
// 写数据函数
void Write_Chr(uint lcddata)
毕业论文-基于STC89C52单片机的超声波测距报警系统设计
基于STC89C52单片机的超声波测距报警系统设计目录摘要 ................................................................................................................ 错误!未定义书签。
1 绪论 (3)1.1 项目研究背景及意义 (3)2 总体设计方案及论证 (3)2.1 总体方案设计 (3)3 硬件实现及单元电路设计 (4)3.1 主控制模块 (4)3.2 电源设计 (5)3.3 超声波测试模块 (5)3.3.1 超声波的特性 (6)3.3.2 超声波换能器 (7)3.4 超声波传感器原理 (8)3.5 测距分析 (12)3.6 时钟电路的设计 (13)3.7 复位电路的设计 (14)3.8 声音报警电路的设计 (14)3.9 显示模块 (15)4 软件设计 (15)4.1 主程序工作流程图 (15)5 总结 (18)6 参考文献 (19)附录 (20)附件1:原理图 (21)附件2:程序 (22)附件3:元件清单 (31)附件4:实物图 (32)基于STC89C52单片机的超声波测距报警系统设计[摘要]STC89C52是STC系列单片机里应用比较广泛的一款,在自动控制领域里享有很高的价值,以其易用性和多功能性受到了广大电子设计爱好者的好评。
本次设计主要是利用STC89C52单片机、超声波传感器完成测距报警系统的制作,以STC89C52为主控芯片,利用超声波对距离的检测,将前方物体的距离探测出来,然后单片机处理运算,与设定的报警距离值进行比较判断,当测得距离小于设定值时,STC89C52发出指令控制蜂鸣器报警。
关键词:超声波传感器 STC89C52Design of ultrasonic distance measurement and alarm system based on single chip microcomputer[Abstract] STC is one of the most widely used STC89C52 series microcontroller, in the field of automatic control has a high value, its ease of use and multi-function by the majority of electronic design enthusiasts. This design is mainly to use STC89C52 microcontroller, ultrasonic sensor range alarm system of production, to STC89C52 as the main control chip, using ultrasonic wave to detect the distance, the distance to the object in front detected, then SCM processing, and set alarm distance values are compared and judged, when the measured distance is less than the set value of STC89C52 issued a directive control buzzer alarm.Key words: ultrasonic sensor STC89C521 绪论1.1 项目研究背景及意义由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。
单片机的超声波传感器测距仪论文(完整版).
目录1 绪论1.1 选题背景及目的············································································1.2 超声波介绍及其应用领域······························································1.3 本设计的主要研究内容 ·································································1.3.1 超声波测距的原理 ·····································································1.3.2 两种测距方案的选择 ··································································2 AT89C51单片机简介 ··································································2.1 单片机基础知识············································································2.1.1 单片机的基本工作原理 ·······························································2.2 单片机的分类及发展·····································································2.3 单片机AT89C51的特性 ·································································3 超声波传感器 ························································································3.1 超声波传感器的原理及特性 ·················································3.1.1 超声波传感器的原理 ··································································3.1.2 超声波传感器的特性 ··································································3.2 超声波传感器的检测方式······························································3.3 超声波传感器系统的构成······························································3.4 超声波传感器系统主要参数的确定················································3.4.1 测距仪的工作频率 ·····································································3.4.2 声速 ·······················································································3.4.3 发射脉冲宽度 ···········································································3.4.4 测量盲区 ·················································································4 超声波测距硬件电路设计 ···························································4.1 超声波测距系统电路总体设计方案 ········································4.2 超声波测距系统电路各部分模块的设计·········································4.2.1 超声波发射电路 ········································································4.2.2 超声波接收电路 ········································································4.2.3 温度补偿电路 ···········································································4.2.4 显示模块 ·················································································4.2.5 复位电路 ·················································································4.2.6 时钟电路 ·················································································4.2.7 最小系统电源 ···········································································5 系统的误差分析 ·······································································5.1 声速引起的误差 ································································5.2 单片机时间分辨率的影响 ····················································6 超声波测距系统软件设计 ···························································7 系统的分析 ·············································································7.1 超声波测距系统设计的结论与展望·······································7.2误差产生原因的系统改进方案··············································8 心得 ······················································································参考文献 ···················································································1 绪论1.1 选题背景及目的随着社会的发展,人们对距离或长度测量的要求越来越高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超声波测距摘要:本作品采用AT89S52作为主控制器,包括LCD液晶显示模块、超声波测距模块,构成了一个基于单片机控制的超声波测距。
系统框图如图1所示硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路等几部分。
单片机采用AT89S52,系统晶振采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,P3.2端口监测超声波接收电路输出的返回信号。
显示电路采用简单实用的LCD1602液晶显示,输出端口为单片机的P2口,位码输出端口分别为单片机的P3.5、P3.6、P3.7口。
1.1系统整体方案的设计由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。
超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。
目前在近距离测量方面常用的是压电式超声波换能器。
根据设计要求并综合各方面因素,本文采用AT89S52单片机作为控制器,用LCD实现数字动态显示,采用555定时器构成振荡电路。
1.1 51系列单片机的功能特点5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的工/O端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。
特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。
该系列单片机引脚与封装如图2-1所示。
52系列单片机提供以下功能:4 kB存储器;256 BRAM;32条工/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。
空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。
掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。
5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。
充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。
1.3系统整体方案的论证超声波测距的原理是利用超声波的发射和接收,根据超声波传播的时间来计算出传播距离。
实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收,直接接收波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。
此次设计采用反射波方式。
测距仪的分辨率取决于对超声波传感器的选择。
超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。
由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。
2.1 超声波测距单片机系统超声波测距单片机系统主要由:AT89C51单片机、晶振、复位电路、电源滤波部份构成。
如图3-2。
图3-2:超声波测距单片机系统2.2 超声波发射、接受电路超声波发射如图3-3,接收电路如图3-4。
超声波发射电路由电阻74ALO4、555电路及超声波发送头T40构成接收电路。
由555发射出波形,再由555外围的电路经过滤波、调整,形成好看无杂波的波形,再经过74AL04反向驱动放大,最后由超声波发射探头发射出去。
接收电路由一级放大100倍,低通滤波,高通滤波,二级放大100倍,经过比较器LM393转换为高低电平,触发三极管,启动中断计时。
图3-3:超声波测距发送单元图3-4:超声波测距接收单元由于反射回来的超声波信号非常微弱,所以接收电路需要将其进行放大。
接收电路如图3-4所示。
接收到的信号加TL084的两级放大器上进行放大。
每级放大器的放大倍数为100倍。
放大的信号经过高低通两段滤波,使波形该接收电路结构简单,性能较好,制作难度小。
2.3 显示电路本系统采用三位一体LCD显示所测距离值,如图3-6。
显示电路采用简单实用的LCD1602液晶显示,输出端口为单片机的P2口,位码输出端口分别为单片机的P3.5、P3.6、P3.7口。
图3-5:显示单元3.1主程序设计超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显示子程序组成。
超声波测距的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言编程。
主程序首先是对系统环境初始化,设定时器0为计数,设定时器1定时。
置位总中断允许位EA。
进行程序主程序后,进行定时测距判断,当测距标志位ec=1时,测量一次,程序设计中,超声波测距频度是4-5次/秒。
测距间隔中,整个程序主要进行循环显示测量结果。
当调用超声波测距子程序后,首先由单片机产生4个频率为38.46kHz超声波脉冲,加载的超声波发送头上。
超声波头发送完送超声波后,立即启动内部计时器T0进行计时,为了避免超声波从发射头直接传送到接收头引起的直射波触发,这时,单片机需要延时约1.5 -2ms时间(这也就是超声波测距仪会有一个最小可测距离的原因,称之为盲区值)后,才启动对单片机P3.2脚的电平判断程序。
当检测到P3.2脚的电平由高转为低电平时,立即停止T0计时。
由于采用单片机采用的是12 MHz的晶振,计时器每计一个数就是1μs,当超声波测距子程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(2)计算,即可得被测物体与测距仪之间的距离。
设计时取15℃时的声速为340 m/s则有:d=(c×t)/2=172×T0/10000cm 其中,T0为计数器T0的计算值。
测出距离后结果将以十进制BCD码方式送往LCD显示约0.5s,然后再发超声波脉冲重复测量过程3.2程序流程图:本次实训在设计中,力求能达到最基础的功能,系统性能的稳定,在此条件下在加强其测距的距离。
3.3程序清单:Main.c:#include <reg52.h>#include "Delay.h"#include <intrins.h>#define uchar unsigned char#define uint unsigned int//#define VELOCITY_30C 3495#define Lcd_Port P2 //定义数据端口enum state_all{n1,n2,n3} state;uchar aa[10]={'0','1','2','3','4','5','6','7','8','9'};long int distance=0;sbit Output=P1^0; //发射控制端口sbit Lcd_RS=P3^5; //定义和LCD的连接端口,写数据指令端口 2.6sbit Lcd_RW=P3^6; //读写端口2.5sbit Lcd_E=P3^7; //使能端口2.4sbit Lcd_Busy = P2^7; //读忙端口//bit flag;//发射超声波void Trig_SuperSonic(void){Output=1;TR0=1;Delayus (45);Output=0;Delayus(5); //EX0=1;}//距离转换函数void Measure_Distance(void){long int l;long int h,y;l=TL0;h=TH0;y=(h<<8)+l;TL0=0x00;TH0=0x00;Delayus(20);//distance=(int)(y*17/100); //mmdistance=(int)(y*340*80/200000); //mm 310 y*340*100/200000测80cm,200cm校准}//外部中断void Ext0(void) interrupt 0{TR0=0;EX0=0;//flag=1;//Output=0;}//定时器初始化函数void Init_MCU(void){TMOD=0x01; //定时器0初始化,设置为16位自动重装模式TL0=0x00;TH0=0x00; //1ms定时ET0=1; //开定时器0EA =1; //总中断使能//TF0=1;IT0=0; //}//初始化清零void Init_Parameter(void){TL0=0x00;TH0=0x00;EX0=0;}// 读忙信号判断void Read_Busy(void){uchar k=255;Lcd_Port=0xff;Lcd_RS=0;Lcd_RW=1;Lcd_E=1;while((k--)&&(Lcd_Busy));Lcd_E = 0;}// 写指令函数void Write_Comm(uint lcdcomm)Read_Busy( ); //先读忙Lcd_RS = 0; //端口定义为写指令Lcd_RW = 0; //端口写入使能Lcd_E = 1; //端口输入总使能Lcd_Port=lcdcomm; //数据端送指令Lcd_E = 0; //端口输入总禁止}//写数据函数void Write_Chr(uint lcddata){Read_Busy( ); //先读忙Lcd_RS=1; //端口写数据使能Lcd_RW=0; //端口写入使能Lcd_E=1; //端口总输入使能Lcd_Port=lcddata; //数据端口送数据Lcd_E=0; //端口总输入禁止}//初始化LCDvoid Init_LCD(void){Delayms(2); //稍微延时,等待LCD进入工作状态Write_Comm(0x38); //8位2行5*8Write_Comm(0x0c); //显示开/关,光标开闪烁开 Write_Comm(0x01); //清显示Write_Comm(0x06); //文字不动,光标右移Write_Comm(0x02); //光标归位void Timer0 (void) interrupt 1 using 1{TR0=0; //EX0=0; ////set=1;TH0=0X00;TL0=0X00;}void main(void){Delayms(10);Init_MCU();//定时器初始化Init_LCD();//lcd初始化distance=0;Write_Comm(0x80); //确定显示位置,第1行第3列Write_Chr(aa[distance/1000]); // mWrite_Chr('.');Write_Chr(aa[distance/100%10]); //dmWrite_Chr(aa[distance%100/10]); //cmWrite_Chr(aa[distance%10]); //mmWrite_Chr('m');state=n1;while(1){Write_Comm(0x80); //确定显示位置,第1行第3列Write_Chr('0');Write_Chr(aa[distance/1000]);Write_Chr('.');Write_Chr(aa[distance/100%10]);Write_Chr(aa[distance%100/10]);Write_Chr(aa[distance%10]);Write_Chr('m');Delayms(100); //LCD刷新时间 100 90switch (state){case n1: //等待状态Init_Parameter(); //清零state=n2;break;case n2:Trig_SuperSonic(); //发射超声波state=n3;break;case n3:Delayms(10);Measure_Distance(); //有接收到,就显示出距离,没有就显示0state=n1;Delayms(200);break;}}}延时程序#include "reg52.h"#define uchar unsigned char //1ms延时函数,void Delayms(uchar ms){uchar i;while(ms--!=0)for(i=0;i<125;i++);}//1us延时函数void Delayus(uchar us){while(us--!=0);}。