新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单片机控制的超声波测距报警系统

基于单片机控制的超声波测距报警系统

作者: 时间:2012-05-24 来源:网络 收藏

P3 口也可作为AT89C52 的一些特殊功能口,如表1 所示。

表1 P3 特殊功能口

基于单片机控制的超声波测距报警系统

  P3 口同时为闪烁编程和编程校验接收一些控制信号。

(11)ALE//PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

(12)/PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。

2.4 超声波发射电路

超声波发射电路原理如图5 所示。输出端采用两个反向器并联,用以提高驱动能力。上位电阻R10、R11 一方面可以提高反向器74LS04 输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。

基于单片机控制的超声波测距报警系统

图5 超声波发射电路原理图

2.5 超声波检测接收电路

集成电路CX20106A 是一款红外线检波接收的专用芯片。考虑到红外遥控常用的载波频率38 kHz 与测距的超声波频率40 kHz 较为接近,可以利用它制作超声波检测接收电路( 如图6)。实验证明用CX20106A 接收超声波( 无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。

基于单片机控制的超声波测距报警系统

图6 超声波检测接收电路

2.6 显示电路

显示电路采用简单实用的4 位共阳LED 数码管,段码用74LS244 驱动,位码用PNP 三级管驱动。接P2.1 引脚的为个位显示数码管,其小数点在P2.1 有效时显示,此功能由软件来完成。

2.7 复位功能

系统应具备测距启动功能,可以复位系统,使其开始重新测距。

综上所述,本系统的特点是利用超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用STC89C52,经济易用,且片内有8K 的ROM,便于编程。电路原理如图7 所示。

3 软件方案

系统软件设计采用模块化设计,主要包括主程序设计、T0 中断服务子程序、外部中断服务子程序、距离计算子程序、LED 显示子程序设计等。

主程序首先是对系统环境初始化,设置定时器T0工作模式为16 位定时计数器模式。置位总中断允许位EA 并给显示端口P0 和P2 清0.

基于单片机控制的超声波测距报警系统

图7 电路原理

然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1 ms,然后才打开外中断0 接收返回的超声波信号。

测出距离后结果将以十进制BCD 码方式送往LED 显示约0.5 s,然后再发超声波脉冲重复测量过程。为了有利于程序结构化和容易计算出距离,主程序采用C 语言编写。

3.1 主程序

· 系统控制初始化LED、初始化计数控制部分,清除计数值。

· 单片机超声波脉冲信号。

· 立刻置INT0 为1,打开计时器,等待回波信号。

· 回波信号到达,关闭计时器,P3.3 为0,清INT0 为0.

· 单片机读出计数值。

· 单片机将计数值进行计算后得出的距离值,显示在LED 上。

· 当测量距离 10.0 cm 或> 50.0 cm 时,灯亮。

· 当按下复位键时,启动复位功能。



评论


相关推荐

技术专区

关闭