基于单片机的超声波液位测量系统 - 图文

更新时间:2024-06-24 14:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

山东交通学院毕业设计(论文)

摘 要

介绍了超声波测距的基本原理和系统框图,给出了超声波发射和接收电路,通过盲区的消除以及环境温度的采样,提高了测距的精确度。利用超声波传输中距离与时间的关系,采用8051单片机进行控制及数据处理,设计出了能精确测量两点间距离的超声波液位检测系统。系统主要由超声波发射器电路、超声波接收器电路、单片机控制电路、环境温度检测电路及显示电路构成。利用所设计出的超声波液位检测系统,对液面进行了测试,采集当时的环境温度获得精确的速度,计算出液面距离。此系统具有易控制、工作可靠、测量精度高的优点,可实时检测液位。

关键词: 超声波,液位测量,温度传感器

1

李文婷:基于超声波的液位测量系统

Abstract

Introduces the basic principles of ultrasonic rangefinder and system diagrams, gives

ultrasonic transmitter and receiver circuit, Through the elimination of dead zone and the sample of ambient temperature, which improves the accuracy of the measuring distance. Use the relation between Ultrasonic transmission distance and time, take the 8051 microcontroller to control and data processing, devised to accurately measure the distance between two points of ultrasonic level detection system. The system is primarily consist of the ultrasonic transmitter, ultrasonic receiver circuit, microcontroller circuit, the ambient temperature detection circuit and show circuit. Use the ultrasonic level detection system, on the surface of a test, collecting at ambient temperature and getting an accurate speed, calculate the surface distance. This system is easy to control, reliable, high precision, real-time detection level.

Key words:Ultrasonic ,level measurement, temperature sensors

2

山东交通学院毕业设计(论文)

目 录

前言??????????????????????????????1 1 总体概述???????????????????????????2 2 超声波和超声波传感器?????????????????????3

2.1 超声波?????????????????????????3 2.1.1 定义???????????????????????3 2.1.2 超声波的主要参数?????????????????3 2.1.3 超声波的特性???????????????????3 2.1.4 超声波的特点???????????????????3 2.1.5 超声波传感器的主要应用??????????????3 2.2 超声波传感器测距原理??????????????????4 2.2.1 超声波传感器???????????????????4 2.2.2 超声波传感器的性能指标??????????????4 2.2.3 超声波传感器的结构????????????????5 2.2.4 超声波测距原理??????????????????5 3 MCS-51系列单片机???????????????????????7

3.1 8051单片机的总体结构??????????????????7 3.1.1 8051单片机的总体框图和功能????????????7 3.1.2 8051的引脚功能??????????????????8 3.2 8051单片机的定时器/计数器 ???????????????10 3.2.1 8051的定时器/计数器功能 ?????????????10 3.2.2 定时器控制寄存器?????????????????10 3.2.3 工作方式控制寄存器????????????????11 3.2.4 中断允许控制寄存器(IE)?????????????11 3.2.5 定时器/计数器的工作方式??????????????11 3.3 8051单片机的中断????????????????????12 3.3.1 中断的定义????????????????????12 3.3.2 8051单片机的中断源????????????????12 3.3.3 中断控制的专用寄存器???????????????13 4 硬件设计???????????????????????????16

4.1 8051 单片机的最小系统组成 ???????????????16 4.2 超声波发射电路设计???????????????????17 4.2.1 超声波频率及探头的选择??????????????17

3

李文婷:基于超声波的液位测量系统

4.2.2 超声波发射电路??????????????????17 4.3 超声波接收电路设计???????????????????18 4.3.1 超声波接收器???????????????????18 4.3.2 超声波接收电路图?????????????????19 4.4 温度检测电路??????????????????????20 4.4.1 温度检测方案的分析????????????????20

4.4.2数字温度传感器DS18B20简介????????????20 4.4.3 DS18B20的结构及电路???????????????20 4.5 显示方案的论证与选择??????????????????21

4.5.1 LED显示电路图??????????????????21 4.6 稳压电源????????????????????????22 4.6.1 稳压电源构成???????????????????22 4.6.2 +5V电源电路???????????????????23 4.6.3 +12V电源电路???????????????????23 5 软件设计???????????????????????????25

5.1 主程序设计???????????????????????26

5.1.1 主程序流程图???????????????????26 5.1.2 主程序??????????????????????27 5.2 中断服务子程序?????????????????????27

5.2.1 中断初始化????????????????????27 5.2.2 中断子程序流程图?????????????????29 5.3 温度检测子程序?????????????????????29 5.4 距离的计算???????????????????????30 结论??????????????????????????????31 致谢??????????????????????????????32 参考文献????????????????????????????33 附录 A?????????????????????????????34 附录 B?????????????????????????????35

4

山东交通学院毕业设计(论文)

前 言

随着科学的发展液位的检测方法也在变化,精度也有了更佳的提高。单片机技术和传感器技术的发展使液位测量方法得到了更进一步的发展。超声波在液位测量中的应用也越来越广,但是就目前的发展水平来说,超声波在测距系统中的应用还有一定的限度,因此研究超声波的液位检测是很有发展前景的。它在技术和产业领域具有广阔的发展空间。本次设计中,通过外界环境温度的检测提高了超声波测距的精度。通过延时避免了接收未经液面反射的超声波,其次利用温度传感器检测外界温度,采用当前温度下的超声波速度去计算,从而提高了距离计算的精度。

在未来,超声波的液位测量将有更大的用途,更大的应用范围。它不但可以帮助人们解决很多生活中的困难,还可以作为科学探测和研究的手段。特别是水位的测量,可以帮助确定水位的高度,以便于其他工作的顺利进行。

本设计中采用反射式的方式,超声波传感器发射超声波,遇到液面后超声波被反射回来,超声波接收探头接收超声波。其间通过单片机的控制,P1.0口输出控制信号从555振荡器输入到驱动电路驱动超声波发射电路,超声波发生电路产生40KHz的调制脉冲,经换能器转换为超声波信号向前方空间发射。经过液面反射后超声波接收探头将接收到的超声波送到单片机进行处理。单片机通过各个引脚来实现和各电路模块的接口连接。并通过软件的设计来控制整个检测过程。一步一步,从发射到接收超声波,定时器的初始化,中断程序的编写,温度的采样,距离的计算,单片机都发挥了重要的最用。它是整个检测系统的内部核心。

这次对超声波液位检测的设计获得了具有很大的成果和意义,在这个科学技术是第一生产力的时代,应用科学技术去解决生活中和工作的困难变得具有更高的价值。在设计中,我加深了对超声波的认识,对它的原理掌握的更好了。目前超声波已广泛运用于诊断学、治疗学、工程学、生物学等领域。此外我认识到单片机在各方面都有很大的应用潜能,在自动控制领域它更是发挥了不可替代的作用。本设计利用超声波实现液位的测量,检测方便,易于实时控制,达到了工业的要求,因此具有实际的意义和广泛的应用前景。

5

李文婷:基于超声波的液位测量系统

1.总体概述

我们把频率高于20000赫兹的声波称为“超声波”[1]。超声波发射器发出的超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。

表1.1 超声波波速与温度的关系表

Table 1.1 ultrasonic wave speed and temperature of the relationship between tables

温度(℃) 声速(m/s)

-30 -20 -10 0 10 20 30 100 313 319 325 323 338 344 349 386 超声波液位测距原理框图如图1.1

单片机发出40kHZ的信号,通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,进行处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED显示。

8051 单片机 LED显示 超声波接收 超声波发送 555 电路 温度检测

图1.1 超声波测距系统设计框图 Figure 1.1 ultrasonic rangefinder design diagrams

6

山东交通学院毕业设计(论文)

2.超声波和超声波传感器

2.1 超声波

2.1.1 定义

科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。我们人类耳朵能听到的声波频率为20~20000赫兹。当声波的振动频率大于20000赫兹或小于20赫兹时,我们便听不见了。因此,我们把频率高于20000赫兹的声波称为“超声波”。 2.1.2 超声波的主要参数

超声波的两个主要参数: 频率:F≥20K/Hz; 功率密度:p=发射功率(W)/发射面积(cm2);通常p≥0.3w/cm2; 在液体中传播的超声波能对物体表面的污物进行清洗,其原理可用“空化”现象来解释:超声波振动在液体中传播的音波压强达到一个大气压时,其功率密度为0.35w/cm2,这时超声波的音波压强峰值就可达到真空或负压,但实际上无负压存在,因此在液体中产生一个很大的压力,将液体分子拉裂成空洞—空化核。此空洞非常接近真空,它在超声波压强反向达到最大时破裂,由于破裂而产生的强烈冲击将物体表面的污物撞击下来。这种由无数细小的空化气泡破裂而产生的冲击波现象称为“空化”现象。 太小的声强无法产生空化效应。 2.1.3 超声波的特性

(1)超声波可在气体、液体、固体、固熔体等介质中有效传播。 (2)超声波可传递很强的能量。

(3)超声波会产生反射、干涉、叠加和共振现象。

(4)超声波在液体介质中传播时,可在界面上产生强烈的冲击和空化现象。 2.1.4 超声波的特点

(1)超声波在传播时,方向性强,能量易于集中。

(2)超声波能在各种不同媒质中传播,且可传播足够远的距离。

(3)超声波与传声媒质的相互作用适中,易于携带有关传声媒质状态的信息(诊断或对传声媒质产生效应)。

超声波是一种波动形式,它可以作为探测与负载信息的载体或媒介(如B超等用作诊断);超声波同时又是一种能量形式,当其强度超过一定值时,它就可以通过与传播超声波的媒质的相互作用,去影响,改变以致破坏后者的状态,性质及结构(用作治疗)。 2.1.5 超声波传感器的主要应用

超声波传感技术应用在生产实践的不同方面,而医学应用是其最主要的应用之一,下面以医学为例子说明超声波传感技术的应用。超声波在医学上的应用主要是诊断疾

7

李文婷:基于超声波的液位测量系统

病,它已经成为了临床医学中不可缺少的诊断方法。超声波诊断的优点是:对受检者无痛苦、无损害、方法简便、显像清晰、诊断的准确率高等。因而推广容易,受到医务工作者和患者的欢迎。超声波诊断可以基于不同的医学原理,我们来看看其中有代表性的一种所谓的A型方法。这个方法是利用超声波的反射。当超声波在人体组织中传播遇到两层声阻抗不同的介质界面是,在该界面就产生反射回声。每遇到一个反射面时,回声在示波器的屏幕上显示出来,而两个界面的阻抗差值也决定了回声的振幅的高低。

在工业方面,超声波的典型应用是对金属的无损探伤和超声波测厚两种。过去,许多技术因为无法探测到物体组织内部而受到阻碍,超声波传感技术的出现改变了这种状况。当然更多的超声波传感器是固定地安装在不同的装置上,“悄无声息”地探测人们所需要的信号。在未来的应用中,超声波将与信息技术、新材料技术结合起来,将出现更多的智能化、高灵敏度的超声波传感器。

2.2 超声波传感器测距原理

2.2.1 超声波传感器

超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等方面。

以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声换能器,或者超声探头。 2.2.2 超声波传感器的性能指标

超声探头的核心是其塑料外套或者金属外套中的一块压电晶片。构成晶片的材料可以有许多种。晶片的大小,如直径和厚度也各不相同,因此每个探头的性能是不同的,我们使用前必须预先了解它的性能。超声波传感器的主要性能指标包括:

(1)工作频率。工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。

(2)工作温度。由于压电材料的居里点一般比较高,特别是诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不会失效。医疗用的超声探头的温度比较高,需要单独的制冷设备。

(3)灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏度高;反之,灵敏度低。

8

山东交通学院毕业设计(论文)

2.2.3 超声波传感器的结构

超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多作探测作用。它有许多不同的结构,直探头、斜探头、表面波探头、兰姆波探头、双探头等。

当电压作用于压电陶瓷时,就会随电压和频率的变化产生机械变形。另一方面,当振动压电陶瓷时,则会产生一个电荷。利用这一原理,当给由两片压电陶瓷或一片压电陶瓷和一个金属片构成的振动器,所谓叫双压电晶片元件,施加一个电信号时,就会因弯曲振动发射出超声波。相反,当向双压电晶片元件施加超声振动时,就会产生一个电信号。基于以上作用,便可以将压电陶瓷用作超声波传感器。

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

室外用途的超声波传感器必须具有良好的密封性,以便防止露水、雨水和灰尘的侵入。压电陶瓷被固定在金属盒体的顶部内侧。底座固定在盒体的开口端,并且使用树脂进行覆盖。对应用于工业机器人的超声波传感器而言,要求其精确度要达到1mm,并且具有较强的超声波辐射。

利用常规双压电晶片元件振动器的弯曲振动,在频率高于70KHz的情况下,是不可能达到此目的的。所以,在高频率探测中,必须使用垂直厚度振动模式的压电陶瓷。在这种情况下,压电陶瓷的声阻抗与空气的匹配就变得十分重要。压电陶瓷的声阻抗为2.6×107kg/m2s,而空气的声阻抗为4.3×102kg/m2s。5个幂的差异会导致在压电陶瓷振动辐射表面上的大量损失。一种特殊材料粘附在压电陶瓷上,作为声匹配层,可实现与空气的声阻抗相匹配。这种结构可以使超声波传感器在高达数百kHz频率的情况下,仍然能够正常工作。 2.2.4 超声波测距原理

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

超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。

测距的公式表示为:L=C×T

9

李文婷:基于超声波的液位测量系统

式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。

超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量,虽然目前的测距量程上能达到百米,但测量的精度往往只能达到厘米数量级。

由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。

10

山东交通学院毕业设计(论文)

3.MCS-51系列单片机

3.1 8051单片机的总体结构

MCS-51系列单片机主要包括8031、8051和8751等通用产品。

8051是MCS-51系列单片机中的代表产品,它内部集成了功能强大的中央处理器,包含了硬件乘除法器、21个专用控制寄存器、4kB的程序存储器、128字节的数据存储器、4组8位的并行口、两个16位的可编程定时/计数器、一个全双工的串行口以及布尔处理器。

3.1.1 8051单片机的总体框图及功能

内部总体结构如下: 8位CPU

4kbytes 程序存储器(ROM) 128bytes的数据存储器(RAM) 32条I/O口线

111条指令,大部分为单字节指令 21个专用寄存器 2个可编程定时/计数器 5个中断源,2个优先级 一个全双工串行通信口

外部数据存储器寻址空间为64kB 外部程序存储器寻址空间为64kB 逻辑操作位寻址功能 双列直插40PinDIP封装 单一+5V电源供电

11

李文婷:基于超声波的液位测量系统

图3.1 8051单片机的内部基本结构 Figure 3.1 8051 MCU internal basic structure

图3.1是8051的内部结构框图,从图中可以看出,单片机内部各功能部件都是挂靠在内部总线上的,它们通过内部总线传送地址信息,各功能部件分时使用总线,即所谓的内部但总线结构。 3.1.2 8051的引脚功能

8051单片机采用40脚双列直插式封装,其引脚排列及逻辑符号如图3.2所示。

图3.2 8051单片机引脚图 Figure 3.2 8051 MCU pin map

12

山东交通学院毕业设计(论文)

下面分别说明各引脚的含义和功能[3]。 (1)主电源引脚Vcc和Vss

Vcc──电源端。工作电源和编程校验(+5V)。 Vss──接地端。

(2)时钟振荡电路引脚XTAL1和XTAL2

XTAL1和XTAL2分别用作晶体振荡电路的反相器输入和输出端。在使用内部振荡电路时,这两个端子用来外接石英晶体,振荡频率为晶振频率,振荡信号送至内部时钟电路产生时钟脉冲信号;若采用外部振荡电路,则XTAL2用于输入外部振荡脉冲,该信号直接送至内部时钟电路,而XTAL1必须接地。

(3)控制信号引脚RST/Vpp、ALE/PROG、PSEN和EA/Vpp RST/Vpp ──RST为复位信号输入端。当RST端保持两个机器周期(24个时钟周期)以上的高电平时,使单片机完成复位操作。第二功能Vpp 为内部RAM的备用电源输入端。当主电源Vcc一旦发生断电(称掉电或失电),降到一定低电压值时,可通过Vpp为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使上电后能继续正常运行。

ALE/PROG──ALE为地址锁存允许信号。在访问外部存储器时,ALE用来锁存P0扩展地址低8位的地址信号。在不访问外部存储器时,ALE也以时钟振荡频率的1/6的固定速率输出,因而它又可用作外部定时或其它需要。但是,在遇到访问外部数据存储器时,会丢失一个ALE脉冲。ALE能驱动8个LSTTL门输入。第二功能PROG是对内部ROM编程时的编程脉冲输入端。

PSEN──外部程序存储器ROM的读选通信号。当访问外部ROM时,PSEN产生负脉冲作为外部ROM的选通信号。而在访问外部数据RAM或片内ROM时,不会产生有效的PSEN信号。PSEN可驱动8个LSTTL门输入端。

EA/Vpp──访问外部程序存储器控制信号。对80C51,它们的片内有4KB的程序存储器,当EA为高电平时,CPU访问程序存储器有两种情况:第一种情况是访问的地址空间在0~4K范围内,CPU访问片内程序存储器;第二种情况是访问的地址超出4K时,CPU将自动执行外部程序存储器的程序,即访问外部ROM。当EA接地时,只能访问外部ROM。第二功能Vpp 为编程电源输入。

(4)4个8位I/O端口P0、P1、P2和P3

P0口(P0.0~P0.7)是一个8位漏极开路型的双向I/O口。第二功能是在访问外部存储器时,分时提供低8位地址线和8位双向数据总线。在对片内ROM进行编程和校验时,P0口用于数据的输入和输出。

P1口(P1.0~P1.7)是一个内部带提升电阻的准双向I/O口。在对片内ROM编程和校验时,P1口用于接收低8位地址。

13

李文婷:基于超声波的液位测量系统

P2口(P2.0~P2.7)是一个内部带提升电阻的8位准双向I/O口。第二功能是在访问外部存储器时,输出高8位地址。在对片内ROM进行编程和校验时,P2口用作接收高8位地址和控制信号。

P3口(P2.0~P2.7)是一个内部带提升电阻的8位准双向I/O口。

3.2 8051单片机的定时器/计数器

3.2.1 8051的定时器/计数器功能

(1)计数功能

所谓计数是指时外部脉冲进行计数。外部脉冲通过T0(P3.4)、T1(P3.5)两个信号引脚输入。输入的脉冲在负跳变时有效,进行计数器加1(加法计数)。计数脉冲的频率不能高于晶振频率的1/24。

(2)定时功能

定时功能也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。也就是每个机器周期计数器加1。 3.2.2 定时器控制寄存器

表 3.1 定时器控制寄存器(TCON) Table 3.1 timer control register (TCON)

位地址 位符号 8FH TF1 8EH TR1 8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0

(1)TF0(TF1)计数溢出标志位

当计数器计数溢出(计满)时,该位置“1” 查询方式时,此位作状态位供查询,软件清“0”; 中断方式时,此位作中断标志位,硬件自动清“0”。 (2)TR0(TR1) 定时器运行控制位 TR0(TR1)=0 停止定时器/计数器工作 TR0(TR1)=1 启动定时器/计数器工作 软件方法使其置“1”或清“0”。

14

山东交通学院毕业设计(论文)

3.2.3 工作方式控制寄存器

各位定义如下:

表3.2 工作方式控制器寄存器 TMOD

Table 3.2 controller TMOD

位序 位符号 B7 GATE B6 — B5 M1 B4 M0 B3 GATE B2 — B1 M1 B0 M0 C/T C/T

(1)GATE 门控位

GATE=0以运行控制位TR启动定时器

GATE=1以外中断请求信号(/INT0或/INT1)启动定时器 (2)C/T 定时方式或计数方式选择位 C/T=0定时工作方式 C/T=l计数工作方式

(3)M1、M0 工作方式选择位 M1、M0=00 方式0 M1、M0=01 方式1 M1、M0=10 方式2 M1、M0=11 方式3 3.2.4 中断允许控制寄存器(IE)

(1)EA中断允许总控制位

(2)ET0和ET1定时/计数中断允许控制位 ET0(ET1)=0禁止定时/计数中断 ET0(ET1)=1允许定时/计数中断 3.2.5 定时器/计数器的工作方式

(1)方式0

方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL0的低5位构成。TH0的高3位弃之不用。

当为定时工作方式时,定时时间的计算公式为:

(213-计数初值)×晶振周期×12 (2)方式1

方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成。其电路和工作情况与方式0完全相同。

15

李文婷:基于超声波的液位测量系统

在方式1下的定时时间的计算公式为:

(216-计数初值)×晶振周期×12 (3)方式2

初始化时,8位计数初值同时装入TL0和TH0中。当TL0计数溢出时,置位TF0,同时把保存在预置寄存器TH0中的计数初值自动加载TL0,然后TL0重新计数。 当为定时工作方式时,定时时间的计算公式为:

(255-计数初值)×晶振周期×12 (4)方式3

①工作方式3下的定时器/计数器0

在工作方式3下,定时器/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以计数使用,又可以定时使用,定时器/计数器0的各控制位和引脚信号全归它使用。TH0则只能作为简单的定时器使用。

②工作方式3下的定时器/计数器1

如果定时器/计数器0已工作在工作方式3,则定时器/计数器1只能工作在方式0、方式1或方式2下,因为它的运行控制位TR1及计数溢出标志位TF1已被定时器/计数器0借用,如图所示。在这种情况下,定时器/计数器1通常是作为串行口的波特率发生器使用,以确定串行通信的速率。

3.3 8051单片机的中断

3.3.1 中断的定义

所谓的中断就是,当 CPU 正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求 CPU 暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。

从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序。 3.3.2 8051单片机的中断源

8051单片机的中断源共有两类,它们分别是:外部中断和内部中断。 (1)外部中断源

外部中断0:来自 P3.2 引脚,采集到低电平或者下降沿时,产生中断请求。 外部中断1:来自 P3.3 引脚,采集到低电平或者下降沿时,产生中断请求。 (2)内部中断源

定时器∕计数器0( T0 ):定时功能时,计数脉冲来自片内;计数功能时,计数脉冲来自片外 P3.4 引脚。发生溢出时,产生中断请求。

16

山东交通学院毕业设计(论文)

定时器∕计数器1( T1 ):定时功能时,计数脉冲来自片内;计数功能时,计数脉冲来自片外 P3.5 引脚。发生溢出时,产生中断请求。

串行口:为完成串行数据传送而设置。单片机完成接受或发送一组数据时,产生中断请求。

3.3.3 中断控制的专用寄存器

MCS-51单片机为用户提供了四个专用寄存器,来控制单片机的中断系统。 (1)定时器控制寄存器(TCON)

该寄存器用于保存外部中断请求以及定时器的计数溢出。进行字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H~8FH。寄存器的内容及位地址表示如下:

表3.3 寄存器TCON Table 3.3 registers TCON

位地址 位符号 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

IT0 和IT1——外部中断请求触发方式控制位 IT0 (IT1)=1 脉冲触发方式,下降沿有效 IT0 (IT1)=0 电平触发方式,低电平有效 IE0和IE1——外中断请求标志位

当CPU采样到INT0(或INT1)端出现有效中断请求时,IE0(IE1)位由硬件置“1”。 当中断响应完成转向中断服务程序时,由硬件把IE0(或IE1)清零。 TR0 和TR1——定时器运行控制位

TR0 (TR1 )=0 定时器/计数器不工作 TR0 (TR1 )=1 定时器/计数器开始工作 ? TF0和TF1——计数溢出标志位

当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。当转向中断服务时,再由硬件自动清“0”。计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。

(2)串行口控制寄存器(SCON)

进行字节操作时,寄存器地址为98H。按位操作时,各位的地址为98H~9FH。寄存器的内容及位地址表示如下:

17

李文婷:基于超声波的液位测量系统

表3.4 串行口控制寄存器SCON Table 3.4 serial port control registers SCON

位地址 9FH 9EH 9DH 9CH 位符号 SM0 SM1 SM2 R EN 9BH 9AH 99H TB8 RB8 TI 98H RI

其中与中断有关的控制位共2位: TI——串行口发送中断请求标志位

当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。 RI——串行口接收中断请求标志位

当接收完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。串行中断请求由TI和RI的逻辑或得到。就是说,无论是发送标志还是接收标志,都会产生串行中断请求。

(3)中断允许控制寄存器(IE)

进行字节操作时,寄存器地址为0A8H。按位操作时,各位的地址为0A8H~0AFH。寄存器的内容及位地址表示如下:

表3.5 中断允许控制寄存器IE

Table 3.5 IE to the interrupt enable control register

位地址 0AFH 0AEH 位符号 EA / 0ADH / 0ACH ES 0ABH 0AAH 0A9H 0A8H ET0 EX0 ET1 EX1

其中与中断有关的控制位共6位: EA——中断允许总控制位

EA=0 中断总禁止,禁止所有中断

EA=1 中断总允许,总允许后中断的禁止或允许由各中断源的中断允许控制位进行设置。

EX0和EX1——外部中断允许控制位 EX0(EX1)=0 禁止外部中断 EX0(EX1)=1 允许外部中断

ET0和ET1——定时器/计数器中断允许控制位 ET0(ET1)=0 禁止定时器/计数器中断 ET0(ET1)=0 允许定时器/计数器中断 ES——串行中断允许控制位 ES=0 禁止串行中断

18

山东交通学院毕业设计(论文)

ES=1 允许串行中断

可见,MCS-51单片机通过中断允许控制寄存器对中断的允许(开放)实行两级控制。即以EA位作为总控制位,以各中断源的中断允许位作为分控制位。当总控制位为禁止时,关闭整个中断系统,不管分控制为状态如何,整个中断系统为禁止状态;当总控制位为允许时,开放中断系统,这时才能由各分控制位设置各自中断的允许与禁止。

MCS-51单片机复位后(IE)=00H,因此中断系统处于禁止状态。单片机在中断响应后不会自动关闭中断。因此在转中断服务程序后,应根据需要使用有关指令禁止中断,即以软件方式关闭中断。

19

李文婷:基于超声波的液位测量系统

4. 硬件设计

硬件电路主要由单片机系统及显示电路、超声波发射电路、超声波检测接收电路以及温度检测电路组成。单片机选用8051,经济易用,且片内有4K的ROM,便于编程。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机8051通过P1.0引脚经振荡器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,并进行温度的测量,通过换算就可以得到传感器与障碍物之间的距离。最后通过数码管LED显示出来。用LED显示数字比较清晰,而且电路结构简单,成本低廉。

4.1 8051单片机的最小系统组成

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成单片机可以工作的系统。对8051单片机来说,最小系统应该包括:单片机、晶振电路、复位电路。下面是8051单片机的最小系统电路。

图4.1 最小系统电路图

Figure 4.1 minimum system circuit diagram

20

山东交通学院毕业设计(论文)

图4.1中,P0.0~P0.7用来控制LED的段码,P2.0~P2.3用来控制LED的位码,P1.3用来和温度传感器DS18B20连接,超声波发射电路和单片机8051的P1.0口连接,而超声波接收电路连接到8051的外部中断INT0。因此单片机8051不需要进行外部扩展就可满足超声波测距电路的系统要求[4]。电源采用+5V电源供电。晶振X1的频率是12MHZ。

4.2 超声波发射电路设计

4.2.1 超声波频率及探头的选择

超声波在空气中频率越高,功率越大,精度越高,但在空气中衰减越快;相反频率越低,功率越小,在空气中衰减越慢,但误差大。综合考虑75KHZ、40KHZ、25KHZ等几个常用超声波频率的特点,取40KHZ可以较好的解决这个矛盾。为了便于超声波的发射和接收,采用共振频率为40KHZ的超声波探头,其发射探头选用TCT40-10F1。 4.2.2 超声波发射电路

超声波发射电路由超声波换能器(或称超声波振头)和超声波发生器两部分组成, 40KHz的超声波信号是利用555时基电路振荡产生的,振荡频率f ≈1.43/((R9+2×R10) ×C5),通过R10调节信号频率,使之与换能器的40KHz固有频率一致,为保证555时基具有足够的驱动能力,宜采用+12V电源[5]。工作时,单片机通过P1.0口向超声波发生电路发出控制信号从555振荡电路的4脚输入到驱动器,经驱动器驱动后推动探头产生超声波,超声波发生电路产生40KHz的调制脉冲,经换能器转换为超声波信号向前方空间发射。

21

李文婷:基于超声波的液位测量系统

图4.2 超声波发射电路 Figure 4.2 ultrasonic transmitter

由555型电路组成多谐振荡器,它的振荡频率为40kHz。R10用来调节信号频率。多谐振荡器产生的40kHz的脉冲由3脚输出,通过超声波发射器向外发射。

4.3 超声波接收电路设计

4.3.1 超声波接收器

超声波接收器包括超声波接收探头、信号放大电路和波形变换电路三部分电路组成。电源VCC采用12V电源供电。超声波接收探头选择与发射探头配对的TCT40-10S1。波形变换采用集成运放芯片(LM324)作为比较器对放大后的信号进行波形变换[6]。当输入信号的电压大于基准电压时,输出为“1”;当输入信号的电压小于基准电压时,输出为“0”;这样就实现了对输入信号进行变换的目的。

22

山东交通学院毕业设计(论文)

4.3.2 超声波接收电路图

图4.3 超声波接收电路 Figure 4.3 ultrasonic receiver circuit

芯片CX20106[7]是一款应用广泛的红外线检波接收的专用芯片,其具有功能强、性能优越、外围接口简单、成本低等优点,由于红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz比较接近,而且CX20106内部设置的滤波器中心频率f0五可由其5脚外接电阻调节,阻值越大中心频率越低,范围为30~60 kHz。故本次设计用它来做接收电路。CX20106内部由前置放大器、限幅放大器、带通滤波器、检波器、积分器及整形电路构成。工作过程如下:接收的回波信号先经过前置放大器和限幅放大器,将信号调整到合适幅值的矩形脉冲,由滤波器进行频率选择,滤除干扰信号,再经整形,送给输出端。当接收到与CX20106滤波器中心频率相符的回波信号时,其输出端就输出低电平,而输出端直接到8051的INT0引脚上,以触发中断,图中芯片未接任何元件的引脚为输出端。若频率有一些误差,可调节芯片引脚5的外接电阻,通过改变电阻值来将滤波器的中心频率设置在40 kHz,就可达到理想的效果。

23

李文婷:基于超声波的液位测量系统

4.4 温度检测电路

4.4.1 温度检测方案的分析

由于超声波也是属于声速,所以在传播途中也会受到温度等外界因素的影响,为了比较精确的得到传感器与液面之间的距离,利用温度传感器检测当时条件下的环境温度,并换算到相对应的超声波声速,利用这个速度去计算距离就可以得到比较准确的距离。因此在整个系统中添加一个温度传感器来对当时环境温度进行检测。 4.4.2 数字温度传感器DS18B20简介

DS18B20是美国DALLAS公司推出的单总线数字测温芯片[8]。他具有独特的单总线接口方式,仅需使用1个端口就能实现与单片机的双向通讯。采用数字信号输出提高了信号抗干扰能力和温度测量精度。他的工作电压使用范围宽(3.0~5.5 V),可以采用外部供电方式,也可以采用寄生电源方式,即当总线DQ为高电平时,窃取信号能量给DS18B20供电。他还有负压特性,电源极性接反时,DS18B20不会因接错线而烧毁,但不能正常工作。可以通过编程实现9~12位的温度转换精度设置。设定的分辨率越高,所需要的温度数据转换时间就越长,在实际应用中要将分辨率和转换时间权衡考虑。 4.4.3 DS18B20的结构及电路

DS18B20采用3脚T0-92封装,形如三极管,同时也有8脚SOIC封装,还有6脚的TSOC封装。测温范围为-55~+125℃,在-10~85℃范围内,精度为±0.5℃。每一个DS18B20芯片的ROM中存放了一个64位ID号:前8位是产品类型编号,随后48位是该器件的自身序号,最后8位是前面56位的循环冗余校验码。又因其可以采用寄生电源方式供电。因此,一条总线上可以同时挂接多个DS18B20,实现多点测温系统[9]。

图4.4 DS18B20的外形及封装 Figure 4.4 DS18B20 shape and packaging

24

山东交通学院毕业设计(论文)

图4.5 数字温度传感器DS18B20电路图

Figure 4.5 digital temperature sensor DS18B20 circuit diagram

温度传感器的DQ脚与单片机8051的P1.3管脚相连,用于显示当时的环境温度。并把从外界检测到的温度返回到单片机中,并通过固化在程序中的温度速度表,查得最接近检测到的温度的速度值,代入距离计算公式,从而得到比较精确的距离,提高了超声波测距的精度。

4.5 显示方案的论证与选择

方案一:采用LCD液晶显示器。LCD液晶显示器既能显示数字又能显示文字,功能很大的,但价格要比较贵,且控制较为困难。

方案二:采用数码管(LED)显示,特点:显示数字清晰,电路结构简单,成本低廉。

根据对比,方案二优于方案一,所以选择方案二,即采用LED进行显示。 4.5.1 LED显示电路图

显示电路采用简单实用的4位LED数码管,单片机系统及显示电路如图4.6所示。 LED(Light Emitting Diode)是当外加电压超过额定电压时发生击穿而发出可见光,LED的工作电压通常为2~20mA。工作压降为2V左右,使用时需加限流电阻。

25

本文来源:https://www.bwwdw.com/article/ts53.html

Top