项目概述:家居环境监测系统
本项目旨在为家庭场景设计一套简易的环境监测装置,能够实时检测室内温度、湿度、有害气体(如天然气)浓度以及烟雾情况。当检测到火灾或天然气泄漏时,系统将触发声光报警,并通过LCD显示屏提示报警房间号,实现基本的安全预警功能。
设计任务与要求
- 系统覆盖两个独立房间,每个房间均配备以下传感器:
- 温度传感器 ×1
- 湿度传感器 ×1
- 烟雾传感器 ×1
- 有害气体传感器(天然气)×1
- 具备报警机制,当发生异常情况(如火灾或燃气泄漏)时,启动声光报警。
- LCD屏幕实时显示各房间的温湿度数据,并在报警时显示对应房间编号。
Proteus仿真功能说明
系统支持在Proteus环境下进行完整电路仿真,验证硬件连接与程序逻辑的正确性,确保实际部署前的功能可靠性。
项目文件组成
本项目提供完整的开发与设计资料包,便于学习、调试和二次开发。
一、Proteus仿真源文件
包含完整的仿真工程文件,可用于模拟整个系统的运行过程。
二、AD原理图文件
采用Altium Designer绘制的电路原理图,结构清晰,符合电子设计规范。
三、报告说明书
详细阐述系统设计思路、工作原理、模块选型依据及使用说明。
四、系统流程图
展示主控程序的执行流程,帮助理解单片机控制逻辑。
五、Keil C语言程序源代码(部分示例)
基于Keil平台开发的C语言源码,用于AT89C51单片机,实现传感器数据采集、判断与报警输出等功能。
#include "lcd1602.h"
void delay_uint(uint i)
{
while(i--);
}
/********************************************************************
* 名称 : write_com(uchar com)
* 功能 : 1602命令函数
* 输入 : 输入的命令值
* 输出 : 无
***********************************************************************/
void write_com(uchar com)
{
e=0;
rs=0;
rw=0;
P0=com;
delay_uint(20);
e=1;
delay_uint(20);
e=0;
}
/********************************************************************
* 名称 : write_data(uchar dat)
* 功能 : 1602写数据函数
* 输入 : 需要写入1602的数据
* 输出 : 无
***********************************************************************/
void write_data(uchar dat)
{
e=0;
rs=1;
rw=0;
P0=dat;
delay_uint(20);
e=1;
delay_uint(20);
e=0;
}
/********************************************************************
* 名称 : write_string(uchar hang,uchar add,uchar *p)
* 功能 : 改变液晶中某位的值,如果要让第一行,第五个字符开始显示"ab cd ef" ,调用该函数如下
write_string(1,5,"ab cd ef;")
* 输入 : 行,列,需要输入1602的数据
* 输出 : 无
***********************************************************************/
void write_string(uchar hang,uchar add,uchar *p)
{
if(hang==1)
write_com(0x80+add);
else
write_com(0x80+0x40+add);
while(1)
{
if(*p == '\0') break;
write_data(*p);
p++;
}
}
/********************************************************************
* 名称 : init_1602()
* 功能 : 初始化1602液晶
* 输入 : 无
* 输出 : 无
***********************************************************************/
void init_1602()
{
write_com(0x38); //数据总线为8位,显示2行,5x7点阵
write_com(0x0c); //开显示,有光标,光标闪烁
write_com(0x06); //光标自动右移
delay_uint(1000); //等待设置完成
}
六、元器件清单
| 元件 | 型号 | 数量 |
|---|---|---|
| 单片机 | AT89C51 | 1 |
| 电容 | 10uf | 1 |
| 电容 | 30pf | 2 |
| 晶振 | 12MHZ | 1 |
| 电阻 | 10k | 1 |
| 按钮 | - | 6 |
| 温度传感器 | DS18B20 | 2 |
| 模数芯片 | ADC0832 | 2 |
| 电位器 | 1k | 5 |
| 电阻 | 1k | 1 |
| 三极管 | PNP | 1 |
| 蜂鸣器 | 有源 | 1 |
| 显示器 | LCD1602 | 1 |
| 排阻 | 10k | 1 |
| 湿度传感器 | DHT11 | 2 |
七、全套资料内容汇总
本次提供的完整资料包包括:
- Proteus仿真工程文件
- Keil C语言源程序代码
- AD格式的电路原理图
- 系统设计流程图
- 元器件清单表
- 项目说明书文档



雷达卡


京公网安备 11010802022788号







