基于 STC89C51单片机超声波测距系统的设计
基于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 超声波传感器、蜂鸣器
-3-
3.1
S 1 C V
R14
G
1
N
C
1
D
C
0
C
C
K 1
3
2
0
J
u
1
F
0.1uF
0.1uF
主控制模块
1
2
3
4
1
Y
2
1
M
V
蜂 鸣 器 报 警 模 块
C
超声波传感器 模块
C
主控制最小系统电路如图 2 所示。
P15 P14 P13 P12 P11 P10
P17
P16
P37
P36
P35
基于89C51单片机小车超声波测距毕业设计打印版
摘要89C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。
本系统以设计题目的要求为目的,采用89C51单片机为控制核心,利用超声波检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。
整个系统的电路结构简单,可靠性能高。
采用的技术主要有:(1)通过编程来控制小车的速度;(2)传感器的有效应用;(3)新型显示芯片的采用;关键词89C51单片机、光电检测器、PWM调速、电动小车Design and create an intelligence electricity motive small carAbstract89C51 is a 8 bit single chip computer.Its easily useing and multi-function suffer large users. This article introduce the CCUT graduation design with the 89C51 single chip copmuter.This design combines with scientific research object. This system regard the request of the topic, adopting 89C51 for controling core,super sonic sensor for test the hinder.It can run in a high and a low speed or stop automatically.It also can record the time ,distance and the speed or searching light and mark automatically The electric circuit construction of whole system is simple, the function is dependable. Experiment test result satisfy the request, this text emphasizes introduced the hardware system designs and the result analyse.The adoption of technique as:(1)Reduce the speed by program the engine;(2)efficient application of the sensor;(3)The adoption of the new display chip.Keywords89C51 single chip computer、light electricity detector、PWM speed adjusting目录1引言 (1)2系统的总体设计方案 (2)2.1直流调速系统的设计 (2)2.2小车检测系统的设计 (3)2.2.1行车起始、终点及光线检测 (3)2.2.2行车距离检测 (6)图2.4 行车距离检测电路 (6)2.3显示电路 (7)2.4系统原理图 (7)3 硬件设计 (8)3.1单片机89C51硬件结构 (8)3.2最小应用系统设计 (10)3.3前向通道设计 (12)3.3.1传感器的选择 (12)3.3.2单片机测距原理 (12)3.3.3超声波发射电路 (13)3.3.4 超声波检测接收电路 (13)3.3.5超声波测距仪的算法设计 (14)3.4后向通道设计 (14)3.4.1脉宽调制原理: (16)3.4.2逻辑延时环节: (17)3.4.3 电源的设计 (17)3.5显示电路设计 (17)4 软件设计 (19)4.1主程序设计 (20)4.2显示子程序设计 (23)4.3避障子程序设计 (24)4.4软件抗干扰技术 (25)4.4.1数字滤波技术: (25)4.4.2开关量的软件抗干扰技术: (25)4.4.3指令冗余技术: (26)4.4.4软件陷阱技术: (26)4.5“看门狗”技术 (27)4.6可编程逻辑器件 (28)5结论 (29)致谢 (30)参考文献 (31)附录A 程序清单 (32)附录B 硬件原理图 (40)1引言随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
基于89c51的超声波测距单片机课设
基于89c51的超声波测距单片机课设一、引言本文将探讨基于89c51的超声波测距单片机课设的相关内容。
通过该课设,我们可以学习到单片机的基本原理和应用,以及超声波测距技术的实现原理和方法。
二、超声波测距原理超声波测距是一种通过发送超声波脉冲并测量其返回时间来计算距离的技术。
基于89c51的超声波测距单片机,可以通过以下步骤实现测距:1.初始化超声波模块和显示屏模块。
2.发送超声波脉冲。
3.接收超声波返回信号,并计算返回时间。
4.根据返回时间计算距离。
5.在显示屏上显示测距结果。
三、硬件设计1. 单片机选择我们选择使用89c51单片机作为控制芯片,因为它具有丰富的外设接口和较高的运算性能,适合用于控制超声波模块和显示屏。
2. 超声波模块超声波模块包括超声波发射器和接收器。
发射器用于发送超声波脉冲,接收器用于接收超声波的返回信号。
选择合适的超声波模块可以确保测距的准确性和稳定性。
3. 显示屏模块显示屏模块用于显示测距结果。
可以选择液晶显示屏或数码管等适合的显示模块。
四、软件设计1. 系统初始化在系统初始化阶段,需要对单片机的外设进行初始化设置,包括超声波模块和显示屏模块。
2. 超声波模块驱动程序超声波模块驱动程序用于控制超声波的发送和接收。
通过发送脉冲并计算返回时间,可以得到距离的测量结果。
3. 显示程序设计显示程序设计用于将测距结果显示在显示屏上。
可以通过数码管、液晶显示屏等方式实现。
五、实验步骤以下是基于89c51的超声波测距单片机课设的实验步骤:1.硬件搭建:连接89c51单片机、超声波模块和显示屏模块。
2.编写初始化程序:对单片机的外设进行初始化设置。
3.编写超声波模块驱动程序:控制超声波的发送和接收。
4.编写显示程序:将测距结果显示在显示屏上。
5.调试程序:通过实验验证程序的正确性和稳定性。
6.测距实验:将物体放置在不同距离上,进行测距实验,并记录测量结果。
7.分析实验结果:根据实验结果对课设进行评估和改进。
基于STC89C52单片机的超声波测距系统设计
基于STC89C52单片机的超声波测距系统设计吴恩仪,陈凌君(福建农林大学,福建 福州 350000)摘 要:近年来,随着科技的不断发展,出现了很多新技术,在测距方面,有红外测距、超声波测距、激光测距等技术。
笔者以单片机作为处理器,以超声波接收模块作为距离传感器,设计了一个基于超声波的测距系统,可以实时显示所测的距离,并进行语音播报。
该系统结构简单,体积较小,便于使用。
文章从引言、硬件设计、软件设计等方面详细地介绍了该测距系统,说明了超声波测距的广阔前景。
关键词:超声波测距;语音播报;单片机中图分类号:TM383.6 文献标志码:A 文章编号:1672-3872(2020)06-0124-01——————————————作者简介: 吴恩仪(1999—),女,福建福州人,本科,研究方向:车辆工程。
在日常生活中,常有车辆倒车不当发生事故的情况。
超声波测距不易受环境的干扰,具有体积小、处理信息简单可靠、且易于集成的优点,为解决上述问题提供了一个良好的解决方案。
基于以上理念,文章设计的超声波测距系统是在一定的量程范围内,出现障碍物时,通过超声波模块测量出距离,同时显示在LCD 屏幕上,由语音模块播报距离并播报是否在量程内,在超出量程范围时,蜂鸣器和LED 灯也会进行声光报警,基本满足使用所需要求[1]。
1 系统整体构建该系统由超声波模块、按键模块、语音模块、LCD1602液晶显示模块、声光报警模块以及STC89C52单片机、电源、复位电路、晶振电路等组成的单片机最小系统等构成。
2 系统硬件设计2.1 单片机最小系统单片机最小系统由电源、STC89C52单片机、复位电路、晶振电路构成。
该单片机系统的工作电压为4.5~5.5V,所以通常使用USB 电源线连接电脑或者使用移动电源给系统供电。
在STC89C52单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接晶振,就构成了自激振荡器并在单片机内部产生时钟脉冲信号。
基于STC89C51单片机超声波测距系统的设计
基于STC89C51单片机超声波测距系统的设计
张波;王朋亮
【期刊名称】《机床与液压》
【年(卷),期】2010(38)18
【摘要】介绍超声波测距原理和基于STC89C51单片机的超声波测距系统的组成、硬件结构和软件构成.从实验情况来看,该系统可靠性好、精度高.在设计中兼顾系统性能和器件成本的关系,降低整套系统的成本.
【总页数】3页(P56-58)
【作者】张波;王朋亮
【作者单位】大连工业大学机械工程与自动化学院,辽宁大连,116034;大连工业大
学机械工程与自动化学院,辽宁大连,116034
【正文语种】中文
【中图分类】TP216+.1
【相关文献】
1.基于STC89C51单片机的超声波测距系统设计与实现 [J], 郭蓉;廖娜;郭丽
2.基于STC89C51单片机的房间自动除湿系统设计 [J], 孙威;魏立明
3.基于STC89C51单片机的房间自动除湿系统设计 [J], 孙威;魏立明
4.基于STC89C51单片机的房间自动除湿系统设计 [J], 孙威;魏立明
5.基于STC89C51单片机的乡村家用智能台灯系统设计 [J], 李玲;郭泓序;田真子因版权原因,仅展示原文概要,查看原文内容请购买。
基于51单片机超声波测距仪
基于51单片机超声波测距仪基于51单片机的超声波测距仪设计摘要利用超声波进行测距有许多优点比如不受光强度、色彩和电磁场等外界因素的影响,而且超声波传感器的价位较低、结构也较为简单,超声波以声速传播,方便收发与计算。
在汽车倒车雷达、移动机器人的避障、特别是测量距离等许多方面都已有了非常普遍的应用。
本次毕业设计的超声波测距仪是在STC89C51单片机的基础上设计的,在分析和了解了超声波的一些优点和特性后,又查看了利用超声波测距的基本原理。
最后决定使用51单片机系统和超声波传感器共同组成。
设计的超声波测距仪的硬件部分主要包括电源及复位模块、单片机与超声波模块组成的超声波发射模块、超声波接收模块、LED数码显示模块和扩展报警模块。
软件部分主要包括单片机主程序、根据超声波发射与接收计算距离程序、LED距离显示程序、按键控制程序和蜂鸣器报警程序,这样安排使得系统具有模块化的特点。
系统容易进行控制,具有可靠地的性能,具有较高的测量精度,最重要的是能对距离进行实时测量。
关键词:单片机,测距仪,超声波,实时测量Design of Ultrasonic Distance Meter Based on 51 MCMABSTRACTUsing 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目录摘要 (I)目录 (III)第1章绪论 (1)1.1 研究背景 (1)1.2 研究的主要意义 (1)第2章系统电路设计 (3)2.1 系统结构设计 (3)2.2 电路总体设计方案 (3)2.2.1 发射与接收电路设计方案 (3)2.2.2 显示电路设计方案 (5)2.2.3 报警电路设计方案 (6)2.2.4 系统复位电路设计 (6)第3章系统硬件设计 (8)3.1 单片机概述 (8)3.1.1 STC89C51主要性能 (8)3.1.2 STC89C51外部结构及特性 (8)3.1.3 STC89C51内部组成 (11)3.2 超声波测距模块 (12)3.2.1 超声波传感器介绍 (12)3.2.2HC-SR04超声波测距芯片的性能特点 (12)3.2.3 超声波时序图 (15)3.3 驱动显示电路及报警电路 (15)3.3.1LED数码管显示电路 (16)3.3.2 蜂鸣器报警电路 (17)3.4HC-RS04超声波测距原理 (17)3.5 按键设置电路 (18)第4章系统软件设计 (21)4.1 系统主程序 (21)4.2 显示距离子程序 (22)4.3 报警子程序 (22)4.4 按键子程序 (23)第5章系统仿真 (25)5.1 系统仿真环境——Proteus (25)5.2 仿真 (25)5.3 误差及特性分析 (26)结论 (28)谢辞 (29)参考文献 (30)第1章绪论1.1 研究背景超声波测距法是通过超声波测量从已知位置到被测物体表面的距离的利用超声波的方法。
基于51单片机的超声波测距系统的毕业设计
基于51单片机的超声波测距系统的毕业设计超声波测距系统是一种常见的非接触式测距技术,通过发送超声波信号并测量信号的回波时间来计算距离。
本文将介绍基于51单片机的超声波测距系统的毕业设计。
首先,我们需要明确设计的目标。
本设计旨在通过51单片机实现一个精确、稳定的超声波测距系统。
具体而言,我们需要实现以下功能:1.发送超声波信号:通过51单片机的IO口控制超声波发射器,发送一定频率和波形的超声波信号。
2.接收回波信号:通过51单片机的IO口连接超声波接收器,接收并放大返回的超声波信号。
3.信号处理:根据回波信号的时间延迟计算出距离,并在显示器上显示出来。
4.稳定性和精确性:设计系统时需考虑测量过程中误差的影响,并通过合适的算法和校准方法提高系统的稳定性和精确性。
接下来,我们需要选择合适的硬件和软件配合51单片机实现上述功能。
硬件方面:1.51单片机:选择一款性能稳定、易于编程的51单片机,如STC89C522.超声波模块:选择一款合适的超声波传感器模块,常见的有HC-SR04、JSN-SR04T等。
模块一般包括发射器和接收器,具有较好的测距性能。
3.显示设备:选择合适的显示设备,如7段LED数码管或LCD显示屏,用于显示测距结果。
软件方面:1.C语言编程:使用C语言编写51单片机的程序,实现超声波测距系统的各项功能。
2.串口通信:通过串口与上位机进行通信,可以对系统进行监控和远程控制。
3.算法设计:选择合适的算法计算超声波回波时间延迟,并根据时间延迟计算距离值。
在设计过程中,我们需要进行以下步骤:1.硬件连接:按照超声波模块的说明书,将模块的发射器和接收器通过杜邦线与51单片机的IO口连接。
2.软件编程:使用C语言编写51单片机的程序,实现超声波模块的控制、信号接收和处理、距离计算等功能。
3.系统测试:进行系统的功能测试和性能测试,验证系统的可靠性和准确性,同时调试系统中出现的问题。
4.系统优化:根据测试结果,对系统进行优化,提高系统的稳定性和精确性。
基于89c51的超声波测距单片机课设
基于89c51的超声波测距单片机课设
超声波测距技术是一种常见的测距方法,它利用超声波在空气中传播的速度和时间差来计算距离。
在单片机课设中,我们可以利用89c51单片机和超声波传感器来实现一个简单的超声波测距系统。
我们需要了解超声波测距的原理。
超声波传感器会发出一定频率的超声波信号,当这些信号遇到障碍物时,会被反射回来。
通过测量超声波信号的发射和接收时间差,我们可以计算出障碍物与传感器之间的距离。
接下来,我们需要准备一些材料和工具。
除了89c51单片机和超声波传感器外,还需要一块面包板、杜邦线、电容、电阻等元件。
我们可以根据电路图将这些元件连接起来,构建一个简单的超声波测距电路。
在编写程序时,我们需要先初始化串口和定时器,然后设置超声波传感器的引脚和中断。
当传感器发出超声波信号时,我们需要启动定时器并等待接收到反射信号。
当接收到反射信号后,我们可以通过计算时间差来计算距离,并将距离值通过串口输出。
我们需要进行实验验证。
将超声波传感器放置在一定距离内的障碍物前面,启动程序并观察串口输出的距离值。
通过比较实际距离和测量距离,我们可以验证超声波测距系统的准确性和稳定性。
基于89c51的超声波测距单片机课设是一项有趣的实践项目,它可以帮助我们深入了解超声波测距技术和单片机编程。
通过不断的实验和改进,我们可以进一步提高系统的性能和可靠性,为未来的科研和工程应用打下坚实的基础。
基于单片机STC89C51设计的超声波测距仪
2010NO.8China New Technologies and Products高新技术基于单片机STC89C51设计的超声波测距仪刘典文徐志坚李志强胡锐毛顺京(衡阳师范学院南岳学院,湖南衡阳421008)摘要:介绍了一种基于单片机STC89C51的超声波测距系统,重点阐述该系统的硬件电路设计和软件设计,并利用温度检测电路有效消除了环境温度变化对传播速度的影响;在数据处理方面,利用最小二乘法得出实际值与测量值之间的补偿公式,从而使系统的测量误差进一步减小;在盲区消隐方面,通过在软件上采用延迟接收技术,有效消除了串绕信号,进一步提高了检测的精度及灵敏度。
关键词:超声波;单片机;测距引言如今在工业,医学等许多方面都对超声波应用的要求越来越高,由于超声波测距与被测物体无直接接触,能够清晰稳定地显示测量结果,广泛应用于液位和物位的非接触式测量以及汽车倒车时的报警。
因此,设计好的超声波测距仪就显得非常重要了。
本设计采用以STC89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。
整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。
各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。
1超声波测距原理超声波是高于听觉频率阈值的机械波,超声波具有直线传播特性,它的频率越高,反射能力越强,而绕射能力越弱,表现出更强的方向性,利用超声波的这种特性采用时间差值检测法进行距离的测量,发射器发出的超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。
由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可认为声速是基本不变的。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
2超声波测距仪硬件电路设计单片机控制超声波发射器发出40kHZ的超声波信号;超声波接收器将接收到的超声波信号,用接收电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,并将数据送至LCD显示。
基于51单片机超声波测距仪设计
个性化实验基于51单片机超声波测距器设计摘要传统地测距方法存在不可克服地缺陷.例如,液面测量就是一种距离测量,传统地电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极由于长期浸泡于水中或其他液体中,利用超声波测量距离就可以解决这些问题,因此超声波测量距离技术在工业控制、勘探测量、机器人定位和安全防范等领域得到了广泛地应用.本设计以STC89C52单片机为核心控制定时器产生超声波脉冲并计时,计算超声波自发射至接收地往返时间,从而得到实测距离.并且在数据处理中采用了温度补偿对声速进行调整,用1602液晶显示速度和测量距离.整个硬件电路有超声波电路、电源电路、显示电路等组成.个探头地信号经单片机综合分析处理,实现超声波测距器地功能.在此基础上设计了系统地总体方案,最后通过硬件和软件实现了测距功能.此系统具有易控制、工作可靠、测距准确度高、可读性强和流程清晰等优点,即过系统扩展和升级,可以有效地解决汽车倒车,建筑施工工地以及一些工业现场地位置监控.关键词:STC89C52;超声波;温度补偿;测距目录绪论 (3)设计目地和意义 (3)设计任务和要求 (3)系统方案设计 (4)设计原理 (4)设计框图 (5)主要元器件介绍 (5)STC89C52 (5)LCD1602液晶显示器 (6)HC-SR04超声波模块 (8)DS18B20温度传感器 (9)系统硬件结构设计 (10)单片机电路 (10)LCD显示电路 (11)温度补偿电路 (11)电源电路 (12)系统软件设计 (12)主程序流程 (12)测距流程图 (13)测试 (14)测试结果 (14)误差分析 (15)总结 (15)附录 (17)整体电路图 (17)PCB布线图 (18)实物图 ......................................................................................................错误!未定义书签。
基于51单片机的超声波测距系统设计【毕业作品】
基于51单片机的超声波测距系统设计摘要本次系统的设计主要包括两部分,即硬件电路和软件程序。
硬件电路主要包括单片机电路、发射电路、接收电路、显示电路和电源电路等。
本次设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路。
整个电路采用模块化设计,由信号发射和接收、供电、显示等模块组成。
发射探头的信号经放大和检波后发射出去,单片机的计时器开始计时,超声波被发射后按原路返回,信号被接受电路接受,然后被单片机接收,计数器停止工作并得到时间。
软件程序主要由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。
它控制单片机进行数据发送与接收,实现数据正确显示在数码管上。
另外程序控制单片机消除各探头对发射和接收超声波的影响。
相关部分附有硬件电路图、程序流程图。
实际的环境对超声波有很大的影响,如外部电磁干扰电源干扰信道干扰等等,空气的温度对超声波的速度影响也很大,此外供电电源也会使测量差生很大的误差。
由于知识面有限,作品还有许多可以改进的地方,希望在日后的学习中能将作品完善的更好。
关键词:AT89C51;超声波;测距51 MCU-based Ultrasonic Ranging System DesignAbstractThe system's design includes two parts, namely the hardware circuit and software program.The hardware circuit includes a microcontroller circuit, the transmitting circuit, the receiving circuit, display circuit and the power supply circuit. The design uses AT89C51 microcontroller as the core of low-cost, high-precision, miniaturization of digital hardware circuit of the ultrasonic range finder. The entire circuit is modular in design, by the signal transmitter and receiver, power supply, display modules. Transmitted probe signal is amplified and detector were launched out single-chip timer is started, the ultrasonic was launched after the original way back, a signal is accepted by a receiving circuit, then MCU receives the counter stop working and time. Software program from the main program, preset subroutine emission subroutine, receive subroutine, subroutines modules. It microcontroller to send and receive data, data display correctly in the digital control. In addition, program-controlled microcontroller to eliminate the impact of the probe for transmitting and receiving ultrasonic waves. With relevant parts of the hardware circuit diagram, process flow chart.Actual environment has a great influence on the ultrasonic waves, such as an external electromagnetic interference power interfering channel interference, etc., the temperature of the air is also a great influence on the speed of the ultrasonic addition, the power supply to the measured differential raw large errors. Due to the limited knowledge, works there are many areas for improvement, can work better in the future study.Keywords: AT89C51;Ultrasonic;Ranging目录1.绪论 (1)1.1课题背景及重要意义 (1)1.2 研究内容 (2)1.3主要任务及目标: (2)2.整体设计思路 (3)2.1硬件整体设计 (3)2.2软件整体设计思路 (5)3.硬件设计 (5)3.1对超声波的认识 (5)3.2器材的选择 (6)3.3.单片机最小系统 (9)3.4超声波发射电路 (10)3.5超声波接收电路设计 (11)3.6显示电路设计 (13)4.软件设计 (14)4.1主程序设计 (14)4.2中断处理程序 (17)4.3计算及显示模块设计 (19)4.4作品展示: (21)5.设计总结 (21)参考文献 (22)谢辞 (24)系统整体电路图 (25)程序代码 (26)1.绪论1.1课题背景及重要意义近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。
基于89c51单片机的超声波测距
基于单片机的超声波测距仪设计第一章绪论 (1)1.1 选题背景及目的 (1)1.2 超声波介绍及其应用领域 (1)1.3 本设计的主要研究内容 (2)1.3.1 超声波测距的原理 (2)1.3.2 设计的主要内容 (3)第二章超声波测距系统 (4)2.2 单片机AT89C51的特性 (5)2.3 超声波探头介绍 (6)第三章超声波测距硬件电路设计 (8)3.1超声波测距系统电路总体设计方案 (8)3.2 超声波测距系统电路各部分模块的设计 (9)3.2.1 超声波发射接收电路的设计 (9)3.2.2 温度补偿电路的设计 (11)3.2.3 显示模块的设计 (12)第四章系统软件设计 (14)4.1 显示子程序 (15)4.2 外部中断子程序 (16)4.3 测量温度子程序 (17)第五章基于89c51单片机的完整程序第一章绪论1.1 选题背景及目的随着社会的发展,人们对距离或长度测量的要求越来越高。
超声波测距由于其能进行非接触测量和相对较高的精度,越来越被人们所重视。
本设计的超声波测距仪,可以对不同距离进行测试,并可以进行详尽的误差分析。
对本设计的研究与设计,还能进一步提高自身的电路设计水平,深入对单片机的理解和应用。
超声波传感器模块在测量方面有着广泛、普遍的应用。
利用单片机控制超声波检测模块往往比较迅速、方便、计算简单、易于做到实时控制,并且测量精度较高。
超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:液位、井深和管道长度等场合。
因此研究超声波测距系统的原理有着很大的现实意义。
1.2 超声波介绍及其应用领域当物体振动时会发出声音。
科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。
人类耳朵能听到的声波频率为20~20K赫兹。
当声波的振动频率大于20K赫兹或小于20赫兹时,人们便听不见了。
因此,把频率高于20K赫兹的声波称为“超声波”。
通常用于医学诊断的超声波频率为1~5兆赫。
基于AT89C51单片机的超声波测距系统设计
基于A T89C51单片机的超声波测距系统设计Ult rasonic Distance Testing System’s Design Based on A T89C51Single-chip Microcomputer戴曰章 吴志勇(潍坊学院信息与控制工程系,山东潍坊261061)摘 要:本文介绍一种基于AT89C51单片机的超声波测距系统,阐述了超声测距系统的构成、工作原理,给出了硬件电路框图和软件编 程的设计方法。
该系统具有硬件结构简单、工作可靠、测量误差小等特点。
关键词:单片机;传感器;超声波测距 超声波由于其指向性强、能量消耗缓慢、传播距离较远等优点,而经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如:液位、井深、管道长度等场合。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在测控系统的研制上也得到了广泛的应用。
本文介绍一种以A T89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。
1 超声波测距原理1.1 超声波发生器超声波是一种频率超过20kHz的机械波。
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。
总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
1.2 压电式超声波发生器原理图1 超声波传感器结构 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部结构如图1所示,它有两个压电晶片和一个共振板。
发射超声波时,压电传感器中的压电晶片受发射电脉冲激励后产生共振,并带动共振板振动,便产生超声波。
基于89c51的超声波测距单片机课设
基于89c51的超声波测距单片机课设超声波测距是一种常见的测量技术,它利用超声波在空气中传播的特性来实现距离的测量。
在单片机领域中,基于89c51的超声波测距单片机课设是一项非常有意义的任务。
下面将从以下几个方面对该课设进行详细介绍。
一、课设目标该课设主要目标是设计一个基于89c51单片机的超声波测距系统,实现对目标物体到传感器之间距离的准确测量,并将结果通过LCD显示出来。
二、硬件设计1. 超声波模块:超声波模块是整个系统中最关键的部分,它负责发射和接收超声波信号。
常用的超声波模块有HC-SR04等型号,其工作原理为发射一定频率(通常为40kHz)的超声波信号,并接收反射回来的信号。
根据反射时间和速度可以计算出目标物体到传感器之间的距离。
2. 单片机:本课设使用89c51单片机作为控制核心,它负责控制整个系统的运行,并处理从超声波模块接收到的信号。
89c51单片机具有较高的性能和可靠性,同时也具备较强的扩展性和灵活性。
3. 显示模块:本课设使用LCD显示模块,将测量结果以数字形式显示出来。
LCD显示模块通常需要与单片机通过并行或串口通信进行数据传输。
4. 电源模块:本课设需要使用5V直流电源供电,可以使用适配器或者电池等方式提供电源。
三、软件设计1. 超声波测距算法:在本课设中,超声波测距算法是最为关键的部分。
其基本思路为通过发射超声波信号并接收反射回来的信号,计算出目标物体到传感器之间的距离。
具体实现过程可以采用定时器和外部中断等方式。
2. LCD显示程序:LCD显示程序负责将计算出来的距离值以数字形式显示在LCD屏幕上。
该程序需要与LCD显示模块进行通信,并实现字符/数字的输出功能。
3. 系统控制程序:系统控制程序是整个系统的核心部分,它负责控制超声波模块、LCD显示模块等硬件设备,并调用超声波测距算法和LCD显示程序实现距离测量和显示功能。
四、实验步骤1. 连接硬件:将超声波模块、LCD显示模块等硬件设备连接到89c51单片机上,确保电路连接正确无误。
基于AT89C51单片机超声波测距仪的设计
[键入文字]基于AT89C51单片机超声波测距仪的设计BASED ON AT89C51 ULTRASONIC RANGEFINDER DESIGN学生姓名学院名称专业名称指导教师摘要超声波是一种在弹性介质中的机械振荡,它是由与介质相接触的振荡源所引起的,其频率在20000Hz以上。
由于它有指向性强、方向性好、传播能量大、传播距离较远等特点,因此常用于测量物体的距离。
本文介绍了基于AT89C51单片机的超声波测距仪的软硬件设计,整个系统分为单片机控制模块、发射模块和接收模块组成。
程序采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。
超声探头接收的信号经单片机综合分析处理后,实现了超声波测距仪的各种功能。
关键词超声波 AT89C51 测量距离目录1绪论 (4)1.1研究背景 (4)1.2研究内容 (4)2 相关知识 (5)2.1超声波发生器 (5)2.2.单片机的任务 (5)2.3AT89C51单片机主要特性和引脚功能 (5)3理论分析与计算 (8)3.1测量与控制方法 (8)3.3超声波测距误差分析 (10)4系统硬件电路设计......................................... 错误!未定义书签。
4.1单片机系统及显示电路.................................. 错误!未定义书签。
4.1.1 74LS244的简介................................... 错误!未定义书签。
4.2超声波发射电路........................................ 错误!未定义书签。
4.3超声波监测接收电路.................................... 错误!未定义书签。
4.4显示电路原理.......................................... 错误!未定义书签。
基于单片机的超声波测距系统的设计
基于单片机的超声波测距系统的设计1. 摘要基于单片机的超声波测距系统利用了超声波的频率在20KHZ以上,具有方向性强、耗能慢、传播距离远等优点。
在传感器技术与自动控制技术相结合的测距程序中,超声波测距是最常见的应用之一,被广泛应用于防盗、倒车雷达、水位测量、建筑工地和一些工业用地。
本系统的设计主要包含了硬件电路和软件程序两部分。
通过分析超声波测距的基本原理,选用合适的硬件电路部分,并写入相应的控制代码,以实现一个超声波测距系统的设计思路与方案。
在设计中,核心控制单元选用了STC89C52单片机,利用超声波传感器检测出超声波信号从传感器发出、碰到待测物并反射、最后接收器接收到返回的超声波信号这一过程的时间间隔,通过超声波在一定温度下的传播速度,利用公式得出传感器与待测物之间的距离,并将结果通过1602液晶显示出来。
系统还建立了按键模块和声光报警模块,以提升实用性,并建立了温度补偿模块,以提高测距的精确度。
系统采用模块化的结构,主要由温度检测模块、超声波测距模块、独立按键模块和供电电路四部分构成输入部分,由LCD1602显示模块、蜂鸣器、LED构成输出部分,由STC89C52单片机作为中控部分处理输入部分数据并控制输出部分。
通过Proteus仿真软件验证了硬件电路和软件代码设计。
2. 绪论随着科技的不断发展,人们对距离测量的需求日益增长。
在工业自动化、智能交通、机器人导航等领域,精确的距离测量是实现系统智能化和自动化的关键。
超声波测距技术因其非接触、高精度、低成本等优点,成为距离测量的首选方法之一。
基于单片机的超声波测距系统是利用单片机控制超声波的发射和接收,通过计算超声波在空气中传播的时间来测量距离。
相比传统的机械式测距方法,基于单片机的超声波测距系统具有更高的测量精度和更广泛的应用范围。
本文旨在设计一个基于单片机的超声波测距系统,通过研究超声波的特性、传感器的选择、硬件电路的设计和软件程序的编写,实现对目标距离的高精度测量。
基于-STC89C51单片机超声波测距仪设计
目录摘要1前言3第一章绪论 411 选题背景与意义 412 研究现状 413 研究容 5第二章总体设计 621 系统框图 622 超声波测距仪设计要求 623 使用元件选择 6第三章系统硬件设计731 超声波传感器电路模块7maxbook118com HC-SR04实物图 7maxbook118com HC-SR04的主要技术参数7 maxbook118com HC-SR04部结构与工作原理8 maxbook118com 发射电路的设计 8maxbook118com 接收电路的设计 832 温度传感器模块9maxbook118com DS18B20实物图与引脚定义9 maxbook118com DS18B20的主要特性10 maxbook118com DS18B20的工作原理1033 数码管显示模块11maxbook118com 七段数码管的结构与工作原理 11maxbook118com 七段数码管的驱动和显示方法 1134 STC单片机最小系统模块13maxbook118com STC89C51单片机最小系统13maxbook118com STC89C51单片机的主要特性13第四章系统软件设计1541 系统软件总设计1542 传播时间的获取1643 DS18B20对温度的补偿 1744距离的计算21第五章总结与分析22参考文献23致24附录25摘要随着科学技术的飞速发展超声波在生产生活中的应用围越来越广目前离我们生活最近的超声波应用就是测距超声波测距主要应用于倒车提醒建筑工地工业现场等的距离测量本论文设计了一种基于STC89C51单片机的超声波测距仪该仪器以空气中超声波的传播速度为已知条件利用反射超声波测量待测距离本设计利用超声波传感器HC-SR04发射超声波并接收回波的方式统计超声波传输的时间采用STC89C51单片机作为控制核心结合温度传感器DS18B20采集的温度信息将声速做相应的补偿并计算出距离最后通过4位数码管将所测距离信息显示出来根据结果显示该设计达到了预期要求基于STC89C51单片机的超声波测距仪可以实现关键词STC89C51 超声波传感器DS18B20AbstractWith the rapid development of science and technology the scope of application of ultrasound in the production and everyday life is wider At present what is the most common to our life in the application of ultrasound is the distance measurement Ultrasonic distance measurement is mainly used in reversing reminder construction sites industrial sites and other distance measurementThis paper designed a ultrasonic range finder based on STC89C51 the instrument treats the speed of ultrasonic propagation in the air as the known conditions using the reflected ultrasonic measurement testing distance This design uses ultrasonic sensor HC-SR04 emission ultrasonic and receiving the echo statistics ultrasonic transmission time using the STC89C51 as the control core Combined with the collected temperature information which will be the speed of sound corresponding compensation And calculate the distance Finally the measured distance information will be displayed by 4 digital tubeAccording to the result this design reach the expected requirements the ultrasonic range finder based on the STC89C51 can be achieved Key words STC89C51 ultrasonic sensor DS18B20前言实际生产生活中人们往往需要对物体间的距离进行精确测量本论文设计了一个可以实时看到距离的超声波测距仪测距精度为2cm 最远距离可以达到2m本设计的测距仪分为多个模块超声波传感器模块温度测量模块微处理器模块和数码管显示模块超声波传感器中的发射电路模块发出超声波遇到障碍物返回并被接收电路模块接收到单片机统计出声波传输所用时间结合温度传感器所测温度计算出实时的声速并得到正确的待测距离最后通过数码管模块将待测距离显示出来以下为章节安排第一章提出了本论文的背景和选题意义国外超声波测距仪的发展现状以及本设计研究的主要容第二章总体设计包括系统框图和设计要求第三章本设计的硬件部分包括超声波传感器电路模块温度传感器模块微处理器模块和数码管显示电路模块第四章本设计的软件部分包括系统软件的设计流程图DS18B20驱动模块数码管显示和声速的计算第五章总结分析第一章绪论11 选题背景与意义超声波可用于非接触测量具有不受光电磁波以及粉尘等外界因素的干扰的优点利用超声波在和之间的传输来测量距离对被测目标无损害而且超声波传播速度在大围与频率无关超声波的这些独特优点越来越受到人们的重视目前对于超声波精确测距的需求也越来越大油库和水箱液面的精确测量和控制物体气孔大小的检测和机械部损伤的检测等在机械制造电子冶金航海宇航石油化工等工业领域也有广泛地应用此外在材料科学医学生物科学等领域中也占具重要地位12 研究现状国从五十年代起对超声波测距进行了较多的研究并取得了可喜的成果近年来得益于电子技术的快速发展尤其是单片微机技术的应用和扩展使得原来复杂的超声物位测量仪的设计有了大幅简化的可能如采用zilog公司Z86E08单片机控制的超声波测距数显装置以8098单片机为核心的智能物位测量仪等从而使得超声物位测量仪的应用得到更多的普及近十年来国外科研人员在超声波回波信号处理方法新型超声波换能器研发超声波发射脉冲选取等方面进行了大量理论分析和研究并针对超声测距的常见影响因素提出了温度补偿接收回来串入自动增益调节环节等提高超声波测距精度的措施本文针对国外超声波测距研究开发的状况研制了一种低成本精度较高的基于STC89C51单片机的超声波测距仪13 研究容该超声波测距仪中的超声波传感器HC-SR04中的发射电路模块发出超声波遇到障碍物返回并被接收电路模块接收到STC89C51单片机统计出声波传输所用时间结合温度传感器DS18B20所测温度计算出实时的声速并得到正确的待测距离最后通过数码管模块将待测距离显示出来该超声波测距仪的设计要求如下1 设计制作超声波发射和接收电路2 设计制作单片机系统带有数码管显示电路3 编写单片机程序计算和显示距离第二章总体设计21 系统框图本设计超声波传感器使用HC-SR04温度传感器使用DS18B20微处理器使用STC89C51单片机显示部分采用共阳数码管超声波传感器HC-SR04中集成的发射电路模块发出超声波遇到障碍物返回最后被接收电路模块接收STC89C51单片机统计出声波传输所用时间结合温度传感器DS18B20所测温度计算出实时的声速并得到正确的待测距离最后通过4个共阳数码管将待测距离显示出来图21 系统基本框图22 使用元件选择由于测量距离的精度和长度要求不是很高精度达到2cm测量距离达到2m即可因此超声波传感器选用价格低廉且实用的HC-SR04即可控制核心部分选择实用的STC89C51单片机即可满足计算和控制要求用于温度补偿的温度传感器选择普遍且实用的DS18B20因为显示只需要将距离显示出来就可以了所以显示部分选择了四只共阳数码管第三章系统硬件设计该超声波测距系统硬件设计包括以下模块超声波传感器电路模块微处理器模块温度传感器模块和数码管显示电路模块31 超声波传感器电路模块HC-SR04超声波传感器模块可提供2cm-400cm的非接触式距离感测功能测距精度可高达3mm模块包括超声波发射器接收器与控制电路maxbook118com HC-SR04实物图图31 HC-SR04超声波模块实物图maxbook118com HC-SR04的主要技术参数所用工作电压直流5V电压工作静态电流小于2mA电平输出高电平为5V低电平为0V感应角度不大于15度探测距离及精度2cm-450cm高精度可达3mmmaxbook118com HC-SR04部结构与工作原理图31 HC-SR04发射电路图图32 HC-SR04接收电路图该超声波传感器的部结构及电路工作原理如图所示该传感器主要包括两大部分发射电路和接收电路采用IO触发测距给至少10us的高电平信号模块自动发送8个40kHz的方波并自动检测是否有信号返回当接收到回波时通过IO输出一高电平高电平持续的时间t就是超声波从发射到返回的时间测试距离s tv 2v是超声波在空气中传播的速度maxbook118com 发射电路的设计超声波传感器的发射电路主要由方波发生芯片40kHz的晶振和MAX232芯片构成单片机给方波发生芯片触发信号后方波发生芯片开始工作产生40kHz的方波信号电平转换芯片MAX232将TTL电平转换成可以驱动振荡器的高电压进而产生所需的40kHz的超声波maxbook118com 接收电路的设计本设计中选用的TL740C芯片采用了前置放大电路带通滤波电路后级放大电路将接收到的波形经过整形积分检波滤波和限幅放大等实现接收超声波的功能当距离较远时回波信号会非常微弱转换后的信号电平幅值很小故要经过若干级放大使输出功率达到一定要求并且为了防止信号出现较大的失真接收电路可以保证有4MHz的带宽放大后的交流信号送入比较器后输出一个方波信号并使触发器触发向CPU发出中断请求在中断服务程序中读取计数器的计数值结合温度补偿后的声速计算出测距仪距离障碍物的距离32 温度传感器模块maxbook118com DS18B20实物图与引脚定义图33 DS18B20实物图DS18B20各引脚描述管脚号符号功能 1 GND 电源地 2 DQ 数据输入输出 3 VDD 电源可选表31 DS18B20管脚描述DS18B20数字温度计以9位数字量的形式反映器件的温度值通过一根单线接口发送和接收信息因此在单片机和DS18B20之间仅需一条连接线加上地线用于读写和温度转换的电源可以从数据线本身获得无需外部电源maxbook118com DS18B20的主要特性独特的单线接口仅需一个端口引脚进行通讯简单的多点分布应用无需外部器件可通过数据线供电零待机功耗测温围-55℃~125℃华氏器件-67℉~257℉以09℉递增温度以9位数字量读出温度数字量转换时间200ms典型值用户可定义的非易失性温度报警设置报警搜索命令识别并标志超过程序限定温度温度报警条件的器件应用包括温度控制工业系统消费品温度计或任何热感测系统maxbook118com DS18B20的工作原理图34 DS18B20测温原理DS18B20测温原理如图34所示图中低温度系数晶振的振荡频率受温度影响很小用于产生固定频率的脉冲信号送给计数器1高温度系数晶振随温度变化其振荡频率明显改变所产生的信号作为计数器2的脉冲输入计数器1和温度寄存器被预置在-55℃所对应的一个基数值计数器1对低温度系数晶振产生的脉冲信号进行减法计数当计数器1的预置值减到0时温度寄存器的值将加1计数器1的预置将重新被装入计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数如此循环直到计数器2计数到0时停止温度寄存器值的累加此时温度寄存器中的数值即为所测温度33 数码管显示模块maxbook118com 七段数码管的结构与工作原理七段数码管一般由8个发光二极管组成其中由7个细长的发光二极管组成数字显示另外一个圆形的发光二极管显示小数点当发光二极管导通时相应的一个点或一个笔画发光控制相应的二极管导通就能显示出各种字符其控制简单使用非常方便发光二极管的阳极连在一起的称为共阳极数码管阴极连在一起的称为共阴极数码管图34 7段数码管部字段LED和引脚分布.maxbook118com 七段数码管的驱动和显示方法发光二极管LED是一种由砷化镓等半导体材料制成的能直接将电能转变成光能的发光显示器件当期部有电流通过时就会发光图35 数码管显示电路34 STC单片机最小系统模块maxbook118com STC89C51单片机最小系统STC89C51单片机是一种高性能低功耗8位单片机片含64kbytes 只读存储器它的的最小系统由时钟电路复位电路电源电路及单片机构成单片机的时钟信号用来提供单片机片各种操作的时间基准复位操作则使单片机的片电路初始化使单片机从一种确定的初态开始运行12MHz与两个30pF的电容组成振荡电路为系统提供准确的时钟信号复位电路接在RESET口开关打开时RESET口为高电平开关闭合时RESET口变为低电平就产生复位图35 STC89C51时钟电路与复位电路maxbook118com STC89C51单片机的主要特性增强型流水线精简指令集结构8051CPU工作电压34V55V 5V单片机20V38V 3V单。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 STC89C51单片机超声波测距系统的设计一、设计任务1.1设计前景超声波技术在日常生活中有着广泛的应用, 例如探伤技术、清洗技术、测距技术等等。
超声波测距多应用于汽车倒车雷达、建筑工地以及一些工业现场的位置监控如液位、井深的测量等场合。
国内的超声波测量主要集中在对0~10 m 固体和液体的测量,一般测量精度高,回波稳定。
由于高精度的超声波测距仪所采用的专业集成电路成本较高,以价格比较低廉的 STC89C51 单片机为核心设计一款具有低成本、高精度、具有动态显示等优点的超声波测距系统。
该系统测量距离0127~4100 m,测量精度为1cm。
同时给出了其硬件电路和软件设计方法。
实际使用表明该仪器工作稳定。
1.2超声波测距原理超声波发生器内有一个共振板和两个压电晶片,当它的外加脉冲信号频率等于压电晶片的固有频率时,压电晶片会产生共振,并带动共振板一起振动,这样就产生了超声波。
在电路中,发射端输出的脉冲是一系列方波,其宽度称为发射超声波的时间间隔,被测物距离越大,其脉冲宽度就越大,输出脉冲个数与被测物距离成正比。
T mier寄存器对 P110口的高、低电平分别进行 12 L s的延时, 实现从 P110口输出周期为24 Ls的方波信号。
当单片机控制超声波发生器向某一方向发射超声波波束,在发射时刻的同时,单片机内部定时器开始计时。
在传播过程中,超声波遇障碍物(被测物)后反射回波,超声波接收器接收到第一个反射波后,定时器停止计时。
定时器所计的数据就是超声波所经历的时间,通过公式换算就可以得到传感器与障碍物之间的距离。
由于超声波的声速和温度有关,如果温度变化不是很大,认为声速基本不变。
如果测距精度要求很高,那么可以通过温度补偿的方法来加以校正。
不同温度下超声波在空气中的传播速度随温度变化关系:v = 33114+0161T 其中, T为实际温度; v的单位为 m /s。
表 1 声速与温度的关系测距的公式为: L= v×▽t,其中, L为测量的距离长度; v为超声波在空气中的传播速度; ▽t为发射到接收所用时间的一半,由单片机的定时功能实现对超声波信号的准确计时。
二、元器件清单三、设计过程3.1硬件设计超声波测距仪硬件部分主要由超声波信号接收电路、超声波发射电路、显示电路、单片机外围电等组成。
采用STC89C51 实现对CX20106A 红外接收芯片和 TCT40-10系列超声波转换模块的控制,同时加了MAX232芯片,它和外围电路组成了RS232-TTL电平转换电路, 它是串口 ISP下载电路,可以通过串口ISP在线下载程序。
图1超声波测距仪系统设计框图3.2 STC89C51控制器单元STC89C5控制器单元包括STC89C51、振荡电路、复位电路。
振荡电路使用12 MH z高精度晶振,振荡电容选择30 pF小瓷片电容;复位电路使用 RC电路,使用普通的电解电容与金属膜电阻即可。
STC89C51可以代替AT89C 51,其功能更强、速度更快、寿命更长、价格更低,可以完成ISP在线编程功能,可以在程序中修改,断电不丢失,还增加了两级中断优先级。
3.3超声波发射电路超声波在空气中传播功率及精度与频率成正比,比较和分析几个常用超声波频率的特点,最终选取频率为40 kH z。
为了便于超声波的发射与接收, 超声波发射探头采用共振频率为40 kH z的 TCT40-16探头,接收探头采用 RCT40-16。
超声波发射电路主要由超声波换能器和反相74LS04 图2 超声波发射电路构成,单片机P110端口输出40kH z间断方波,此时定时器开始计时,信号经两路反相器送到超声波换能器的两个电极,可以提高超声波的发射强度。
输出端采用两个反相器并联,可以提高驱动能力。
电阻 R1、R2可以增加超声波换能器的阻尼效果,这样可以缩短振荡时间,提高74LS04输出高电平的驱动能力。
3.4超声波接收电路超声波接收电路采用SONY公司的CX20106A集成电路,对接收探头收到的信号进行放大、滤波。
它是一款红外线检波接收的专用芯片,有较强的抗干扰性和灵敏度。
管脚1是超声波信号输入端,其输入阻抗约为40kΩ;管脚2的C2、R3决定接收换能器的总增益,增大电阻R或者减小C,将使放大倍数下降,负反馈量增大,电容C的改变会影响到频率特性,实际使用中一般不改动,推荐选择参数R =4178, 图3 超声波接收电路C= 313 LF;管脚3与GND之间连接检波电容,考虑到检波输出的脉冲宽度变动大,推荐参数313LF;管脚 5上的连接电阻R4用以设置带通滤波器的中心频率,阻值越大,中心频率越低,取R=200 k8时,中心频率约为42 kH z;管脚6与GND 之间接入一个积分电容,标准值为30 pF,如果该电容取得太大,会使探测距离变短;管脚 7是遥控命令输出端,它是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到电源端,该电阻推荐阻值为R5 =220 kΩ,没有接收信号时该端输出为高电平有信号时则会下降;管脚 8接电源正极,4.5~5 V。
3.5单片机外围电路该系统单片机外围电路如图 4所示,有温度补偿电路、串口ISP下载电路。
采用3脚PR235封装的数字温度传感器 DS18B20对环境温度进行检测,从而对超声波的传播速度进行温度补偿,提高测量精度。
两个按键用于控制测量的开始与停止以及距离与温度显示的切换。
其特点如下:硬件接口简单,性能稳定,单线接口, 仅需一根接口线与 MCU 连接无需外围元件; 由总线提供电源; 测温范围为- 55~75 e;精度为015e;9位温度读数;A/D变换时间为200 ms。
图4 STC89C51及其外围电路3.6显示电路为了节约成本, 该系统用 4位数码管显示, 显示电路采用简单实用的 4位共阳 LED 数码管来显示测距离, 采用单片机动态扫描显示。
段码用74LS245驱动, 位码用 PNP三极管 VT1、 VT2、 VT3、 VT4驱动。
图5 显示电路3.7软件设计该系统采用模块化设计,由主程序、发射子程序、接收子程序、定时子程序、温度检测子程序、显示子程序等模块组成。
主程序完成初始化后调用发射子程序, 由 P110口发射脉冲,驱动超声波传感器发射超声波,并关外部中断,计数器T0开始计时。
为防止虚假回波的干扰,在延时一段时间后,开中断。
当有外部中断信号时,单片机就停止T0的计时,计算出渡越时间t并存储E2PROM中;然后调用测温子程序,采集超声波测距时的环境温度,并换算出准确的声速v,存储到E2PROM中,单片机再调用计算子程序,计算出传感器到目标物体之间的距离,最后把测量果存储并通过数码管电路显示出来,完成一次测量。
该系统的主程序采用键控循环工作方式,当按下测量键时,主程序开始调用发射子程序、查询接收子程序、定时子程序,并把测量结果用显示子程序在数码显示器上显示出来。
设计中,超声波发射探头和接收探头距离较近,当发射探头发射超声波后,有部分超声波没经过障碍物反射就直接绕射到接收探头上,这部分信号是无用的,会引起系统误测。
设计中采用延时技术来解决这个问题,并设定延时时间为1 ms, 即在发射极发射超声波 1ms内,通过软件关闭所有中断,接收电路对此期间接收到的任何信号不予理睬, 1 ms后立即启动T0,这时接收到的信号才有效,并在接收到回波信号的同时,T0停。
此时T0所记录的CPU发送脉冲信号的前沿到回波脉冲信号之间的时间才是需要的,因此系统存在测量盲区。
图6主程序流程图四、总结通过设计的超声波测距系统具有结构简单、功耗低、易于操作、灵活性高、成本低的特点,还具有操作方便、运行可靠的优点,它有良好的人机界面,能方便地实时显示测距数据。
实际制作中加入 DSl8820温度检测集成电路会使测量更加精确。
采用CX20106A 芯片用于检波放大,减少了电路之间的互相干扰,减小了电噪声。
该系统可广泛应用于倒车雷达、机器人检测以及物位测量领域。
【参考文献】[1] 胡萍.超声波测距仪的研制.计算机与现代化,2003.10[2] 时德刚,刘哗.超声波测距的研究.计算机测量与控制,2002.10[3] 华兵.MCS-51单片机原理应用.武汉华中科技大学出版社,2002.5[4] 陈光东.单片机微型计算机原理与接口技术(第二版).华中理工大学出版社,1999.4[5] 苏长赞.红外线与超声波遥控.人民邮电出版社,1993.7[6] 胜全.D18B20数字温度计在微机温度采集系统中的序编制.南京大学出版社,1998. 3附录:程序清单#INCLUDE <REG2051.H>#DEFINE K1 P3_4#DEFINE CSBOUT P3_5 //超声波发送#DEFINE CSBINT P3_7 //超声波接收#DEFINE CSBC=0.034 #DEFINE BG P3_3UNSIGNED CHAR CSBDS,OPTO,DIGIT,BUFFER[3],XM1,XM2,XM0,KEY,JPJS;//显示标识UNSIGNED CHARCONVERT[10]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};//0~9 段码UNSIGNED INT S,T,I, XX,J,SJ1,SJ2,SJ3,MQS,SX1;BIT CL;VOID CSBCJ();VOID DELAY(J); //延时函数VOID SCANLED(); //显示函数VOID TIMETOBUFFER(); //显示转换函数VOID KEYSCAN();VOID K1CL();VOID K2CL();VOID K3CL();VOID K4CL();VOID OFFMSD();VOID MAIN() //主函数{EA=1; //开中断TMOD=0X11; //设定时器0为计数,设定时器1 定时ET0=1; //定时器0 中断允许ET1=1; //定时器1 中断允许TH0=0X00;TL0=0X00;TH1=0X9E;TL1=0X57;CSBDS=0;CSBINT=1;CSBOUT=1;CL=0;ŌPTO=0XFF;JPJS=0;SJ1=45;SJ2=200;SJ3=400;K4CL();TR1=1;WHILE(1){KEYSCAN();IF(JPJS<1){CSBCJ();IF(S>SJ3){BUFFER[2]=0X76;BUFFER[1]=0X76;BUFFER[0]=0X76;}ELSE IF(S<SJ1){BUFFER[2]=0X40;BUFFER[1]=0X40;BUFFER[0]=0X40;}ELSE TIMETOBUFFER();}ELSE TIMETOBUFFER(); //将值转换成LED 段码OFFMSD();SCANLED(); //显示函数IF(S<SJ2)BG=0;BG=1;}}VOID SCANLED() //显示功能模块{DIGIT=0X04;FOR( I=0; I<3; I++) //3 位数显示{P3=~DIGIT&OPTO; //依次显示各位数P1=~BUFFER; //显示数据送P1口DELAY(20); //延时处理P1=0XFF; //P1 口置高电平(关闭)IF((P3&0X10)==0) //判断3 位是否显示完KEY=0;DIGIT>>=1; //循环右移1 位}}VOID TIMETOBUFFER() //转换段码功能模块{XM0=S/100;XM1=(S-100*XM0)/10;XM2=S-100*XM0-10*XM1;BUFFER[2]=CONVERT[XM2];BUFFER[1]=CONVERT[XM1];BUFFER[0]=CONVERT[XM0];}VOID DELAY(I){WHILE(--I);}VOID TIMER1INT (VOID) INTERRUPT 3 USING 2 {TH1=0X9E;TL1=0X57;CSBDS++;IF(CSBDS>=40){CSBDS=0; CL=1;}}VOID CSBCJ(){IF(CL==1){TR1=0;TH0=0X00;TL0=0X00;I=10;WHILE(I--){CSBOUT=!CSBOUT;}TR0=1;I=MQS; //盲区WHILE(I--){}I=0;WHILE(CSBINT){I++;IF(I>=2450) //上限值CSBINT=0;}TR0=0;TH1=0X9E;TL1=0X57;T=TH0;T=T*256+TL0;S=T*CSBC/2;TR1=1; CL=0;}}VOID KEYSCAN() //健盘处理函数{XX=0;IF(K1!=1) // 判断开关是否按下{DELAY(400); //延时去抖动IF(K1!=1) // 判断开关是否按下{WHILE(!K1){DELAY(30);XX++;}IF(XX>2000){JPJS++;IF(JPJS>4)JPJS=0;}XX=0;SWITCH(JPJS){CASE 1: K1CL();BREAK;CASE 2: K2CL();BREAK;CASE 3: K3CL();BREAK;CASE 4: K4CL();BREAK;}}}}VOID K1CL(){SJ1=SJ1+5;IF(SJ1>100)SJ1=30; S=SJ1;}VOID K2CL(){SJ2=SJ2+5;IF(SJ2>500)SJ2=40;S=SJ2;}VOID K3CL(){SJ3=SJ3+10;IF(SJ3>500)SJ3=100;S=SJ3;}VOID K4CL(){SX1=SJ1-1;SX1=SX1/CSBC;MQS=SX1/4.5;}VOID OFFMSD(){IF (BUFFER[0] == 0X3F)BUFFER[0] = 0X00;}。