博主福利:100G+电子设计学习资源包!

http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect
--------------------------------------------------------------------------------------------------------------------------

#include <reg52.h>
#include "1602.h"
#include "dht.h"
#include "2402.h"//定义三个LED灯
sbit Led_qushi=P1^6;        //去湿灯
sbit Led_jiangwen=P1^5;        //降温灯
sbit Led_shengwen=P1^4;        //升温灯
sbit Key_TH1 = P3^2;
sbit Key_TH2 = P3^3;
sbit Key_HH1 = P3^4;
sbit Key_HH2 = P3^5;//定义标识
volatile bit FlagStartRH = 0;  //开始温湿度转换标志
volatile bit FlagKeyPress = 0; //有键按下//定义温湿度传感器用外部变量
extern U8  U8FLAG,k;
extern U8  U8count,U8temp;
extern U8  U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
extern U8  U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
extern U8  U8comdata;
extern U8  count, count_r;U16 temp;
S16 temperature, humidity;
S16 idata TH, HH;  //温度上限和湿度上限
char * pSave;
U8 keyvalue, keyTH1, keyTH2, keyHH1, keyHH2;//定义变量
U16 RHCounter;//数据初始化
void Data_Init()
{RHCounter = 0;Led_qushi = 1;Led_jiangwen = 1;Led_shengwen = 1;TH = 40;HH = 85;keyvalue = 0;keyTH1 = 1;keyTH2 = 1;keyHH1 = 1;keyHH2 = 1;}//定时器0初始化
void Timer0_Init()
{ET0 = 1;        //允许定时器0中断TMOD = 1;       //定时器工作方式选择TL0 = 0x06;     TH0 = 0xf8;     //定时器赋予初值TR0 = 1;        //启动定时器
}//定时器0中断
void Timer0_ISR (void) interrupt 1 using 0
{TL0 = 0x06;TH0 = 0xf8;     //定时器赋予初值//每2秒钟启动一次温湿度转换RHCounter ++;if (RHCounter >= 1000){FlagStartRH = 1;RHCounter = 0;}
}//存入设定值、
void Save_Setting()
{pSave =  (char *)&TH;      //地址低位对应低8位,高位对应高8位wrteeprom(0, *pSave);      //存温度上限值TH低8位DELAY(500);pSave ++;wrteeprom(1, *pSave);      //存温度上限值TH高8位DELAY(500);pSave =  (char *)&HH;wrteeprom(2, *pSave);      //存湿度上限值RH低8位DELAY(500);pSave ++;wrteeprom(3, *pSave);      //存湿度上限值RH高8位DELAY(500);
}//载入设定值、
void Load_Setting()
{pSave =  (char *)&TH;*pSave++ = rdeeprom(0);*pSave = rdeeprom(1);pSave = (char *)&HH;*pSave++ = rdeeprom(2);*pSave = rdeeprom(3);if ((TH>99)||(TH<0)) TH = 40;if ((HH>99)||(HH<0)) HH = 85;
}void KeyProcess(uint num)
{switch (num){case 1:if (TH<99) TH++;L1602_char(1, 15, TH/10+48);L1602_char(1, 16, TH%10+48);break;case 2:if (TH>1) TH--;L1602_char(1, 15, TH/10+48);L1602_char(1, 16, TH%10+48);break;case 3:if (HH<99) HH++;L1602_char(2, 15, HH/10+48);L1602_char(2, 16, HH%10+48);break;case 4:if (HH>1) HH--;L1602_char(2, 15, HH/10+48);L1602_char(2, 16, HH%10+48);break;default:break;}Save_Setting();
}/********************************************************************
* 名称 : Main()
* 功能 : 主函数
***********************************************************************/
void main()
{U16 i, j, testnum;EA = 0;Timer0_Init();  //定时器0初始化Data_Init();EA = 1;L1602_init();L1602_string(1,1," Welcome to T&H   ");L1602_string(2,1," Control System!  ");//延时for (i=0;i<500;i++)for (j=0;j<1000;j++){;}//清屏L1602_string(1,1,"                ");L1602_string(2,1,"                ");L1602_string(1,1,"Tem:    C  TH:");L1602_string(2,1,"Hum:    %  HH:");//载入温度上限和湿度上限设定值Load_Setting();L1602_char(1, 15, TH/10+48);L1602_char(1, 16, TH%10+48);L1602_char(2, 15, HH/10+48);L1602_char(2, 16, HH%10+48);while(1){//温湿度转换标志检查if (FlagStartRH == 1){TR0 = 0;testnum = RH();FlagStartRH = 0;TR0 = 1;//读出温湿度,只取整数部分humidity = U8RH_data_H;temperature = U8T_data_H;//显示温湿度L1602_int(1,5,temperature);L1602_int(2,5,humidity);    }//温湿度控制if (temperature > TH) Led_jiangwen = 0;else Led_jiangwen = 1;                    //降温if (humidity > HH) Led_qushi = 0;else Led_qushi = 1;                        //去湿//键盘查询,在弹起时响应if ((Key_TH1)&&(keyTH1==0)) {FlagKeyPress = 1; keyvalue = 1;}else if ((Key_TH2)&&(keyTH2==0)) {FlagKeyPress = 1; keyvalue = 2;}else if ((Key_HH1)&&(keyHH1==0)) {FlagKeyPress = 1; keyvalue = 3;}else if ((Key_HH2)&&(keyHH2==0)) {FlagKeyPress = 1; keyvalue = 4;}if (FlagKeyPress == 1){KeyProcess(keyvalue);FlagKeyPress = 0;           }if (!Key_TH1) keyTH1 = 0;else keyTH1 = 1;if (!Key_TH2) keyTH2 = 0;else keyTH2 = 1;if (!Key_HH1) keyHH1 = 0;else keyHH1 = 1;if (!Key_HH2) keyHH2 = 0;else keyHH2 = 1;}
}

基于单片机的温湿度监测系统设计(程序)相关推荐

  1. 基于单片机的温湿度监测系统设计(#0410)

    功能描述 1.采用51/52单片机(通用)作为主控芯片: 2.采用DHT11传感器,温度测量范围0℃--50℃,湿度测量范围20%RH-90%RH 3.LCD1602液晶显示当前的温度和湿度: 4.当 ...

  2. 基于单片机的温湿度监测报警

    基于单片机的温湿度监测系统(独立按键.LCD1602.DHT11) 0.关注微信公众号(风吹摇铃 奔赴星海)下载全套资料,全套资料中包括如下内容:(需要PCB和焊接实物请阅读(使用前必读)文件下的内容 ...

  3. 基于STM32环境温湿度监测系统设计

    基于STM32环境温湿度监测系统设计 1. 实验目的 2. 任务和要求 3. proteus仿真图 4. 实验代码 1. 实验目的 (1) 掌握使用 KEIL MDK5 进行软件开发的具体流程: (2 ...

  4. 基于单片机的甲醛监测系统设计(#0450)

    功能描述 1.采用51单片机作为主控芯片: 2.采用ZE08-CH2O传感器检测甲醛浓度: 3.采用LCD1602作为显示器件: 4.采用红灯/绿灯指示浓度状态: 5.采用蜂鸣器进行浓度超标报警: 6 ...

  5. 基于单片机的噪声监测系统设计(#0474)

    功能描述 1.采用51/52单片机作为主控芯片: 2.采用数码管显示实时分贝及报警阈值: 3.噪声测量范围为40~100dB: 4.采用LM358芯片进行信号放大: 5.采用LTC1864进行模数转换 ...

  6. 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计

    1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告)  摘  要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...

  7. 基于单片机的智能电子密码锁系统设计-基于51单片机酒精浓度检测仪设计-基于单片机的水缸加热温控控制系统设计-基于单片机蓝牙技术的温室监测系统设计-基于单片机智能PWM调光灯系统设计【毕设方案】

    600基于单片机的智能电子密码锁系统设计-电路程序资料 本设计采用的是AT89C51单片机作为控制核心,控制外围电路工作的装置.在本次基于单片机的电子密码锁设计中,将采用AT89C51单片机作为控制核 ...

  8. 基于单片机的TLC稳压电源系统设计-基于单片机大脑运算能力智力测试仪-基于单片机超声波测距系统仿真设计(报告 PCB 原理图)-基于单片机超高精度电参数测试设计-基于单片机变电站变压器运行参数监测仿真

    1316基于单片机的TLC稳压电源系统设计-毕设课设仿真资料 三极管射极电压是稳压电源的输出电压,可以接用电器或负载,这个电压值通过TLC549(A/D,同TLC548)数据转换后,送往单片机处理并显 ...

  9. 基于智能家居c语言程序代码,基于单片机的智能家居系统设计(附程序代码)

    基于单片机的智能家居系统设计(附程序代码)(任务书,开题报告,外文翻译,论文10000字) 摘要 基于近年来通信电子技术的高速发展,使得一些原来可望不可及的事关民生的技术变为可能,条件允许的情况下,人 ...

最新文章

  1. 桑叶黑芝麻糊,从头到脚通补
  2. html登录界面cookie,HTML中使用cookie保存登录账户
  3. 激活手表显示无法登陆服务器,在Firefox中使用Nightwatch运行测试无法连接到Selenium服务器...
  4. Java实现前中后序线索化二叉树以及遍历
  5. ITK:将颜色贴图应用于图像
  6. 前端学习(1990)vue之电商管理系统电商系统之自定义时间过滤器
  7. 一梦江湖一直获取服务器信息啥意思,《一梦江湖》原《楚留香》手游:叮咚!少侠你的NPC侠缘送来信物...
  8. ZOJ 3635 Cinema in Akiba[ 大规模阵列 ]
  9. 解决在嵌入式平台上无法进行字符编码的问题
  10. 手把手教,使用Oracle VM VirtualBox虚拟机安装Windows XP系统,爷青回
  11. c语言不合法字符串常量,不合法的字符常量是什么
  12. 智能控制在计算机领域的应用,智能控制的主要应用领域
  13. 华为手机连接电脑,无法使用USB调试或者无USB连接弹窗的问题
  14. 苹果商店上架流程_苹果app上架流程
  15. VC-应用程序正常初始化失败-0xc0150002
  16. 贪吃蛇源码(C语言版)-学习版
  17. 打开支付宝小程序、微信小程序
  18. 三菱模拟量fx3u4da_模拟量输出模块FX3U-4DA手册三菱FX3U-4DA安装使用手册 - 广州凌控...
  19. explicit关键字的作用
  20. Matlab散点图进阶——矩阵气泡图

热门文章

  1. 「CTS2019 | CTSC2019」氪金手游 解题报告
  2. 分享一些好玩有趣的软件给你
  3. 认真推荐几个高质量的原创公众号
  4. Pikachu漏洞练习平台----验证码绕过(on server) 的深层次理解
  5. 照片生成3D虚拟数字人,虚拟形象主播搭建(软件+教程)
  6. github不再通过验证密码方式push代码
  7. pandas读取数据时,报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid contin
  8. [ Linux ] PCF8563数据手册解析 |CSDN创作打卡
  9. 【浙大版《C语言程序设计实验与习题指导(第4版)》题目集】实验2-4-4 求简单交错序列前N项和
  10. 构建一体化数字营销平台,助力医药企业实现销售转化能级大幅跃迁 | 案例研究