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

設(shè)計(jì)介紹

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

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

程序(Keil5)
本設(shè)計(jì)利用KEIL5軟件實(shí)現(xiàn)程序設(shè)計(jì)。
注意:請(qǐng)使用KEIL5直接打開(kāi)資料中的工程文件(資料中已說(shuō)明打開(kāi)方式)!
主程序如下:
/****************主函數(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))//溫度過(guò)低且濕度過(guò)高,報(bào)警及加熱
{
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)、仿真視頻、開(kāi)發(fā)資料、資料使用介紹視頻、仿真講解視頻、程序講解視頻、單片機(jī)最小系統(tǒng)介紹等,全網(wǎng)最全!

資料鏈接:https://docs.qq.com/doc/DT2JidWJ6WmRFZ2dm
-
單片機(jī)
+關(guān)注
關(guān)注
6074文章
45316瀏覽量
662715 -
仿真
+關(guān)注
關(guān)注
52文章
4399瀏覽量
137619 -
LCD12864
+關(guān)注
關(guān)注
7文章
233瀏覽量
46828 -
SHT11
+關(guān)注
關(guān)注
6文章
21瀏覽量
27329
發(fā)布評(píng)論請(qǐng)先 登錄
基于SHT11傳感器的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)
51單片機(jī)溫濕度監(jiān)控系統(tǒng)
基于51單片機(jī)的SHT11溫濕度監(jiān)測(cè)系統(tǒng),LCD1602顯示,上下限按鍵設(shè)置
基于單片機(jī)的SHT11的溫濕度監(jiān)測(cè)
SHT11溫濕度測(cè)量?jī)x設(shè)計(jì)led顯示 誰(shuí)會(huì)做幫幫忙
proteus仿真和程序基于at89c52單片機(jī)sht11溫濕度控制系統(tǒng),lcd1602顯示
求各路大神給個(gè)51單片機(jī)DHT11檢測(cè)溫濕度lcd12864顯示的程序
基于fpga的溫濕度監(jiān)控設(shè)計(jì)lcd12864沒(méi)顯示
基于SHT11溫濕度傳感器和單片機(jī)技術(shù)的智能溫濕度測(cè)量系統(tǒng)
SHT11傳感器的溫度濕度監(jiān)控報(bào)警系統(tǒng)單片機(jī)Proteus設(shè)計(jì)
如何去實(shí)現(xiàn)一種基于單片機(jī)SHT11溫濕度采集報(bào)警系統(tǒng)的設(shè)計(jì)
基于SHT11溫濕度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)
基于51單片機(jī)溫濕度檢測(cè)的設(shè)計(jì)資料合集免費(fèi)下載
使用51單片機(jī)實(shí)現(xiàn)SHT11溫濕度傳感器檢測(cè)的程序和電路圖

基于51單片機(jī)的SHT11溫濕度檢測(cè)調(diào)節(jié)系統(tǒng)(LCD12864顯示)
評(píng)論