久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機的DHT11去濕燈及溫度上限和濕度上限設定值的源碼
[打印本頁]
作者:
wsceng
時間:
2018-5-16 09:52
標題:
51單片機的DHT11去濕燈及溫度上限和濕度上限設定值的源碼
51單片機的I2C例程
單片機源程序如下:
#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
sbit BUZZER = P1^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;
BUZZER = 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<1000;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);
BUZZER = 0;
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;
}
}
復制代碼
所有資料51hei提供下載:
I2C.rar
(132.06 KB, 下載次數: 22)
2018-5-16 09:50 上傳
點擊文件名下載附件
I2C例程
下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩一区在线观看视频
|
在线免费观看a级片
|
九九热在线视频
|
欧美电影网
|
欧美成人免费在线
|
欧美视频 亚洲视频
|
国产精品久久国产精品
|
99热这里都是精品
|
久久久久久艹
|
亚洲欧美一区二区三区1000
|
亚洲精选一区二区
|
亚洲欧美综合精品久久成人
|
中文字幕高清av
|
亚洲免费成人av
|
亚洲在线视频
|
久久精品视频网站
|
黄a网
|
午夜电影福利
|
免费观看国产视频在线
|
国产精品成av人在线视午夜片
|
欧美午夜精品
|
人妖videosex高潮另类
|
国产一区不卡
|
欧美日韩亚洲一区
|
欧美极品一区二区
|
毛片99
|
国产激情一区二区三区
|
亚洲色欧美另类
|
中文字幕乱码一区二区三区
|
在线观看成人小视频
|
日日操夜夜操天天操
|
亚洲日本中文字幕在线
|
免费h视频
|
91精品国产91久久久久久密臀
|
www.黄色片视频
|
日本人麻豆
|
av黄色网
|
国产精品久久久久久久7电影
|
亚洲精品视频二区
|
国产电影一区二区三区爱妃记
|
日韩高清成人
|