目录
一、主要功能
基于STC89C52单片机,DHT11温湿度采集温湿度,滑动变阻器连接ADC0832数模转换器模拟水位传感器检测水位,通过LCD1602显示信息,然后在程序里设置好是否有水的判断阈值,比如100,当水位没超过100,则判断没水,此时蜂鸣器报警,当水位超过100时候,蜂鸣器不报警,此时四×四按键矩阵设置湿度的下限,然后判断湿度是否低于下限,若低于下限,则继电器驱动电机转动启动加湿器,蜂鸣器报警。
二、硬件资源
基于KEIL5编写C++代码,PROTEUS8.15进行仿真,全部资源在页尾,提供安装包。
编辑
三、程序编程
#include <REGX52.H>#include<intrins.h>#include<stdio.h>#include "Delay.h"#include "LCD1602.h"#include "MatrixKey.h"#define uchar unsigned char#define uint unsigned intsbit led1 = P2^4;
sbit beep = P3^0; //蜂鸣器引脚sbit DS = P3^1; //DS18B20温度传感器sbit CS=P2^5; //adc0832引脚sbit CLK=P2^6;
sbit DIO=P2^7;
sbit CS1=P3^2; //adc0832引脚sbit CLK1=P3^3;
sbit DIO1=P3^4;
sbit CS2=P3^5; //adc0832引脚sbit CLK2=P3^6;
sbit DIO2=P3^7;unsigned char KeyNum;static uchar u,U,R,u1,U1,R1,u2,U2,R2; //定义心率 血氧 加速度static uint temp;static float ftemp = 0.0f;//温度转变uint temp;static unsigned char num; //计时变量unsigned int password,count; //初始化阈值,次数,一共四位static int wdyz,xlyz,xyyz,jsyz;static int mode=0;static int number=0;static&n