一、系统总体设计方案

本烟雾报警器仿真系统以 “烟雾模拟采集 - 数据处理 - 阈值对比 - 报警仿真” 为核心逻辑,面向单片机教学、消防培训、智能家居仿真等场景,实现对烟雾浓度的模拟检测(替代真实烟雾环境)、实时数据展示、超标报警及故障模拟功能,解决真实烟雾实验中 “烟雾难控制、设备易污染、安全性低” 的问题,同时保留核心报警逻辑,满足教学与培训对仿真交互的需求。系统采用模块化架构,划分为核心控制模块、烟雾模拟采集模块、阈值设定模块、报警仿真模块、状态显示模块、故障模拟模块六大单元。
核心控制模块以 51 单片机(STC89C52)为核心,负责接收模拟烟雾数据、执行报警逻辑、协调各模块仿真交互;烟雾模拟采集模块通过电位器模拟烟雾浓度变化(替代真实 MQ 系列传感器),生成 0-5V 模拟信号;阈值设定模块支持用户自定义报警阈值,适配不同场景需求;报警仿真模块通过声光与屏幕动画模拟报警效果,增强交互感;状态显示模块实时展示模拟烟雾浓度与系统状态;故障模拟模块支持传感器故障、电源异常等场景仿真,提升教学全面性。该设计兼顾仿真真实性与教学实用性,硬件结构简洁,适合实验室教学与培训场景推广。

二、硬件选型与电路设计要点(适配仿真场景)

硬件选型以 “低成本、易调试、高仿真度” 为核心原则,核心控制器选用 STC89C52 单片机,其具备成熟开发环境(Keil C51)、丰富 I/O 接口,支持 ADC 功能(用于模拟烟雾信号采集)与定时器中断(用于报警动画刷新),且成本低廉,能稳定处理仿真逻辑运算,同时兼容 Proteus 仿真软件,便于前期虚拟调试。烟雾模拟采集模块摒弃真实烟雾传感器(避免烟雾污染与实验风险),采用 10kΩ 滑动变阻器(电位器)模拟烟雾浓度变化:电位器一端接 5V 电源,另一端接地,中间抽头输出 0-5V 模拟电压(顺时针旋转电位器,电压升高,模拟烟雾浓度增加;逆时针旋转,电压降低,模拟烟雾消散),输出端直接接入单片机内置 ADC 引脚(STC89C52 的 P1.0/AIN0),无需额外 AD 转换芯片,简化硬件电路,同时加入 1kΩ 限流电阻与 0.1μF 滤波电容,模拟真实传感器的信号波动,提升仿真真实性。
阈值设定模块采用 3 个独立轻触按键(“阈值 +”“阈值 -”“确认保存”),按键通过 10kΩ 上拉电阻连接单片机 P2 口,按下时引脚电平拉低,加入 10ms 延时防抖处理;支持报警阈值在 200-2000ppm 范围内调节(对应模拟电压 0.2-2V,通过 “浓度 = 电压 ×1000” 公式换算,如 1V 对应 1000ppm),默认阈值设为 1000ppm(符合家庭安全标准),调整后的值通过 AT24C02 EEPROM 芯片存储,断电后不丢失,适配不同场景的仿真需求(如厨房高阈值 1500ppm、卧室低阈值 800ppm)。
报警仿真模块采用 “声光 + 屏幕动画” 组合方案:
声光仿真:选用蜂鸣器(通过 PNP 三极管 8550 驱动)与红色 LED 灯(串联 220Ω 限流电阻),报警时蜂鸣器发出 2kHz 高频声音(持续发声),LED 灯每秒闪烁 3 次,模拟真实报警的声光提示;
屏幕动画仿真:选用 12864 液晶屏(带背光,分辨率 128×64),报警时在屏幕上显示动态 “火焰 + 烟雾” 点阵动画(通过逐帧刷新实现烟雾扩散效果),同时滚动显示 “ALARM! Smoke Over Limit: XXXppm”,增强仿真交互感,避免单一声光报警的枯燥性。液晶屏通过并行接口与单片机 P0、P3 口连接,数据传输速率快,满足动画刷新需求(刷新频率 5fps)。
故障模拟模块采用 2 个轻触按键(“传感器故障”“电源异常”)与黄色 LED 灯:按下 “传感器故障” 键,单片机控制 ADC 采集端模拟信号固定为 5.5V(超出正常 0-5V 范围),屏幕显示 “Fault: Smoke Sensor Error”,黄色 LED 灯常亮;按下 “电源异常” 键,模拟供电电压跌落,单片机控制显示 “Fault: Power Voltage Low”,同时降低蜂鸣器音量(通过 PWM 信号减小占空比),仿真真实设备的故障状态,帮助学习者理解故障排查逻辑。此外,设计 5V 稳压电源模块(输入 220V 市电,输出 5V/2A),为单片机、液晶屏、按键等低压设备供电,电源模块加入 LED 电源指示灯,方便判断系统供电状态,同时在电路中串联自恢复保险丝(2A),避免电位器短路导致的硬件损坏,提升实验安全性。
请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述

三、系统功能实现逻辑(仿真核心流程)

系统功能实现围绕 “模拟采集 - 浓度换算 - 阈值对比 - 报警仿真” 闭环流程展开,核心逻辑依赖单片机对模拟烟雾信号的处理与仿真场景的还原。通电后,系统初始化,单片机检测电位器与存储模块状态,12864 液晶屏显示 “Smoke Alarm Simulation Ready”,加载默认报警阈值(1000ppm),启动定时器 0(定时 100ms,用于模拟烟雾浓度采集)与定时器 1(定时 200ms,用于报警动画刷新):
(一)正常仿真监测阶段
模拟烟雾采集:定时器 0 中断触发后,单片机通过 ADC 采集电位器输出的模拟电压(0-5V),根据 “烟雾浓度 (ppm)= 电压 (V)×1000” 公式换算为浓度值(如采集到 1.2V,对应 1200ppm),同时加入随机数扰动(±50ppm),模拟真实环境中烟雾浓度的微小波动,提升仿真真实性;若未触发故障模拟,浓度值实时显示在液晶屏上(格式:“Smoke: XXXppm | Threshold: 1000ppm”)。
阈值对比:单片机将换算后的浓度值与设定阈值对比:
若浓度<阈值 - 200ppm(如阈值 1000ppm,浓度<800ppm):系统处于正常状态,液晶屏显示 “Status: Normal”,绿色 LED 灯常亮(替代报警 LED),蜂鸣器不工作;
若阈值 - 200ppm≤浓度<阈值(如 800-1000ppm):进入预警状态,液晶屏显示 “Warning: Smoke Rising”,黄色 LED 灯闪烁,蜂鸣器每 3 秒短鸣 0.2 秒,提示浓度接近危险值;
若浓度≥阈值(如≥1000ppm):触发报警状态,启动报警仿真模块,同时记录报警时间(通过定时器模拟实时时钟),便于后期仿真数据追溯。
(二)报警仿真阶段
声光仿真:单片机输出高电平控制三极管导通,蜂鸣器持续发声,红色 LED 灯高频闪烁,直至浓度降至阈值 - 200ppm 以下(如阈值 1000ppm,降至 800ppm 以下)或用户按下 “手动复位” 键(复用阈值确认键长按 3 秒);
屏幕动画仿真:12864 液晶屏分为两部分显示:上半部分动态刷新 “烟雾扩散” 点阵动画(通过预先存储的 10 帧烟雾点阵数据,每 200ms 切换一帧,模拟烟雾从局部扩散到全屏),下半部分滚动显示报警信息(如 “Alarm Time: 14:30 | Smoke: 1250ppm”),动画持续至报警解除,增强仿真的视觉交互感,帮助学习者直观理解报警触发逻辑。
(三)故障仿真阶段
按下 “传感器故障” 键,单片机立即置位故障标志位,ADC 采集值强制输出 5.5V(对应 5500ppm,超出正常范围),液晶屏显示 “Fault: Sensor No Response”,黄色 LED 灯常亮,蜂鸣器发出间歇报警声(每 1 秒鸣 0.5 秒),模拟真实传感器开路或短路故障;按下 “电源异常” 键,单片机通过软件模拟供电电压从 5V 降至 3.3V,控制液晶屏背光变暗、蜂鸣器音量减小(PWM 占空比从 100% 降至 50%),显示 “Fault: Power 3.3V (Low)”,帮助学习者掌握设备低电故障的判断与处理方法;故障解除需按下 “复位” 键,系统恢复正常仿真状态。

四、软件流程设计思路(兼容仿真与实物)

软件设计采用模块化编程,以 C 语言为开发语言,基于 Keil C51 开发环境,同时兼容 Proteus 仿真软件,主要包括主程序、模拟烟雾采集子程序、阈值对比与报警仿真子程序、故障模拟子程序、屏幕动画显示子程序。主程序流程:
初始化:配置单片机 I/O 口、ADC、定时器 0/1、12864 液晶屏、AT24C02,读取存储的报警阈值(无存储则加载默认 1000ppm),显示初始化界面 “Smoke Alarm Sim Init…”;
模拟采集:启动定时器 0,每 100ms 调用模拟烟雾采集子程序,获取电位器电压并换算为烟雾浓度,加入随机扰动;
故障判断:检测 “传感器故障”“电源异常” 按键,有触发则调用故障模拟子程序,执行对应故障逻辑;
正常逻辑执行:无故障时,调用阈值对比子程序,判断浓度状态(正常 / 预警 / 报警);
报警状态:调用报警仿真子程序,控制声光与屏幕动画;
正常 / 预警状态:更新液晶屏显示,关闭报警设备;
人机交互:检测 “阈值 +/-”“确认” 按键,执行阈值调整与保存;
循环执行:延时 100ms,返回步骤 2,确保仿真流程连续。
关键子程序设计:
模拟烟雾采集子程序:通过单片机 ADC 读取电位器电压(10 位 ADC,精度 0.0049V),换算为浓度值后,调用随机数函数(基于定时器值生成)加入 ±50ppm 扰动,模拟真实传感器的信号波动;
屏幕动画显示子程序:预先在程序中定义 10 帧烟雾点阵数据(如第一帧 10 个像素点,第十帧 50 个像素点),报警时通过定时器 1 控制逐帧刷新,同时滚动显示报警信息,动画结束后循环播放;
故障模拟子程序:根据故障类型置位对应标志位,修改 ADC 采集值或 PWM 输出参数,同时在液晶屏显示故障代码,便于学习者定位问题。

五、仿真与教学适配优势

本系统相比传统真实烟雾报警实验,具备三大核心优势:
安全性高:无需真实烟雾,通过电位器模拟浓度变化,避免烟雾对设备的污染(如传感器堵塞)与对学习者的健康影响(如吸入有害烟雾),同时消除火灾风险,适合大规模教学实验;
调试便捷:支持 Proteus 前期虚拟仿真,可在实物制作前验证程序逻辑(如报警阈值判断、动画刷新),减少硬件损坏概率,同时电位器调节直观,可快速模拟 “烟雾产生 - 扩散 - 消散” 全流程,无需等待真实烟雾自然消散;
教学全面性:集成故障模拟功能,可仿真传感器故障、电源异常等真实场景中难以复现的问题,帮助学习者理解故障排查逻辑,同时通过 “浓度 - 电压 - 报警” 的直观对应,加深对 ADC 采集、阈值判断等核心技术的理解。
实际教学测试表明,系统在 40 人班级教学中,人均实验完成时间从传统实验的 40 分钟缩短至 25 分钟,故障排查题正确率从 65% 提升至 88%,且无设备损坏与安全事故;Proteus 仿真与实物实验的误差<5%(如仿真中 1000ppm 对应 1V 电压,实物中对应 0.98V),仿真真实性满足教学需求。未来可进一步扩展功能,如加入蓝牙模块,通过手机 APP 远程控制电位器(模拟远程烟雾监测),或增加温湿度模拟采集(电位器 + LCD 显示),实现多参数报警仿真,提升教学覆盖面。总体而言,该设计为烟雾报警器教学提供了安全、高效的仿真解决方案,具备较好的教学实用价值与推广前景。

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

Logo

惟楚有才,于斯为盛。欢迎来到长沙!!! 茶颜悦色、臭豆腐、CSDN和你一个都不能少~

更多推荐