【proteus仿真】基于 51 单片机距离传感器警报装置设计(仿真图+程序)

一、项目概述

本项目以STC89C52RC 51 单片机为主控核心,搭配 HC‑SR04 超声波测距传感器,实现距离测量、数码管实时距离显示、按键阈值设置、声光报警功能。可作为倒车防撞、障碍物检测、距离预警的简易方案,适合单片机课程设计、毕业设计入门练习,使用 Proteus 完成电路仿真,Keil C51 编写程序代码。

实现功能:

  1. HC‑SR04 超声波传感器实时测量障碍物距离,四位共阳数码管动态刷新显示测量距离;
  2. 3 个独立按键:加、减、设置警报,支持自定义报警距离阈值;
  3. 当实测距离小于设定报警阈值时,蜂鸣器鸣响 + 红色 LED 点亮,完成声光双重警报;
  4. 具备单片机最小系统:复位电路、11.0592MHz 晶振电路,保障主控稳定运行。

二、Proteus 硬件电路分析

1. 单片机最小系统

主控芯片 STC89C52RC,11.0592MHz 晶振搭配 33pF 起振电容提供系统时钟;上电复位 + 手动按键复位电路,完成系统复位启动。

2. 数码管显示电路

采用74HC573 锁存器驱动四位共阳数码管。P0 口输出段码,74HC573 锁存控制,降低 IO 口负载;排阻上拉,保证数码管亮度稳定,动态扫描实时输出距离数值。

3. HC‑SR04 超声波测距模块

Trig 触发引脚、Echo 回响引脚接入单片机 IO 口。单片机输出触发脉冲,模块发射超声波,接收回波后 Echo 输出高电平,通过测量高电平时间换算出障碍物距离。

4. 按键模块

3 路独立按键接 P1 口,分别实现报警阈值增加、减少、确认设置,可以自由修改触发报警的距离。

5. 声光报警电路

PNP 三极管驱动蜂鸣器,距离达到报警条件时三极管导通,蜂鸣器发声;红色 LED 同步点亮,实现声音 + 灯光双重告警提示。

三、工作原理说明

  1. 测距原理 :单片机给 HC‑SR04 的 Trig 引脚发送 10μs 高电平触发信号,模块发出 8 个 40KHz 超声波;超声波遇到障碍物反射,Echo 引脚输出高电平,高电平持续时间等于超声波往返时间。 距离计算公式:距离 = (高电平时间 × 声速) / 2
  2. 阈值设置:按下设置按键进入阈值调节模式,加减按键修改报警距离,再次按下设置保存阈值;
  3. 报警逻辑 :循环读取当前实测距离,若实测距离 < 设置报警阈值,蜂鸣器与 LED 同时开启报警;距离大于阈值,报警关闭;
  4. 显示逻辑:四位数码管动态扫描,实时刷新当前测量距离。

四、参考代码片段

复制代码
#include <reg52.h>
typedef unsigned int uint;
typedef unsigned char uchar;

sbit Trig = P3^0;
sbit Echo = P3^1;
sbit BEEP = P2^0;
sbit LED_ALARM = P2^1;

uchar code seg_table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint distance,alarm_thresh=30; //报警阈值默认30cm

void delay_ms(uint ms){
	uint i,j;
	for(i=ms;i>0;i--)
		for(j=110;j>0;j--);
}

uint get_distance(void)
{
	uint time;
	Trig=0;
	Trig=1;
	delay_ms(1);
	Trig=0;
	while(!Echo);
	TR1=1;
	while(Echo);
	TR1=0;
	time=TH1*256+TL1;
	TH1=0;TL1=0;
	return time*0.017;
}

void main(void)
{
	TMOD |=0x01;
	while(1)
	{
		distance = get_distance();
		//数码管显示距离
		//按键处理阈值省略
		if(distance < alarm_thresh)
		{
			BEEP=0;
			LED_ALARM=0;
		}
		else
		{
			BEEP=1;
			LED_ALARM=1;
		}
	}
}

五、仿真调试要点

  1. 晶振必须设置为11.0592MHz,定时器计时才可以匹配测距时间计算;
  2. 74HC573 锁存器 LE 引脚电平需要正确控制,否则数码管出现乱码、闪烁;
  3. HC‑SR04 仿真模型注意引脚 Trig/Echo 不要接反;
  4. 蜂鸣器必须通过三极管驱动,单片机 IO 口驱动能力不足,不可直接接蜂鸣器;
  5. 阈值调节完成务必保存,否则重启仿真阈值丢失。

六、项目拓展方向

  1. 增加 OLED 屏幕替代数码管,显示中文距离、报警阈值;
  2. 加入串口,把距离数据上传电脑;
  3. 增加继电器输出,距离过近控制外部设备停机;
  4. 修改为倒车雷达,距离越近蜂鸣器鸣叫频率越快。

七、总结

本 51 单片机距离传感器警报装置,硬件电路简洁,逻辑清晰,把超声波测距、按键交互、数码管显示、声光报警完整结合。非常适合初学者掌握外部传感器读取、定时器计时、动态扫描显示、条件报警逻辑。Proteus 仿真可以不用实物硬件,快速验证整体方案效果。

通过网盘分享的文件:仿真文件获取.zip 链接: https://pan.baidu.com/s/1V5zzxbpHc_fRqfGIzSdLfg?pwd=6666 提取码: 6666

相关推荐
单片机仿真设计2 小时前
【proteus仿真设计】基于 STM32 单片机火灾监测报警系统设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
jianqiang.xue3 小时前
低功耗产品架构专项优化:电池供电设备休眠、唤醒、漏电流、待机功耗极致优化
stm32·单片机·mcu·物联网·架构·esp32
Mount2563 小时前
STM32CubeIDE使用教程(自用)
stm32·嵌入式硬件
ACP广源盛139246256733 小时前
端侧 AI 硬件架构实践@ACP#中端边缘整机 PCIe 扩展与 IX7012 器件分析
大数据·数据库·人工智能·嵌入式硬件·开源·硬件架构
ACP广源盛139246256733 小时前
端侧 AI 硬件架构探讨@ACP#多外设高密度整机 PCIe 扩展与 IX7024 器件分析
大数据·数据库·人工智能·嵌入式硬件·开源·硬件架构
智购科技自动售货机工厂3 小时前
2026自动售货机异常重启根因分析:从日志挖掘到内存取证的技术实践~YH
开发语言·数据库·单片机·嵌入式硬件·人机交互
Json____3 小时前
宿舍安全卫生检查系统:Node 全栈开发实战
java·前端·数据库·毕业设计·课程设计·毕设·wwwoop.com
jianqiang.xue4 小时前
专栏简介:《嵌入式 AI 智能体设计实战》
人工智能·stm32·单片机·物联网·架构·esp32
铅笔小新z4 小时前
【stm32】I2C 通信协议
stm32·单片机·嵌入式硬件