作品功能分析
硬件部分
硬件:
(1)51系列单片机,拟采用STC89C52RC;
(2)DS18B20温度传感器;
(3)二氧化碳浓度传感器:https://item.taobao.com/item.htm?spm=a21n57.1.0.0.16d9523c0DD3yA&id=636687813027&ns=1&abbucket=0#detail
(4)LCD1602显示屏
(5)按键
(6)小风扇
(7)蜂鸣器
-
二氧化碳浓度传感器:
- 用于检测环境中的二氧化碳浓度,通过串口与单片机通信,提供二氧化碳浓度数据。
-
LCD1602显示屏:
- 用于显示当前的温度和二氧化碳浓度,以及报警阈值设置。
-
按键:
- 用于调节温度和二氧化碳浓度的报警阈值。
-
小风扇:
- 在温度或二氧化碳浓度超过设定的报警阈值时启动,进行降温或通风。
-
蜂鸣器:
- 在温度或二氧化碳浓度超过设定的报警阈值时发出警报声。
软件功能
-
数据采集与显示:
- 单片机实时监测温度和二氧化碳浓度,并将数值显示在LCD1602显示屏上。
-
报警阈值设置:
- 通过按键可以调节温度和二氧化碳浓度的报警阈值。
-
报警与控制:
- 当温度或二氧化碳浓度超过设定的报警阈值时,蜂鸣器发出警报声,小风扇启动。
作品包含
-
电路原理图 (立创EDA):
- 描述各个硬件模块之间的连接和接口。
-
PCB版图 (立创EDA):
- 硬件电路的印刷电路板布局图。
-
C程序源码:
- 实现温度和二氧化碳浓度监测、阈值设置、显示和报警功能的代码。
-
Proteus仿真图:
- 用于模拟系统功能的仿真图,二氧化碳模块通过串口进行仿真。
-
使用演示视频:
- 演示系统的实际运行情况和功能。
代码分析
-
主程序 (main函数):
- 初始化LCD1602显示屏和串口通信,进入主循环,定时获取温度和二氧化碳浓度数据,并根据按键输入调整报警阈值,显示当前数据和阈值,控制蜂鸣器和风扇。
-
串口中断服务程序 (Uart_isr函数):
- 处理二氧化碳传感器发送的数据,将其存储到缓冲区,并进行校验和处理。
-
显示函数 (disp_line1和disp_line2函数):
- 将温度、二氧化碳浓度以及报警阈值显示在LCD1602显示屏上。
-
按键处理函数 (deal_key函数):
- 根据按键输入调整温度和二氧化碳浓度的报警阈值。
-
报警控制函数 (contorl_beep函数):
- 根据当前温度和二氧化碳浓度与阈值的比较结果,控制蜂鸣器和风扇的状态。
总结
该作品通过STC89C52RC单片机实现了对环境温度和二氧化碳浓度的监测,用户可以通过按键设置报警阈值,当检测值超过阈值时,系统会启动蜂鸣器报警并驱动风扇工作。系统的硬件部分包括温度传感器、二氧化碳传感器、显示屏、按键、风扇和蜂鸣器,而软件部分则实现了数据采集、显示、阈值调整和报警控制的功能。