单片机 智能环境监测系统程序

合集下载

基于单片机的实验室智能环境监测系统的设计与制作

基于单片机的实验室智能环境监测系统的设计与制作

基于单片机的实验室智能环境监测系统的设计与制作摘要:针对当前高校实验室环境条件无法监控,且实验室环境因数影响实验仪器、实验结果等问题,设计一种以STC89C52开发板为核心,具有多种数据采集,LCD显示数据、蜂鸣器报警和无线WIFI传输监测数据等功能。

该系统测量精度高,具有较好的移植性和易用性。

在不影响现有实验室的教学进行前提下,实现智能环境监测。

关键词:STC89C52单片机;传感器;环境监测;WIFI1引言在智能化建设普遍实行的时代下,高校实验室安全环境监测是一个十分重要的部分。

实验室的环境参数直接影响实验仪器的寿命,以及实验结果的准确性。

同时实验室具有利用率高、人员集中且流动性大等特点,如何保证现有实验室的教学活动不受影响,实时掌握实验室的环境参数数据,并及时发现实验室的异常隐患,已成为实验室管理中不可缺少的一环。

基于上述背景,本文设计了基于STC89C52单片机的实验室智能环境监测系统,通过温湿度传感器、光照强度传感器、烟雾传感器、粉尘传感器实时对高校实验室环境中的温湿度、粉尘、烟雾和光照强度等数据进行有效的采集并在液晶显示屏上显示,同时具有蜂鸣器报警并通过WIFI模块,实现数据的无线传输。

2系统设计本系统以STC89C52单片机为核心,融合4类传感器,分别是温湿度传感器、光强采集电路、粉尘传感电路、烟雾传感器实现自动检测。

同时搭配LCD显示电路、WIFI电路和报警电路,系统框图如图1所示,可以实现如下功能:(1)实时检测当前环境中的温湿度、光照强度、烟雾的浓度和粉尘浓度,并将数值显示在液晶显示屏上;(2)当烟雾浓度高于阈值时,触发报警电路,等待处理,直到烟雾浓度低于阈值时,停止报警,同时,当粉尘浓度与温湿度低于或高于阈值时也会触发报警。

(3)利用WIFI模块可以将设备与手机APP相连接,可以实时将监测数据发送到手机上。

图1 系统框图3硬件设计3.1 单片机最小系统本系统单片机最小系统以AT89C52为主控芯片,因为AT89C52内部有8字节可编程的 Flash 闪速存储器,所以在组成最小系统时只需要有晶振电路、复位电路等外围电路组成,不需要外扩程序存储器,其最小系统电路图如图2所示。

基于单片机的室内环境监测系统设计

基于单片机的室内环境监测系统设计

基于单片机的室内环境监测系统设计一、本文概述随着科技的快速发展和人们生活水平的提高,室内环境质量日益受到人们的关注。

室内环境监测作为保障居住环境和办公环境健康的重要手段,其重要性不言而喻。

本文旨在探讨基于单片机的室内环境监测系统的设计,旨在通过技术手段实现对室内环境参数的实时监测和数据分析,从而为用户提供舒适、安全的室内环境。

文章首先将对室内环境监测系统的背景和意义进行简要介绍,阐述其在实际应用中的价值和作用。

随后,将详细介绍基于单片机的室内环境监测系统的整体设计思路,包括系统的硬件组成、软件设计以及数据传输与处理等方面。

在硬件设计部分,将重点介绍单片机的选型、传感器的选择以及外围电路的设计。

在软件设计部分,将详细介绍系统的程序流程、数据处理算法以及用户界面设计。

将展示系统的实际运行效果,并对其性能进行评估。

本文的目的是为相关领域的研究人员和工程师提供一个基于单片机的室内环境监测系统设计的参考方案,同时也为普通用户提供一个了解室内环境监测技术途径的窗口。

通过本文的阐述,希望能够推动室内环境监测技术的发展,为改善人们的居住环境和生活质量做出贡献。

二、系统总体设计在基于单片机的室内环境监测系统设计中,总体设计是整个项目的核心部分,它决定了系统的基本架构和功能实现。

总体设计主要包括硬件设计和软件设计两个方面。

硬件设计方面,系统的核心是单片机,负责数据的采集、处理和控制。

我们选择了具有高性能、低功耗和易于编程的STC89C52单片机作为核心控制器。

为了监测室内的温度、湿度和空气质量,我们分别采用了DHT11温湿度传感器和MQ-135空气质量传感器。

DHT11具有响应速度快、抗干扰能力强等特点,而MQ-135则对有害气体具有较高的灵敏度。

系统还包括LCD1602液晶显示屏,用于实时显示监测数据;蜂鸣器,用于在空气质量超标时发出警报;以及按键模块,用于设置阈值和进行系统校准。

软件设计方面,我们采用了模块化编程思想,将系统划分为数据采集模块、数据处理模块、控制模块和显示模块等。

单片机智能环境监测应用 实现环境数据的监测

单片机智能环境监测应用 实现环境数据的监测

单片机智能环境监测应用实现环境数据的监测随着科技的不断发展,智能化设备在我们的生活中得到了广泛应用。

其中,单片机作为一种常见的嵌入式设备,其应用范围也越来越广泛。

本文将探讨单片机智能环境监测应用,重点介绍如何实现环境数据的监测。

一、引言随着城市化进程的加快和人口的快速增长,环境问题日益突出。

空气质量、水质安全等成为人们关注的焦点。

因此,开发一种智能环境监测系统,实时监测环境数据,具有重要的意义。

二、单片机智能环境监测应用的基本原理单片机智能环境监测系统由传感器、数据采集模块、单片机控制模块和显示模块等组成。

传感器用于采集环境数据,如温度、湿度、气体浓度等。

数据采集模块负责将传感器采集到的模拟信号转换为数字信号,并传输给单片机控制模块。

单片机控制模块负责对采集到的数据进行处理和分析,并根据设定的规则做出相应的动作。

显示模块用于实时显示环境数据。

三、单片机智能环境监测应用的具体实现1. 传感器选择和接口设计根据监测需求,选择合适的传感器进行环境数据采集。

例如,如果需要监测温度和湿度,可以选择温湿度传感器,如果需要监测空气质量,可以选择气体传感器。

此外,还需要设计相应的接口电路,将传感器与单片机连接起来。

2. 数据采集与处理通过数据采集模块,将传感器采集到的模拟信号转换为数字信号,并传输给单片机控制模块。

单片机控制模块对这些数据进行处理和分析,例如计算平均值、最大值、最小值等。

3. 环境数据规则设置根据实际需求,设置环境数据的规则。

例如,当温度超过某一阈值时,触发报警功能;当湿度低于某一阈值时,触发加湿器工作等。

这些规则可以通过编程实现,并与单片机控制模块相连。

4. 数据显示与通信通过显示模块,实时显示环境数据。

可以选择LCD屏幕、数码管等进行数据显示。

同时,还可以通过通信模块,将环境数据传输给外部设备,如手机、电脑等,实现远程监控。

四、单片机智能环境监测应用的优势和应用前景单片机智能环境监测应用具有以下优势:1. 精确性:传感器采集的数据具有较高的准确性和稳定性,能够准确反映环境状态。

单片机 智能环境监测系统程序

单片机 智能环境监测系统程序

51单片机智能环境监测系统程序王维进#include <reg52.h>#include <intrins.h>#include <absacc.h>#include <math.h>#include "0832.h"#define uchar unsigned char#define uint unsigned int#include "eeprom52.h"sbit DATA = P3^7; //温湿度sbit E=P2^5; //1602使能引脚sbit RS=P2^7; //1602数据/命令选择引脚sbit RW=P2^6;sbit K1=P1^3;//设置键sbit K2=P1^4;//加sbit K3=P1^5;//减sbit K4=P1^7; //人体sbit K5=P1^6; //布防撤防按键sbit LED1=P3^1; //烟雾报警sbit LED2=P3^2; //温度上限sbit LED3=P3^3; //温度下限sbit LED4=P3^4; //湿度上限sbit LED5=P3^5; //湿度下限sbit LED6=P3^6; //红外报警sbit alarm=P3^0; //蜂鸣器ucharU8FLAG,U8temp,U8comdata,U8RH_data_H_temp,U8RH_data_L_temp,U8T_data_H_temp,U8T_data_L_temp ,U8checkdata_temp;uchar U8RH_data_H,U8RH_data_L,U8T_data_H,U8T_data_L,U8checkdata;uchar Mode,humidity,temperature,smog;bit BJ_LED1=1,BJ_LED2=1,BJ_LED3=1,BJ_LED4=1,BJ_LED5=1,BJ_LED6=1;bit bdata FlagStartRH;uchar flag ;//记录当前设置状态uint count;//定时器0初始化void Timer0_Init(){ET0 = 1; //允许定时器0中断TMOD = 0x11; //定时器工作方式选择TL0 = 0xFF;TH0 = 0x4B; //定时器赋予初值TH1=0xdc;TL1=0x00;ET1=1;TR0 = 1; //启动定时器}//定时器0中断void Timer0_ISR (void) interrupt 1 using 0{uchar RHCounter;TL0 = 0xFF;TH0 = 0x4B; //定时器赋予初值RHCounter++;if (RHCounter >= 15){FlagStartRH = 1;RHCounter = 0;}}void Delay1(uint j){uchar i;for(;j>0;j--){for(i=0;i<27;i++);}}void Delay_10us(void){uchar i;i--;i--;i--;i--;i--;i--;}void COM(void){uchar i;for(i=0;i<8;i++){U8FLAG=2;while((!DATA)&&U8FLAG++);Delay_10us();Delay_10us();Delay_10us();U8temp=0;if(DATA)U8temp=1;U8FLAG=2;while((DATA)&&U8FLAG++);//超时则跳出for循环if(U8FLAG==1)break;//判断数据位是0还是1// 如果高电平高过预定0高电平值则数据位为1U8comdata<<=1;U8comdata|=U8temp; //0}//rof}//--------------------------------//-----温湿度读取子程序------------//--------------------------------//----以下变量均为全局变量--------//----温度高8位== U8T_data_H------//----温度低8位== U8T_data_L------//----湿度高8位== U8RH_data_H-----//----湿度低8位== U8RH_data_L-----//----校验8位== U8checkdata-----//----调用相关子程序如下----------//---- Delay();, Delay_10us();,COM();//--------------------------------uchar RH(void){//主机拉低18msDATA=0;Delay1(180); //原来为5DATA=1;//总线由上拉电阻拉高主机延时20usDelay_10us();Delay_10us();Delay_10us();Delay_10us();//主机设为输入判断从机响应信号DATA=1;//判断从机是否有低电平响应信号如不响应则跳出,响应则向下运行if(!DATA) //T !{U8FLAG=2;//判断从机是否发出80us 的低电平响应信号是否结束while((!DATA)&&U8FLAG++);U8FLAG=2;//判断从机是否发出80us 的高电平,如发出则进入数据接收状态while((DATA)&&U8FLAG++);//数据接收状态COM();U8RH_data_H_temp=U8comdata;COM();U8RH_data_L_temp=U8comdata;COM();U8T_data_H_temp=U8comdata;COM();U8T_data_L_temp=U8comdata;COM();U8checkdata_temp=U8comdata;DATA=1;//数据校验U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp==U8checkdata_temp){U8RH_data_H=U8RH_data_H_temp;U8RH_data_L=U8RH_data_L_temp;U8T_data_H=U8T_data_H_temp;U8T_data_L=U8T_data_L_temp;U8checkdata=U8checkdata_temp;}return 1;}else //传感器不响应{return 0;}}/********************************************************************* 文件名:液晶1602显示.c* 描述: 该程序实现了对液晶1602的控制。

基于单片机的室内环境监测系统设计

基于单片机的室内环境监测系统设计

基于单片机的室内环境监测系统设计一、引言近年来,随着人们对室内空气质量的关注日益增加,室内环境监测系统的需求也不息增长。

室内环境监测系统通过感知各种环境参数,如温度、湿度、空气质量等,来实时监测室内环境的状态,并提供相应的报警、控制等功能,为用户创设一个舒适健康的室内环境。

本文将阐述基于单片机的室内环境监测系统的设计思路和实现过程。

二、系统设计方案2.1 系统硬件设计本室内环境监测系统的核心硬件为单片机,其主要功能是采集传感器的数据并进行处理。

另外,还需配备用于触发报警和显示环境参数的模块。

详尽设计方案如下:2.1.1 单片机选择单片机是室内环境监测系统的核心控制器,其性能和功能直接影响系统的稳定性和可靠性。

本设计选择了性能较为稳定的STM32系列单片机,其具有较高的时钟频率和丰富的外设接口,可以满足本系统的需求。

2.1.2 传感器选择和毗连本系统需要采集温度、湿度和空气质量等环境参数,因此需要选择相应的传感器。

温湿度传感器一般接受DHT11或DHT22系列,空气质量传感器则选择MQ系列传感器。

传感器与单片机的毗连接受数字接口,通过串口通信方式进行数据传输。

2.1.3 报警和显示模块为了便利用户准时了解室内环境的状况,需要设计报警和显示模块。

报警模块选用蜂鸣器,当环境参数异常时触发报警,提示用户。

显示模块选用LCD显示屏,将实时环境参数以图形化方式展示给用户。

2.2 系统软件设计系统软件设计主要包括单片机的程序开发以及上位机软件的编写。

其中,单片机程序主要负责采集传感器数据、进行数据处理和控制报警显示模块;上位机软件主要负责与单片机进行数据交互、数据存储和用户界面的显示。

2.2.1 单片机程序开发单片机程序开发主要涉及到传感器数据采集和处理,接受中断处理方式,提高系统的实时性和稳定性。

程序中设置不同的阈值,当环境参数超出设定的范围时,触发报警和显示相应的提示信息。

2.2.2 上位机软件编写上位机软件编写主要用于与单片机进行数据通信和数据存储。

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计目前,随着环境污染问题的日益严重,人们越来越关注室内空气质量。

室内环境多参数监测系统的设计就是为了监测室内环境的多个关键参数,并实时提供相关的数据,以帮助人们改善室内环境质量。

该系统采用基于单片机的设计,主要包括传感器模块、单片机模块、通信模块和显示模块四个部分。

传感器模块通过接入多个传感器来监测室内环境的多个参数,例如温度、湿度、CO2浓度、烟雾浓度等。

传感器模块将采集到的数据转换成电信号,并通过模拟转换芯片传递给单片机模块进行处理。

单片机模块使用单片机芯片来处理传感器模块传递过来的数据,并进行相应的算法处理。

通过使用AD转换器,单片机可以将模拟信号转换成数字信号。

单片机还能根据预设的阈值来判断当前室内环境是否达到了安全标准,并控制相应的设备进行调节。

通信模块用于将单片机处理后的数据发送给用户。

可以选择使用无线通信技术,如Wi-Fi或蓝牙,将数据发送给手机或电脑。

用户可以通过手机APP或电脑软件查看实时的室内环境数据,并根据需要对室内环境进行调节。

显示模块用于在系统主机上直接显示室内环境参数。

可以使用液晶显示屏或LED灯等显示器来实现。

该模块可以显示当前的温度、湿度、CO2浓度等参数,并根据预设的阈值以不同的颜色或灯光显示当前环境的安全程度。

在设计过程中,需要注意以下几点:1.选择合适的传感器:根据实际需求选择适合的传感器来监测多个环境参数,确保传感器具有良好的准确性和稳定性。

2.单片机的选择和编程:选择合适的单片机芯片,并进行相应的编程,以实现对传感器数据的采集、处理和判断。

3.系统的可扩展性:考虑到室内环境参数可能会随着时间和需求的变化而增加或减少,设计时要预留一定的接口和扩展能力,方便后期对系统进行升级和扩展。

4.安全性和稳定性:在设计过程中要注意系统的安全性和稳定性,确保数据的准确性和系统的可靠性。

综上所述,基于单片机的室内环境多参数监测系统设计是一个综合性的项目,需要整合传感器、单片机、通信和显示等多个模块,以实现对室内环境的多个参数进行监测和控制。

单片机与智能环境监测系统的应用

单片机与智能环境监测系统的应用

单片机与智能环境监测系统的应用随着科技的不断发展,智能化已经成为人们生活的一部分。

其中,智能环境监测系统在提高人们生活质量、保护生态环境等方面发挥着重要作用。

而单片机作为一种常用的开发工具,也在智能环境监测系统中得到了广泛的应用。

本文将探讨单片机与智能环境监测系统的应用,并详细介绍其工作原理和优势。

一、单片机在智能环境监测系统中的作用随着环境问题的日益凸显,人们意识到需要实时监测和控制环境变量,以保护环境和人类健康。

智能环境监测系统的出现满足了这一需求。

而单片机则是这一系统中的核心控制器。

单片机具有体积小、功耗低、易于编程等特点,使得它成为智能环境监测系统的理想选择。

二、智能环境监测系统的工作原理智能环境监测系统通过传感器或探测器采集环境数据,如温度、湿度、气体浓度等,并将数据传输给单片机进行处理。

单片机根据预设的监测算法,对数据进行分析和判断,并根据判断结果控制执行器进行相应的操作,如开启或关闭温度调节设备等。

三、单片机在智能环境监测系统中的优势1. 快速响应和实时控制:单片机具有高效的数据处理能力,能够快速响应环境变化,并实时控制设备进行调节,保证环境参数的稳定性和舒适性。

2. 省电节能:单片机的功耗低,能有效降低系统能耗。

通过对环境参数的精确监测和控制,可以实现对电力的优化利用。

3. 稳定可靠:单片机经过专业设计和测试,具有稳定可靠的性能,能够长时间稳定运行,提高系统的可靠性。

4. 灵活可编程:单片机具有强大的扩展性,可以根据不同的需求开发和定制监测系统,实现系统的灵活性和个性化。

5. 成本低廉:相比于其他控制器,单片机的成本较低,能够满足智能环境监测系统的需求,并有效降低系统的造价。

四、单片机与智能环境监测系统的应用案例1. 家庭智能监测系统:通过温湿度传感器和光照传感器等监测设备,单片机可以实时监测家庭环境参数,并根据需要调节空调、照明等设备,提高家居生活的舒适度和节能性。

2. 工业环境监测系统:单片机可以集成多个传感器,对工业环境参数进行全面监测。

基于单片机的室内环境监测系统设计

基于单片机的室内环境监测系统设计

基于单片机的室内环境监测系统设计随着科技的进步和人们生活水平的提高,对室内环境的要求也越来越高。

良好的室内环境不仅能提高人们的居住舒适度,还直接关系到人们的健康。

因此,室内环境监测系统的设计和应用成为了一个热门话题。

本文将介绍一种基于单片机的室内环境监测系统的设计方案,该系统旨在实时监测室内的温度、湿度、光照强度和二氧化碳浓度,并通过显示器和报警装置提供相应的环境信息,为用户创造一个舒适和健康的生活环境。

首先,我们选用了一款功能强大的单片机作为系统的核心控制器。

该单片机具有较高的性能和较低的功耗,能够满足室内环境监测系统的需求。

通过引入传感器模块,单片机可以实时地采集室内环境信息。

温度传感器是整个系统的重要组成部分之一。

我们选用了DS18B20温度传感器,该传感器精度较高,具有较好的稳定性和抗干扰性。

温度传感器将实时监测室内的温度变化,并传输给单片机进行处理。

单片机根据预设的温度范围,当温度超出范围时,报警装置将发出声音警示用户。

湿度传感器是另一个重要的模块。

我们选用了DHT11湿度传感器,该传感器具有较高的湿度测量精度和较低的功耗。

湿度传感器可以实时地监测室内的湿度变化,并将数据传输给单片机进行处理。

当湿度超出预设范围时,系统会通过显示器显示相应的警告信息,提醒用户进行调节。

光照强度传感器用于监测室内的光照情况。

我们选用了BH1750光照强度传感器,该传感器具有较高的测量精度和较宽的测量范围。

光照强度传感器将实时地监测室内的光照强度,并将数据传输给单片机进行处理。

当光照强度过强或过弱时,系统会自动调节窗帘或灯光,以保持适宜的光照条件。

二氧化碳传感器用于监测室内的空气质量情况。

我们选用了MG811二氧化碳传感器,该传感器具有较高的灵敏度和较低的功耗。

二氧化碳传感器将实时地监测室内的二氧化碳浓度,并将数据传输给单片机进行处理。

当二氧化碳浓度超过预设阈值时,系统会及时发出警报,提醒用户进行通风处理。

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计1. 引言1.1 背景介绍现在,随着科技的不断发展和人们对生活质量的日益关注,室内环境的监测和控制已成为人们日常生活中的重要问题。

传统的室内环境监测系统存在着信息采集不全面、数据处理不及时、监测参数有限等问题,无法满足人们对室内环境质量监测的需求。

基于单片机的室内环境多参数监测系统应运而生。

本文旨在设计一种基于单片机的室内环境多参数监测系统,通过对环境中的温度、湿度、光照、二氧化碳浓度等参数进行实时监测和数据处理,为用户提供全面的室内环境信息,并通过控制系统对环境进行优化调节,实现良好的室内生活环境。

本文将围绕系统框架设计、硬件设计、软件设计、传感器选型与布局以及通信模块设计等内容展开论述,旨在为室内环境监测系统的设计和实现提供参考和指导。

通过本文的研究,将进一步提高室内环境监测系统的监测精度和响应速度,为人们创造更加舒适、健康的室内生活环境。

1.2 问题提出在室内环境监测系统设计中,问题的提出是至关重要的。

随着人们对生活质量的要求不断提高,对室内环境的监测和控制也变得愈发迫切。

传统的室内环境监测系统存在着很多问题,如监测参数有限、精度不高、实时性差等。

急需设计一种基于单片机的室内环境多参数监测系统,来解决这些问题。

这样的系统可以实时监测室内温度、湿度、光照等多个参数,并能够精准地反映真实的室内环境情况。

该系统还应具备实时传输数据、远程监控等功能,以满足用户对室内环境监测的需求。

问题的提出不仅是对传统监测系统的挑战,更是对我们设计新型监测系统的动力和契机。

通过解决这些问题,我们可以为用户提供更加智能、便捷、准确的室内环境监测方案,为改善人们的生活质量提供技术支持。

1.3 研究意义室内环境监测对人类的健康和生活质量具有重要意义。

随着现代城市人口密集度的增加,室内空气质量、温度、湿度等多个参数对居民的生活环境造成了直接影响。

设计一种基于单片机的室内环境多参数监测系统具有重要的研究意义。

单片机远程监测系统的软件设计与程序实现演示

单片机远程监测系统的软件设计与程序实现演示

单片机远程监测系统的软件设计与程序实现演示概述:单片机远程监测系统是一种基于单片机和网络通信的监测系统,通过使用传感器采集环境数据,将数据传输给远程服务器,并通过手机或电脑客户端进行实时监测和控制。

本文将详细介绍该系统的软件设计和程序实现。

1. 系统需求分析首先,我们需要明确该远程监测系统的功能需求和性能指标。

根据实际情况,我们可以确定以下需求:- 实时监测:能够实时获取各个传感器的数据,并实时显示在客户端上。

- 远程控制:允许用户通过客户端控制系统中的开关等设备。

- 数据存储:将采集到的数据存储在数据库中,方便查询和分析。

- 数据传输:通过网络将采集到的数据传输给远程服务器。

- 安全性:采用加密算法保证数据传输的安全性。

2. 硬件设计在软件设计之前,我们需要先设计硬件系统。

这包括选择合适的单片机、传感器和通信模块,并进行硬件电路的设计和组装。

3. 软件设计在软件设计中,我们需要考虑以下几个方面:- 单片机程序设计:需要编写单片机的程序,实现对传感器的数据采集和控制设备的功能。

- 客户端软件设计:开发手机或电脑客户端软件,通过连接远程服务器进行实时数据监测和控制。

- 服务器端软件设计:实现数据的接收、存储和传输功能,并提供对外接口供客户端访问。

- 数据库设计:设计数据库结构,存储采集到的数据,并提供查询接口。

- 网络通信设计:选择合适的通信协议和网络传输方式,确保数据能够稳定可靠地传输。

4. 程序实现演示下面,我将进行程序实现演示,以展示单片机远程监测系统的功能。

首先,我们需要将单片机和传感器连接起来,编写单片机程序进行数据采集和控制。

通过串口或其他通信方式,将采集到的数据发送给远程服务器。

在客户端软件中,我们可以通过登录界面输入用户名和密码进行身份验证。

验证通过后,客户端会显示系统的实时监测数据,如温度、湿度、光照等。

用户可以通过界面上的开关按钮,控制系统中的设备。

服务器端软件接收到单片机发送的数据后,将数据存储到数据库中。

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计随着社会的发展和科技的进步,人们对室内环境的质量要求越来越高,传统的室内监测方式已经无法满足需要了。

基于单片机的室内环境多参数监测系统是一种新型的监测系统,可以对室内温度、湿度、氧气浓度和PM2.5等多个参数进行监测,并可以通过智能化控制提供相应的解决方案。

一、系统硬件设计本系统主要由单片机、传感器、LCD屏幕、蜂鸣器、LED指示灯等硬件组成。

其中单片机采用STM32F103ZET6芯片,传感器包括温湿度传感器、氧气浓度传感器和PM2.5传感器。

LCD屏幕用于显示当前的环境参数,蜂鸣器用于发出警报信号,LED指示灯用于显示当前的运行状态。

本系统主要有三个功能模块,分别是环境监测模块、数据处理模块和智能控制模块。

1.环境监测模块该模块主要负责对室内的环境参数进行监测,实时获取环境中的温度、湿度、氧气浓度和PM2.5等参数,并将数据传输给数据处理模块。

在监测过程中,如果环境参数超过设定的阈值,系统就会自动发出警报信号并通过LCD屏幕进行提示。

2.数据处理模块该模块主要负责处理从环境监测模块中传输过来的数据。

它会对数据进行分析和处理,比如可以对环境参数进行统计分析,并将数据显示在LCD屏幕上。

同时,数据处理模块还可以根据当前的参数状态,自动调整环境参数,从而改善室内环境质量。

3.智能控制模块该模块主要负责根据当前环境参数状态,自动控制相关设备的运行情况,从而实现智能化控制。

比如可以自动控制空调的开关,或者自动开启新风系统来改善室内环境质量。

同时,智能控制模块还可以通过网络通信将环境数据发送给外部设备,比如手机、电脑等。

三、系统优势本系统的优势主要有以下几点:1.多参数监测本系统可以同时监测多个环境参数,包括温度、湿度、氧气浓度和PM2.5等参数,从而能够全面地了解室内环境的状态。

本系统可以通过智能化控制来改善室内环境质量,比如自动调节空调温度、控制新风系统等。

3.数据实时显示本系统的数据实时显示功能可以让用户随时了解室内环境的状态,从而可以采取相应的措施来改善室内环境质量。

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计
室内环境多参数监测系统是一种通过单片机技术实现的监测室内环境的系统。

随着人
们对室内环境质量的要求越来越高,开发这样一个系统可以实时监测室内温度、湿度、
PM2.5浓度等多个参数,并提供相应的报警,以便人们可以及时采取相应的措施来改善室
内环境。

这个设计系统基于单片机技术,采用传感器和单片机的结合来实现室内环境的监测。

我们可以选择一些常见的传感器,如温湿度传感器和PM2.5传感器,利用这些传感器来采
集相应的数据。

其次,我们还需要选择合适的PM2.5传感器来监测室内PM2.5的浓度。

PM2.5传感器可以通过光学原理来检测空气中PM2.5的浓度,并将数据反馈给单片机。

单片机可以通过串
口通信或者其他方式将采集到的数据传输给上位机,上位机可以对数据进行处理和显示。

在系统设计中,我们需要考虑到传感器的选择和布置,以保证准确监测室内环境参数。

并且需要编写相应的程序来处理传感器数据并进行相应的报警。

在系统设计中,我们还可以考虑将更多的传感器与单片机相连接,以扩展其功能。


如可以连接烟雾传感器来监测室内空气质量,连接光照传感器来监测室内光照强度等。

总体来说,基于单片机的室内环境多参数监测系统设计可以实现室内环境的实时监测
和报警,为人们提供一个健康、舒适的室内环境。

在设计过程中,我们需要考虑传感器的
选择和布置,编写相应的程序来处理传感器数据,并可以扩展更多的传感器以提供更多的
功能。

基于单片机的室内环境智能监测系统设计

基于单片机的室内环境智能监测系统设计

基于单片机的室内环境智能监测系统设计2016届毕业生毕业设计说明书(原创保证能用)题目: 基于单片机的室内环境智能监测系统设计院系名称:专业班级:学生姓名:学号:指导教师:教师职称:2016 年05月25日摘要随着社会的发展,科学技术的提升,生产生活的不断优化,人们的生活水平也在随之不断提高,因此人们也开始越来越重视室内环境发舒适程度。

住宅不仅是家庭团聚和生活的场所,而且还是人们生活的重要物质保障,但随着装修材料的肆意使用和生活用品的日益广泛,居住环境的隐患大幅度提高,室内环境污染已成为严重影响现代人类健康的杀手之一,严重影响着人们的生产生活。

因此尤为重要的便是室内环境的监测,不仅要灵敏的检测出各种有害气体的浓度大小,也要具有报警功能,可以时刻提醒危险。

当下市面上也有很多监测室内环境的装置仪器,但其大部分价格偏高而且功能相对单一局限,因此非常需要能够综合监测室内温湿度和有害气体的智能系统。

本设计主要运用了如下几方面的功能:1.将单片机和温湿度、气体传感器相连接,实现实时采集和读取室内温湿度值以及监测气体浓度,达到预期效果。

2.利用LCD完成了显示电路的设计。

3.利用蜂鸣器报警功能,当气体浓度值和温湿度值超过设定的标准值时,实现自动报警功能。

4.当温湿度超限时,LCD显示器可以立即提示并结合发光二极管报警,当气体浓度超限时采用发光二极管报警。

关键词:单片机;声光报警;LCD显示电路;室内环境监测Title The design of indoor environmental intelligent monitoring system based on the Single Chip MicrocomputerAbstractWith the development of society, the improvement of science and technology, the continuous optimization of production and life, people's living standards have been improved, so people have begun to pay more attention to the indoor environment. Residence is not only the place of family party and life, but also an important material guarantee of people's lives. But with the wanton use of decoration materials and daily necessities, the hidden danger of the living environment is greatly improved. Indoor environment pollution has become one of the serious killer on the modern human health, impacting on people's production and life. Therefore, it is particularly important to monitor the indoor environment, not only to be sensitive to detect the concentration of harmful gases, but also with alarm function, it can always remind the danger. At present on the market also has a lot of indoor environmental monitoring instrumentation, but most of its high price and function relative to a single limited. Therefore there is a great need for comprehensive monitoring of indoor temperature and humidity and harmful gas intelligent system.This design mainly uses the following several aspects of the function:1 The single chip microcomputer and the temperature and humidity, gas sensorare connected to achieve real-time collection and reading room temperature and humidity values as well as monitoring the gas concentration, to achieve the desired results.2 The design of display circuit is completed by using LCD.3 Using buzzer alarm function, when the gas concentration and temperature and humidity value exceeds the set standard value, realize the automatic alarm function.4 When the temperature and humidity are out of limit, the LCD monitor can prompt and combined with the light emitting diode warning, when the gas concentration exceeds the limit, the light emitting diode is used to alarm.Key words: MCU; Sound and light alarm; LCD; Indoor environment monitoring目次1 绪论 (1)1.1 研究背景 (1)1.2 室内环境智能监测系统现状 (1)1.3 设计目的及内容 (2)2 系统设计方案论证以及总体框架设计 (3)2.1 设计方案论证 (3)2.1.1 单片机模块的选择及论证 (3)2.1.2 温湿度监测模块选择与论证 (3)2.1.3 煤气监测选择与论证 (4)2.2 总体硬件电路框架 (4)3 硬件系统设计与连接 (6)3.1 温湿度检测模块设计 (6)3.2 A/D 转换器 (7)3.3 燃气监测模块设计 (8)3.3.1 MQ-5 传感器 (8)3.3.2 燃气监测模块设计 (9)3.4 AT89S52 单片机时钟电路 (10)3.5 AT89S52单片机复位电路 (10)3.6 显示电路设计 (11)3.7 报警模块设计 (11)4 系统软件设计 (13)4.1 编程语言选择 (13)4.2 程序设计流程 (13)4.2.1 温湿度测量模块 (13)4.2.2 燃气监测模块 (14)5 系统调试 (16)总结 (18)致谢 (19)参考文献 (20)附录一 (21)附录二 (22)1 绪论1.1 研究背景随着社会的发展,科学技术的提升,生产生活的不断优化,人们的生活水平也在随之不断提高,因此人们也开始越来越重视室内环境发舒适程度。

基于单片机的室内环境监测程序设计流程

基于单片机的室内环境监测程序设计流程

基于单片机的室内环境监测程序设计流程首先,是对于温湿度的测量设计,可以按照硬件电路的实际设计,在单片机的控制前提下对环境温度、湿度进行测量,在经过单片机转化之后,可以生成一个数码管参数,在参数显示之后,可以和起初的设置值进行对比。

比如,如果说在程序运行中把温度设置成为是二十四摄氏度以上、十摄氏度以下,那么当室内的实际温度超出二十四摄氏度或低于十摄氏度的时候,就会发生警报。

如果室内温度变为二十四摄氏度以下,或十摄氏度以上之后,二极管就会自动熄灭。

在传感器和单片机两者之间可以通过单总线数据来实现沟通,在四秒钟的时间内就可以实现一次沟通,把收集到的数据分成小数和整数,一个完善且正确的数据长度应该是40bit,在全部数据当中,又包含了湿度数据和小数、温度数据和小数、以及校验等几部分,每一个数据都占据了八个字节。

若最终所得到的字节数是不准确的,不管是多一位还是少一位,都应该重新进行校验。

单片机在产生一次信号之后,传感器就会从原本的低功耗转换成为高速状态,而当主机开始信号完成之后,信号就会被生成并将采集信号开启,最后传感器再回到低消耗模式。

图3.8温湿度软件设计流程Figure 3.8 temperature and humidity software design process 在传感器和单片机实现沟通的过程当中,如果是处于闲置的情况下,那么总线的状态就是高电平,为了确保传感器检测到的信号是准确且在十八秒以上的,传感器在开始信号完成之后的第一时间,就要将八十微秒的低电平信号发送出去。

而这个时候,主机的任务则和传感器完全不一样,在开始信号完成后的二十微秒至四十微秒之内,对传感器的响应信号加以提取。

假设系统的总线处于低电平的状态,那么就意味着传感器正在对信号进行传输,当信号传输成功后,会把电平延伸到八十微秒,从而对发送数据进行获得和准备。

每一个字节的参数都是以五十赫兹的频率来输送,不管是数据位是0还是1,都取决于高电平的长短,当数据输送完成之后,传感器就会自动的将系统总线拉低,并重新回到闲置状态。

基于单片机的智能环境监测系统

基于单片机的智能环境监测系统

本设计主要山温湿度检测、烟雾检测电路、报警电路、显示电路和人体检测等模块组成。

温湿度检测部分使用的是DHT11这种型号的温湿度传感器。

DHT11是一种单总线型数字式温湿度传感器,它具有误差小、分辨率高、抗干扰能力强等特点。

在烟雾检测电路模块当中,利用气体传感器曲-2与ADC0832模数转换器实现基本功能。

通过这些传感器和芯片,当环境中可燃气体浓度或有毒气体等发生变化时系统会发出相应的灯光报警信号和声音报警信号,以此来实现火灾报警,智能化提示。

人体检测部分,是通过HC-SR501模块实现,其主要工作原理就是将感应到的红外热辐射信号转换成电信号,再将其放大输出。

如果检测到危险信号,就会将信号传送给单片机,再经单片机处理,然后控制蜂鸣器和LED点亮发出警告。

本设计还可以在各种防盗场合下得到应用,比如家居防盗、仓库防盗等。

温湿度、烟雾和人体防盗检测是三种最基本的环境参数,其测量方法和装置对现在的生活、生产具有重要的意义。

关键词:温湿度检测;MQ-2传感器;烟雾报警;热释电红外传感器;防盗报警器1ABSTRACThe design is mainly composed of temperature and hunudity detection, smoke detection circuit, alarm circuit, display circuit and human detection module. Tlie temperanire and humidity test section uses die DHT11 temperature and hiumdity sensor. DHT11 is a single bus digital temperature and humidity sensor. It has the advantages of small error, high resolution, strong anti・interfbi:ence ability and so on. In tlie smoke detection circuit module, the gas sensor MQ-2 and die ADC0832 analog to digital converter are used to realize the basic fimctions. Through these sensors and chips、when the combustible gas concentration in die environment or toxic gas changes the system sends out die correspondmg light alarm signal and sound alarm signal, m order to realize the mtelligeiit fire alarm prompt. Tlie human detection part is realized by the HC-SR501 module. The mam principle is to convert the mfrared radiation signals into electrical signals, tlieii amplify and output them. If a dangerous signal is detected, the signal is transmitted to the microcontroller, processed by a microcontroller, and then controlled by a biizzer and LED to light a warning.The design can also be applied in a variety of anti-theft occasions, such as home security, warehouse anti-tlieft, etc.. Temperature, humidity, smoke and human burglar detection are the tliree basic environmental parameters, and their measurement methods and devices are unportant to the present life and production.Keywords: Temperature and humidity detection; MQ-2 sensor; Smoke alarm; Pyroelectric infrared sensor;Burglar alarm21.1课题背景 (5)1.2概述及功能介绍 (5)1.2. 1功能概述 (5)1.2.2主要功能介绍 (6)1.3本课题的研究思路 (6)1.3. 1研究意义 (6)1.3.2研究思路 (7)1.3.3研究难点 (7)1.4主要工作 (7)2系统方案设计 (8)2. 1系统构成 (8)2.2方案设计 (8)2.2. 1单片机的选择 (8)2.2.2传感器的选择 (10)2.2.3显示器选择方案 (10)2.2.4防盗检测选择方案 (11)3系统硬件设计 (12)43.2温:显度检测 (14)3. 3烟雾检测电路 (16)3. 4人体检测模块 (16)3.5报警电路 (18)3.5. 1灯光报警电路 (18)3.5.2声音报警电路 (18)3.6 LCD 1602 显示电路 (19)4系统软件设计 (22)4. 1软件介绍 (22)4.2系统程序流程图 (23)4. 3子程序流程图 (24)5测试结果及结论 (27)5. 1调试 (27)5.2结论 (29)参考文献 (30)附录 (31)致谢 (32)1绪论1.1课题背景智能家居的概念在很早之前就已经被提岀来了,但是一直以来也没有具体的设计实例出现。

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计
现如今,人们对室内环境的质量要求越来越高,因此室内环境监测系统逐渐得到广泛应用。

本文旨在基于单片机设计一种室内环境多参数监测系统,能够对温度、湿度、光照强度和气体浓度等参数进行实时监测和数据记录。

我们选用单片机作为系统的核心控制器。

单片机具有体积小、功耗低、功能强大等特点,非常适合用于物联网领域的设计。

系统的第一个模块是温度传感器模块。

我们选择一款精度高、响应速度快的温度传感器,将其连接到单片机的模拟输入引脚上。

通过读取传感器的电压信号,可以准确地获取当前的温度数值。

最后一个模块是气体传感器模块。

气体传感器用于检测室内的各种气体浓度,比如二氧化碳、甲醛等。

我们选用一种高精度的气体传感器,通过串口通信将传感器的测量结果发送给单片机。

在系统设计中,我们还需要考虑到数据的显示和存储问题。

我们可以通过连接一个液晶显示屏到单片机的数字输出引脚,将实时监测到的各参数数值显示在屏幕上。

我们还可以在单片机中使用SD卡模块来存储监测数据,以便于日后分析和处理。

基于单片机的室内环境多参数监测系统能够实时监测室内的温度、湿度、光照强度和气体浓度等参数,并将结果显示在液晶屏上。

系统还可以将监测数据存储在SD卡中,方便后续分析和处理。

这种监测系统在实际应用中有着广泛的潜力,并可用于家庭、办公室、实验室等各种场所。

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计一、引言随着人们生活水平的提高,对于室内环境质量的关注度也日益增加。

室内环境质量对于人们的健康和生活质量有着重要影响,因此监测室内环境质量成为了人们关注的焦点。

本文将基于单片机设计一个室内环境多参数监测系统,通过多种传感器实时监测室内环境的各项参数,如温度、湿度、空气质量等,并将监测结果通过显示屏显示出来,方便用户实时了解室内环境的情况。

二、系统设计1. 系统框图室内环境多参数监测系统主要由传感器模块、单片机模块、显示模块和电源模块组成,系统框图如下所示:传感器模块主要包括温湿度传感器、空气质量传感器和光照传感器,用于实时监测室内的温度、湿度、空气质量和光照强度。

单片机模块采用单片机作为控制核心,负责采集传感器模块的数据并进行处理,最终将监测结果显示在显示屏上。

显示模块采用液晶显示屏,用于显示监测结果。

电源模块为整个系统提供电源供应。

2. 传感器模块设计(1)温湿度传感器温湿度传感器采用数字式温湿度传感器DHT11,该传感器可实时监测室内的温度和湿度,并将监测结果以数字信号的形式传输给单片机。

DHT11传感器具有精度高、响应速度快等特点,能够准确地监测室内的温湿度情况。

(2)空气质量传感器空气质量传感器采用MQ-135气体传感器,该传感器可以监测室内的空气质量,包括一氧化碳、氨气、甲醛、苯、酒精等有害气体的浓度。

MQ-135传感器具有高灵敏度、快速响应等特点,可以准确地监测室内的空气质量情况。

(3)光照传感器光照传感器采用光敏电阻,该传感器可以监测室内的光照强度。

在低光条件下,光敏电阻的电阻值较大,在高光条件下,电阻值较小。

通过监测光敏电阻的电阻值变化,可以反映出室内的光照强度情况。

3. 单片机模块设计单片机模块采用STM32单片机作为控制核心,负责采集传感器模块的数据并进行处理。

通过单片机内置的模数转换器(ADC)对传感器模块输出的模拟信号进行采样和转换,最终将监测结果以数字信号的形式传输给显示模块。

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计一、引言室内环境监测在现代社会中具有重要意义,它对于人们的生活质量和健康状况有着直接的影响。

室内环境多参数监测系统通过对室内温度、湿度、气压、光照等多种参数的监测,可以提供关于室内环境的全面数据,为人们的生活提供更好的保障。

本设计旨在通过单片机技术,设计一种室内环境多参数监测系统,通过采集各种环境参数并进行处理,最终实现对室内环境的全面监测。

本设计将采用传感器采集室内环境的各种参数,并通过单片机进行数据处理和显示,从而实现室内环境的多参数监测。

二、系统设计方案1. 系统硬件设计本系统主要包括传感器模块、单片机模块、显示模块和通信模块。

传感器模块用于采集室内环境的多种参数,如温度、湿度、气压和光照等;单片机模块负责对传感器采集的数据进行处理和分析;显示模块用于显示环境参数的数值;通信模块负责将采集的数据上传至云端或其他设备中。

传感器模块采用数字式温湿度传感器、气压传感器和光敏传感器,分别用于采集室内的温度、湿度、气压和光照数据。

这些传感器调试方案需要充分考虑到传感器的灵敏度和准确性,并需要采用合适的滤波和校准技术,以保证采集的数据的准确性和稳定性。

显示模块采用液晶显示屏,可以实现对环境参数的实时显示和监测。

采用合适的设计方案,可以实现对多种环境参数的同时显示,提高系统的实用性和可用性。

通信模块可以采用无线通信模块或者有线通信模块,可以将采集的数据上传至云端或其他设备中,以实现对室内环境的远程监测和管理。

系统软件设计主要包括传感器数据采集、数据处理与分析、显示控制和通信控制四个部分。

传感器数据采集部分主要负责对传感器采集的数据进行AD转换和数据读取,以获取环境参数的实时数据。

数据处理与分析部分主要负责对传感器采集的数据进行处理和分析,例如对温度数据进行单位转换和校准,对湿度数据进行湿度计算和矫正等等。

显示控制部分主要负责控制显示模块的显示内容和显示方式,例如如何将多种环境参数的数据进行合理而美观的显示。

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计一、引言随着科技的不断发展,人们对于室内环境的监测需求也越来越迫切。

特别是在近年来,全球环境污染日益严重,室内空气质量也成为人们关注的焦点。

设计一种基于单片机的室内环境多参数监测系统对于人们的生活和健康具有重要意义。

本文将介绍一种基于单片机的室内环境多参数监测系统设计方案,将介绍硬件设计和软件开发的详细过程,以及系统监测的参数和功能。

二、系统设计1. 系统功能本系统设计旨在监测室内环境的多个参数,包括温度、湿度、PM2.5浓度等。

通过传感器采集环境参数,并将数据进行处理和显示,提供给用户对室内环境的即时监测和分析。

2. 系统架构本系统采用单片机作为核心控制器,通过多个传感器采集环境参数,并将数据传输到单片机进行处理和显示。

系统包括硬件和软件两部分,其中硬件部分包括传感器、单片机和显示屏,软件部分包括单片机程序和用户界面。

三、硬件设计1. 传感器选型本系统选择了温湿度传感器和PM2.5传感器,用于监测室内环境的温度、湿度和PM2.5浓度。

传感器选用优秀的品牌,保证传感器的精准度和稳定性。

2. 单片机选型本系统选择了性能稳定、功耗低的单片机作为核心控制器,具有较强的数据处理能力和丰富的外设接口,以满足系统对于多个参数的监测和显示要求。

3. 显示屏设计本系统采用了一块LED显示屏,用于显示监测到的环境参数值。

显示屏设计合理、显示清晰,能够满足用户对于信息的获取需求。

四、软件开发1. 单片机程序设计单片机程序设计包括传感器数据的采集和处理,以及数据的显示和存储。

程序需要对传感器进行初始化和校准,采集传感器数据,进行数据处理和计算,并将结果显示到显示屏上。

程序还需要具备一定的数据存储能力,可以保存历史数据以供用户查询。

2. 用户界面设计用户界面设计包括系统的启动和停止功能,以及参数的设置和调整。

用户界面应该简洁明了、操作便捷,能够满足用户对于环境监测的基本需求。

五、系统测试系统测试是系统开发的最后一个环节,在系统完成后需要进行严格的测试,确保系统的稳定性和可靠性。

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计

基于单片机的室内环境多参数监测系统设计随着人们对室内环境的重视和对舒适度的要求不断提高,室内环境监测系统也变得越来越重要。

本文旨在设计一种基于单片机的室内环境多参数监测系统,以实时监测室内温度、湿度和光照强度等参数,并能将监测结果显示在液晶屏上。

本系统的主要硬件组成部分包括单片机、温湿度传感器、光敏传感器、液晶屏和按键。

单片机是系统的核心控制部件,负责采集传感器的数据并进行处理,然后通过液晶屏进行显示。

温湿度传感器用于监测室内的温度和湿度,光敏传感器用于监测室内的光照强度,液晶屏用于显示监测结果,按键用于对系统进行设置和操作。

系统的工作原理如下:单片机通过温湿度传感器获取室内的温度和湿度数据,通过光敏传感器获取室内的光照强度数据。

然后,单片机对这些数据进行处理,并根据设定的阈值进行判断。

如果温度过高或过低、湿度过高或过低、光照强度过高或过低,则系统会通过液晶屏显示相应的警告信息。

用户可以通过按键来设置各个参数的阈值,以满足个人的需求。

在硬件设计方面,本系统选用了ATmega16单片机作为主控芯片,这是一种高性能、低功耗的单片机。

温湿度传感器选用了DHT11,这是一种数字温湿度传感器,具有精度高、体积小的特点。

光敏传感器选用了LDR,这是一种光敏电阻,具有灵敏度高、价格低廉的特点。

液晶屏选用了16*2字符型液晶,具有显示效果好、占用空间小的特点。

按键选用了4个独立按键,分别用于设定和调整各个参数的阈值。

在软件设计方面,本系统采用了C语言进行程序编写。

程序的主要功能包括初始化设置、数据采集、数据处理和显示等。

初始化设置阶段主要用于设置各个引脚的功能和初始化各个参数的阈值。

数据采集阶段主要用于从传感器中读取数据并保存到变量中。

数据处理阶段主要用于对采集到的数据进行处理,并与设定的阈值进行比较。

显示阶段主要用于将处理结果显示在液晶屏上。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51单片机智能环境监测系统程序王维进#include <reg52.h>#include <intrins.h>#include <absacc.h>#include <math.h>#include "0832.h"#define uchar unsigned char#define uint unsigned int#include "eeprom52.h"sbit DATA = P3^7; //温湿度sbit E=P2^5; //1602使能引脚sbit RS=P2^7; //1602数据/命令选择引脚sbit RW=P2^6;sbit K1=P1^3;//设置键sbit K2=P1^4;//加sbit K3=P1^5;//减sbit K4=P1^7; //人体sbit K5=P1^6; //布防撤防按键sbit LED1=P3^1; //烟雾报警sbit LED2=P3^2; //温度上限sbit LED3=P3^3; //温度下限sbit LED4=P3^4; //湿度上限sbit LED5=P3^5; //湿度下限sbit LED6=P3^6; //红外报警sbit alarm=P3^0; //蜂鸣器ucharU8FLAG,U8temp,U8comdata,U8RH_data_H_temp,U8RH_data_L_temp,U8T_d ata_H_temp,U8T_data_L_temp,U8checkdata_temp;uchar U8RH_data_H,U8RH_data_L,U8T_data_H,U8T_data_L,U8checkdata; uchar Mode,humidity,temperature,smog;bit BJ_LED1=1,BJ_LED2=1,BJ_LED3=1,BJ_LED4=1,BJ_LED5=1,BJ_LED6=1; bit bdata FlagStartRH;uchar flag ;//记录当前设置状态uint count;//定时器0初始化void Timer0_Init(){ET0 = 1; //允许定时器0中断TMOD = 0x11; //定时器工作方式选择TL0 = 0xFF;TH0 = 0x4B; //定时器赋予初值TH1=0xdc;TL1=0x00;ET1=1;TR0 = 1; //启动定时器}//定时器0中断void Timer0_ISR (void) interrupt 1 using 0 {uchar RHCounter;TL0 = 0xFF;TH0 = 0x4B; //定时器赋予初值RHCounter++;if (RHCounter >= 15){FlagStartRH = 1;RHCounter = 0;}}void Delay1(uint j){uchar i;for(;j>0;j--){for(i=0;i<27;i++);}}void Delay_10us(void){uchar i;i--;i--;i--;i--;i--;i--;}void COM(void){uchar i;for(i=0;i<8;i++){U8FLAG=2;while((!DATA)&&U8FLAG++);Delay_10us();Delay_10us();Delay_10us();U8temp=0;if(DATA)U8temp=1;U8FLAG=2;while((DATA)&&U8FLAG++);//超时则跳出for循环if(U8FLAG==1)break;//判断数据位是0还是1// 如果高电平高过预定0高电平值则数据位为 1U8comdata<<=1;U8comdata|=U8temp; //0}//rof}//--------------------------------//-----温湿度读取子程序 ------------//--------------------------------//----以下变量均为全局变量--------//----温度高8位== U8T_data_H------//----温度低8位== U8T_data_L------//----湿度高8位== U8RH_data_H-----//----湿度低8位== U8RH_data_L-----//----校验 8位 == U8checkdata-----//----调用相关子程序如下----------//---- Delay();, Delay_10us();,COM(); //--------------------------------uchar RH(void){//主机拉低18msDATA=0;Delay1(180); //原来为5DATA=1;//总线由上拉电阻拉高主机延时20usDelay_10us();Delay_10us();Delay_10us();Delay_10us();//主机设为输入判断从机响应信号DATA=1;//判断从机是否有低电平响应信号如不响应则跳出,响应则向下运行if(!DATA) //T !{U8FLAG=2;//判断从机是否发出 80us 的低电平响应信号是否结束while((!DATA)&&U8FLAG++);U8FLAG=2;//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态while((DATA)&&U8FLAG++);//数据接收状态COM();U8RH_data_H_temp=U8comdata;COM();U8RH_data_L_temp=U8comdata;COM();U8T_data_H_temp=U8comdata;COM();U8T_data_L_temp=U8comdata;COM();U8checkdata_temp=U8comdata;DATA=1;//数据校验U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_d ata_L_temp);if(U8temp==U8checkdata_temp){U8RH_data_H=U8RH_data_H_temp;U8RH_data_L=U8RH_data_L_temp;U8T_data_H=U8T_data_H_temp;U8T_data_L=U8T_data_L_temp;U8checkdata=U8checkdata_temp;}return 1;}else //传感器不响应{return 0;}}/************************************************************** ******* 文件名:液晶1602显示.c* 描述 : 该程序实现了对液晶1602的控制。

*************************************************************** ********//************************************************************** ******* 名称 : delay()* 功能 : 延时,延时时间大概为140US。

* 输入 : 无* 输出 : 无*************************************************************** ********/void delay(){int i,j;for(i=0; i<=10; i++)for(j=0; j<=2; j++);}/************************************************************** ******* 功能 : 1602命令函数* 输入 : 输入的命令值* 输出 : 无*************************************************************** ********/void write_1602com(uchar del){P0 = del;RS = 0;E = 1;delay();E = 0;delay();}/************************************************************** ******* 功能 : 1602写数据函数* 输入 : 需要写入1602的数据* 输出 : 无*************************************************************** ********/void write_1602dat(uchar del){P0 = del;RS = 1;E = 1;delay();E = 0;delay();}/************************************************************** ******* 名称 : L1602_init()* 功能 : 1602初始化,请参考1602的资料* 输入 : 无* 输出 : 无*************************************************************** ********/void L1602_init(void){write_1602com(0x38);write_1602com(0x0c);write_1602com(0x06);write_1602com(0x01); //清屏要放在最后}void display(){write_1602com(0x83);write_1602dat(temperature%100/10+0x30);write_1602dat(temperature%100%10+0x30); write_1602com(0x8c);write_1602dat(humidity%100/10+0x30);write_1602dat(humidity%100%10+0x30);write_1602com(0xc3);write_1602dat(smog%100/10+0x30);write_1602dat(smog%100%10+0x30);write_1602com(0x85);write_1602dat(0xdf);}void display_1(){write_1602com(0x83);write_1602dat(TH%100/10+0x30);write_1602dat(TH%100%10+0x30);write_1602com(0x8c);write_1602dat(TL%100/10+0x30);write_1602dat(TL%100%10+0x30); write_1602com(0xc3);write_1602dat(HH%100/10+0x30); write_1602dat(HH%100%10+0x30); write_1602com(0xcc);write_1602dat(HL%100/10+0x30); write_1602dat(HL%100%10+0x30); }void write_string(uchar * str) {while( * str){write_1602dat(* str);str++;}}/***按键函数***/void KEY(){if(K1==0){Delay1(200);if(K1==0){flag++;if(flag==1){write_1602com(0x80);write_string("TH: C TL: C");write_1602com(0xc0);write_string("HH: % HL: % ");write_1602com(0x85);write_1602dat(0xdf);write_1602com(0x8e);display_1();write_1602com(0x84);write_1602com(0x0f);}else if(flag==2)write_1602com(0x8d);else if(flag==3)write_1602com(0xc4);else if(flag==4)write_1602com(0xcd);else if(flag==5){write_1602com(0xc0);write_string(" "); write_1602com(0x80);write_string("Sg: mg/m3 ");write_1602dat(SM/10+0x30);write_1602dat(SM%10+0x30);write_1602com(0x84);}else{write_1602com(0x80);write_string("Te: C Hu: % ");write_1602com(0xc0);if(bufang==1)write_string("Sg: mg/m3 B");elsewrite_string("Sg: mg/m3 ");write_1602com(0x85);write_1602dat(0xdf);display();flag=0;write_eeprom();}while(!K1);}}if(K2==0){Delay1(200);if(K2==0){switch (flag){case 1: TH++;if(TH>99) TH=0;if(TH<=TL) TH=TL+1; write_1602com(0x83);write_1602dat(TH/10+0x30);write_1602dat(TH%10+0x30); write_1602com(0x84);break;case 2: TL++;if(TL>98) TL=0; if(TL>=TH) TL=TH-1; write_1602com(0x8c);write_1602dat(TL/10+0x30);write_1602dat(TL%10+0x30);write_1602com(0x8d); break;case 3: HH++;if(HH>99) HH=0; if(HH<=HL) HH=HL+1;write_1602com(0xc3);write_1602dat(HH/10+0x30);write_1602dat(HH%10+0x30); write_1602com(0xc4);break;case 4: HL++;if(HL>98) HL=0; if(HL>=HH) HL=HH-1; write_1602com(0xcc);write_1602dat(HL/10+0x30);write_1602dat(HL%10+0x30); write_1602com(0xcd);break;case 5: SM++;if(SM>9) SM=0; write_1602com(0x83);write_1602dat(SM/10+0x30);write_1602dat(SM%10+0x30);write_1602com(0x84); break;}while(!K2);}}if(K3==0){Delay1(200);if(K3==0){switch (flag){case 1: TH--;if(TH>99) TH=99; if(TH<=TL) TH=TL+1; write_1602com(0x83);write_1602dat(TH/10+0x30);write_1602dat(TH%10+0x30); write_1602com(0x84);break;case 2: TL--;if(TL>99) TL=98;if(TL>=TH) TL=TH-1; write_1602com(0x8c);write_1602dat(TL/10+0x30);write_1602dat(TL%10+0x30);write_1602com(0x8d); break;case 3: HH--;if(HH>99) HH=99; if(HH<=HL) HH=HL+1; write_1602com(0xc3);write_1602dat(HH/10+0x30);write_1602dat(HH%10+0x30); write_1602com(0xc4);break;case 4: HL--;if(HL>99) HL=98;if(HL>=HH) HL=HH-1; write_1602com(0xcc);write_1602dat(HL/10+0x30);write_1602dat(HL%10+0x30); write_1602com(0xcd);break;case 5: SM--;if(SM>99) SM=9; write_1602com(0x83);write_1602dat(SM/10+0x30);write_1602dat(SM%10+0x30);write_1602com(0x84); break;while(!K3);}}if(K5==0){Delay1(200);if(K5==0&&flag==0){if(bufang==2||bufang==1){bufang=0;count=0;TR1=0;write_eeprom();write_1602com(0xcf);write_1602dat(' ');else{TR1=1;write_1602com(0xcf);write_1602dat('Z');bufang=2;}while(K5==0);}}}void Onealarm(){alarm=0;Delay1(200);alarm=1;}/************************************************************** ******* 名称 : Main()* 功能 : 主函数*************************************************************** ********/void main(){uint testnum;EA = 0;Timer0_Init(); //定时器0初始化EA = 1;RW=0;L1602_init();write_1602com(0x85);write_1602dat(0xdf);write_1602com(0x80);write_1602dat('T');display();init_eeprom();read_eeprom();write_1602com(0x80);write_string("Te: C Hu: % ");write_1602com(0xc0);if(bufang==1)write_string("Sg: mg/m3 B");elsewrite_string("Sg: mg/m3 ");while(1){if (FlagStartRH == 1) //温湿度转换标志检查{TR0 = 0;testnum = RH();FlagStartRH = 0;TR0 = 1;humidity = U8RH_data_H; //读出温湿度,只取整数部分temperature = U8T_data_H;if(temperature>=TH){LED2=0;BJ_LED2=0;}else{LED2=1;BJ_LED2=1;}if(temperature<=TL){LED3=0;BJ_LED3=0;}else{LED3=1;BJ_LED3=1;}if(humidity>=HH){LED4=0;BJ_LED4=0;}else{LED4=1;BJ_LED4=1;}if(humidity<=HL){LED5=0;BJ_LED5=0;}else{LED5=1;BJ_LED5=1;}}convdata(adc0832(0));smog=(dis[1]*100+dis[2]*10+dis[3]+1)*10/250; if(flag==0)display();KEY();if(smog>=SM){LED1=0;BJ_LED1=0;}else{LED1=1;BJ_LED1=1;}if(K4==0&&bufang==1){LED6=0;BJ_LED6=0;}elseif(count==0||count==2000){LED6=1;BJ_LED6=1;}if(BJ_LED1==0||BJ_LED2==0||BJ_LED3==0||BJ_LED4==0||BJ_LED5== 0||(BJ_LED6==0&&bufang==1))Onealarm();elsealarm=1;}}void timer0() interrupt 3{TH1=0xdc;TL1=0x00;count++;if(count%100==0)LED6=~LED6;if(count>=2000){count=2000;bufang=1;TR1=0;write_1602com(0xcf);write_1602dat('B');write_eeprom();}}。

相关文档
最新文档