目錄
具體實現(xiàn)功能
設(shè)計介紹
資料內(nèi)容
仿真實現(xiàn)(protues8.7)
程序(Keil5)
全部資料(壓縮文件)
具體實現(xiàn)功能
(1)實時檢測溫濕度值,LCD12864分別顯示溫度值、濕度值、溫度上下限值、濕度上下限值;
(2)通過按鍵可以設(shè)定溫濕度報警閾值;
(3)當(dāng)溫度值過高且濕度值過低時,相應(yīng)的指示燈亮,蜂鳴器響,繼電器控制風(fēng)扇轉(zhuǎn)動,表示降溫;
(4)當(dāng)溫度值過低且濕度值過高時,相應(yīng)的指示燈亮,蜂鳴器響,繼電器控制加熱膜工作,表示升溫。
(5)溫度測量范圍0-99,濕度測量范圍0-99,誤差±1。

設(shè)計介紹

?51單片機(jī)簡介
51單片是一種低功耗、高性能CMOS-8位微控制器,擁有靈巧的8位CPU和可編程Flash,使得51單片機(jī)為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活、高效的解決方案。
本設(shè)計所使用的芯片可兼容以下所有的51系列單片機(jī)(包括AT系列和STC系列)。

?資料內(nèi)容
仿真實現(xiàn)(protues8.7)
本設(shè)計利用protues8.7軟件實現(xiàn)仿真設(shè)計,具體如圖。
注:請使用protues8.7直接打開資料中的工程文件(資料中已說明打開方式)!

程序(Keil5)
本設(shè)計利用KEIL5軟件實現(xiàn)程序設(shè)計。
注意:請使用KEIL5直接打開資料中的工程文件(資料中已說明打開方式)!
主程序如下:
/****************主函數(shù)***************/
void main()//主函數(shù)
{
value humi_val,temp_val;
uchar humi_max=50,humi_min=15,temp_max=40,temp_min=20,temp,humi;//定義變量
uchar error,checksum;
uchar flag=0;
DisplayOn();
s_connectionreset();
Led1=1;
jiangwen=1;
Led2=1;
shengwen=1;
beep=1;
while(1)
{
error=0;
error+=s_measure((unsigned char*) &humi_val.i,&checksum,HUMI); //measure humidity
error+=s_measure((unsigned char*) &temp_val.i,&checksum,TEMP); //measure temperature
if(error!=0)
s_connectionreset(); //in case of an error: connection reset
else
{
//溫濕度值、閾值讀取及顯示
humi_val.f=(float)humi_val.i; //converts integer to float
temp_val.f=(float)temp_val.i; //converts integer to float
calc_sth11(&humi_val.f,&temp_val.f); //calculate humidity, temperature
//dew_point=calc_dewpoint(humi_val.f,temp_val.f); //calculate dew point
if(temp_val.f>99)
temp_val.f=99;
if(humi_val.f>99)
humi_val.f=99;
temp=(uchar)temp_val.f+1;
humi=(uchar)humi_val.f-3;
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
while(P1!=0xff||flag!=0)
{
if(SetTempMax==0)
{
while(SetTempMax==0);
flag=1;
//顯示文字
DispHZ(0,3,she);
DispHZ(16,3,ding);
DispHZ(32,3,wen);
DispHZ(48,3,du);
DispHZ(64,3,shang);
DispHZ(80,3,xian);
}
else if(SetTempMin==0)
{
//顯示文字
while(SetTempMin==0);
flag=2;
DispHZ(0,3,she);
DispHZ(16,3,ding);
DispHZ(32,3,wen);
DispHZ(48,3,du);
DispHZ(64,3,xia);
DispHZ(80,3,xian);
}
if(SetHumiMax==0)
{
//顯示文字
while(SetHumiMax==0);
flag=3;
DispHZ(0,3,she);
DispHZ(16,3,ding);
DispHZ(32,3,shi);
DispHZ(48,3,du);
DispHZ(64,3,shang);
DispHZ(80,3,xian);
}
if(SetHumiMin==0)
{
//顯示文字
while(SetHumiMin==0);
flag=4;
DispHZ(0,3,she);
DispHZ(16,3,ding);
DispHZ(32,3,shi);
DispHZ(48,3,du);
DispHZ(64,3,xia);
DispHZ(80,3,xian);
}
else if(flag==1&&NumInc==0)
{
while(NumInc==0);//改變溫度上限++
temp_max++;
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==2&&NumInc==0)
{
while(NumInc==0);//改變溫度下限++
temp_min++;
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==3&&NumInc==0)
{
while(NumInc==0);
humi_max++;//改變溫濕度上限++
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==4&&NumInc==0)
{
while(NumInc==0);
humi_min++;//改變溫度下限++
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==1&&NumDec==0)
{
while(NumDec==0);
temp_max--;//改變溫度上限--
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==2&&NumDec==0)
{
while(NumDec==0);
temp_min--;//改變溫度下限--
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==3&&NumDec==0)
{
while(NumDec==0);
humi_max--;//改變濕度上限--
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==4&&NumDec==0)
{
while(NumDec==0);
humi_min--;//改變濕度下限--
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(isOK==0)
{
//清空文字顯示
while(isOK==0);
flag=0;
DispHZ(0,3,blank);
DispHZ(16,3,blank);
DispHZ(32,3,blank);
DispHZ(48,3,blank);
DispHZ(64,3,blank);
DispHZ(80,3,blank);
}
}
if((temp>temp_max)&&(humihumi_max))//溫度過低且濕度過高,報警及加熱
{
Led1=1;
jiangwen=1;
Led2=0;
shengwen=0;
beep=0;
}
else
{
Led1=1;
jiangwen=1;
Led2=1;
shengwen=1;
beep=1;
}
delayms(10);
}
}
程序運(yùn)行結(jié)果如圖:

全部資料(壓縮文件)
全部資料包括程序(Keil5)、protues仿真(protues8.7)、仿真視頻、開發(fā)資料、資料使用介紹視頻、仿真講解視頻、程序講解視頻、單片機(jī)最小系統(tǒng)介紹等,全網(wǎng)最全!

資料鏈接:https://docs.qq.com/doc/DT2JidWJ6WmRFZ2dm
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45495瀏覽量
670367 -
仿真
+關(guān)注
關(guān)注
54文章
4483瀏覽量
138272 -
LCD12864
+關(guān)注
關(guān)注
7文章
233瀏覽量
47127 -
SHT11
+關(guān)注
關(guān)注
6文章
21瀏覽量
27378
發(fā)布評論請先 登錄
基于SHT11傳感器的溫濕度測量系統(tǒng)設(shè)計
51單片機(jī)溫濕度監(jiān)控系統(tǒng)
基于51單片機(jī)的SHT11溫濕度監(jiān)測系統(tǒng),LCD1602顯示,上下限按鍵設(shè)置
基于單片機(jī)的SHT11的溫濕度監(jiān)測
SHT11溫濕度測量儀設(shè)計led顯示 誰會做幫幫忙
proteus仿真和程序基于at89c52單片機(jī)sht11溫濕度控制系統(tǒng),lcd1602顯示
基于fpga的溫濕度監(jiān)控設(shè)計lcd12864沒顯示
基于SHT11溫濕度傳感器和單片機(jī)技術(shù)的智能溫濕度測量系統(tǒng)
SHT11傳感器的溫度濕度監(jiān)控報警系統(tǒng)單片機(jī)Proteus設(shè)計
如何去實現(xiàn)一種基于單片機(jī)SHT11溫濕度采集報警系統(tǒng)的設(shè)計
基于SHT11溫濕度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計
基于51單片機(jī)溫濕度檢測的設(shè)計資料合集免費(fèi)下載
使用51單片機(jī)實現(xiàn)SHT11溫濕度傳感器檢測的程序和電路圖
基于51單片機(jī)的SHT11溫濕度檢測調(diào)節(jié)系統(tǒng)(LCD12864顯示)
評論