采集温度、湿度、气体值,同时预制报警范围,当温度大于30,湿度大于60,气体浓度大于350,只要其中一个值超限则报警
、
#include <reg51.h>
#include "lcd.h"
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define NACK 0
#define ACK 1
#define MEASURE_TEMP 0x03 //000 0001 1
#define MEASURE_HUMI 0x05 //000 0010 1
#define STATUS_REG_W 0x06 //000 0011 0
#define STATUS_REG_R 0x07 //000 0011 1
#define RESET 0x1E //000 1111 0
ulong volt;//测量的电压值
sbit Data=P2^3; //定义数据线
sbit CLK=P3^3;//定义时钟信号口
sbit DIN=P3^1;//定义2543数据写入口
sbit DOUT=P3^0;//定义2543数据读取口
sbit CS=P3^2;//定义2543片选信号口
sbit Data_P = P2^4; // SHT11传感器的数据管脚
sbit Sck_P = P2^3; // SHT11传感器的时钟管脚
sbit BEEP =P2^5;
uchar tmpe,h;
uchar rec_dat[9]; //用于显示的接收数据数组
uchar temp_max = 30;
uchar humi_min = 60;
ulong C2_max = 3500000;
ulong LUX_max = 3500000;
ulong C2_now = 0;
ulong LUX_now = 0;
unsigned char temp; // 保存温度
unsigned char humi; // 保存湿度
enum { TEMP,HUMI };