0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

羅婺彝人 ? 2022-12-18 16:55 ? 次閱讀

目錄

具體實(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)通過按鍵可以設(shè)定溫濕度報(bào)警閾值;
(3)當(dāng)溫度值過高且濕度值過低時(shí),相應(yīng)的指示燈亮,蜂鳴器響,繼電器控制風(fēng)扇轉(zhuǎn)動(dòng),表示降溫;
(4)當(dāng)溫度值過低且濕度值過高時(shí),相應(yīng)的指示燈亮,蜂鳴器響,繼電器控制加熱膜工作,表示升溫。
(5)溫度測(cè)量范圍0-99,濕度測(cè)量范圍0-99,誤差±1。

pYYBAGOdt3WAWOOLAAIQZB3Ref4753.png

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

poYBAGOdt3aAYVRRAADioXJXF0A231.png

?51單片機(jī)簡(jiǎn)介

51單片是一種低功耗、高性能CMOS-8位微控制器,擁有靈巧的8位CPU和可編程Flash,使得51單片機(jī)為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活、高效的解決方案。

本設(shè)計(jì)所使用的芯片可兼容以下所有的51系列單片機(jī)(包括AT系列和STC系列)。

pYYBAGOdt3aAWinZAAG1ksi-aaA344.png

?資料內(nèi)容

仿真實(shí)現(xiàn)(protues8.7)

本設(shè)計(jì)利用protues8.7軟件實(shí)現(xiàn)仿真設(shè)計(jì),具體如圖。

注:請(qǐng)使用protues8.7直接打開資料中的工程文件(資料中已說明打開方式)!

pYYBAGOdt3eAb8dgAAIJEL9StTY649.png

程序(Keil5)

本設(shè)計(jì)利用KEIL5軟件實(shí)現(xiàn)程序設(shè)計(jì)。

注意:請(qǐng)使用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))//溫度過低且濕度過高,報(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é)果如圖:

poYBAGOdt3eAGpD6AAM4ta3w2ww346.png

全部資料(壓縮文件)

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

pYYBAGOdt3iAResdAAFqtYvY9jA615.png

資料鏈接:https://docs.qq.com/doc/DT2JidWJ6WmRFZ2dm

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44491

    瀏覽量

    632031
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4023

    瀏覽量

    133341
  • LCD12864
    +關(guān)注

    關(guān)注

    7

    文章

    232

    瀏覽量

    44815
  • SHT11
    +關(guān)注

    關(guān)注

    6

    文章

    21

    瀏覽量

    26926
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于SHT11傳感器的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)

    研究了基于SHT11溫濕度傳感器和單片機(jī)技術(shù)的智能溫濕度測(cè)量系統(tǒng)。##3軟件設(shè)計(jì)
    發(fā)表于 08-25 16:22 ?1.1w次閱讀
    基于<b class='flag-5'>SHT11</b>傳感器的<b class='flag-5'>溫濕度</b>測(cè)量<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    51單片機(jī)溫濕度監(jiān)控系統(tǒng)

    ,實(shí)現(xiàn)系統(tǒng)對(duì)超限溫濕度監(jiān)控報(bào)警; 5.設(shè)計(jì)輸入單元,可對(duì)系統(tǒng)正常溫濕度范圍進(jìn)行調(diào)節(jié); 6.仿真系統(tǒng)
    發(fā)表于 08-18 21:12

    基于51單片機(jī)SHT11溫濕度監(jiān)測(cè)系統(tǒng)LCD1602顯示,上下限按鍵設(shè)置

    設(shè)計(jì)要求 1.設(shè)計(jì)一套基于51單片機(jī)溫濕度Proteus仿真監(jiān)控系統(tǒng); 2.采用高精度的SHT11溫濕
    發(fā)表于 03-26 17:44

    基于單片機(jī)SHT11溫濕度監(jiān)測(cè)

    我做的一個(gè)基于單片機(jī)溫濕度控制 傳感器使用的是SHT11我自己找不出程序的錯(cuò)誤 可是仿真確無法成功,望大俠指點(diǎn)一二啊 用液晶顯示所測(cè)溫濕度
    發(fā)表于 05-13 19:55

    基于sht11設(shè)計(jì)溫濕度檢測(cè)

    基于sht11設(shè)計(jì)溫濕度檢測(cè)
    發(fā)表于 05-13 23:23

    SHT11溫濕度測(cè)量?jī)x設(shè)計(jì)led顯示 誰會(huì)做幫幫忙

    課程設(shè)計(jì)的內(nèi)容及要求:1. 內(nèi)容利用51單片機(jī)溫濕度傳感器SHT11設(shè)計(jì)并制作一套溫濕度測(cè)量?jī)x。系統(tǒng)
    發(fā)表于 01-05 15:31

    proteus仿真和程序基于at89c52單片機(jī)sht11溫濕度控制系統(tǒng),lcd1602顯示

    proteus仿真和程序基于at89c52單片機(jī)sht11溫濕度控制系統(tǒng),lcd1602顯示
    發(fā)表于 05-11 01:17

    求各路大神給個(gè)51單片機(jī)DHT11檢測(cè)溫濕度lcd12864顯示的程序

    求各路大神給個(gè)51單片機(jī)DHT11檢測(cè)溫濕度lcd12864顯示的程序
    發(fā)表于 05-02 14:49

    基于fpga的溫濕度監(jiān)控設(shè)計(jì)lcd12864顯示

    我想問一下大神們,就是我用dht11檢測(cè)溫濕度,要在lcd12864顯示數(shù)據(jù),但是lcd12864
    發(fā)表于 04-29 22:43

    基于SHT11溫濕度傳感器和單片機(jī)技術(shù)的智能溫濕度測(cè)量系統(tǒng)

    研究了基于SHT11溫濕度傳感器和單片機(jī)技術(shù)的智能溫濕度測(cè)量系統(tǒng)。系統(tǒng)使用
    發(fā)表于 04-27 06:34

    SHT11傳感器的溫度濕度監(jiān)控報(bào)警系統(tǒng)單片機(jī)Proteus設(shè)計(jì)

    注:資源分享請(qǐng)見文末…概述系統(tǒng)通過SHT11溫濕度傳感器感應(yīng)周圍的環(huán)境的溫度和濕度,通過單片機(jī)對(duì)采集到的數(shù)據(jù)進(jìn)行讀取處理,經(jīng)過
    發(fā)表于 07-21 06:11

    如何去實(shí)現(xiàn)一種基于單片機(jī)SHT11溫濕度采集報(bào)警系統(tǒng)的設(shè)計(jì)

    如何去實(shí)現(xiàn)一種基于單片機(jī)SHT11溫濕度采集報(bào)警系統(tǒng)的設(shè)計(jì)?
    發(fā)表于 01-26 07:53

    基于SHT11溫濕度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

    采用數(shù)字溫濕度傳感器SHT11作為測(cè)量元件,結(jié)合單片機(jī)和GSM實(shí)現(xiàn)遠(yuǎn)程監(jiān)控系統(tǒng),該系統(tǒng)包括溫濕度
    發(fā)表于 01-08 16:41 ?156次下載
    基于<b class='flag-5'>SHT11</b><b class='flag-5'>溫濕度</b>遠(yuǎn)程監(jiān)控<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    基于51單片機(jī)溫濕度檢測(cè)的設(shè)計(jì)資料合集免費(fèi)下載

    本次設(shè)計(jì)是采用MSC-51系列單片機(jī)中的AT89C51SHT11的低成本的溫濕度檢測(cè)
    發(fā)表于 05-05 08:00 ?52次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>溫濕度</b><b class='flag-5'>檢測(cè)</b>的設(shè)計(jì)資料合集免費(fèi)下載

    使用51單片機(jī)實(shí)現(xiàn)SHT11溫濕度傳感器檢測(cè)的程序和電路圖

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實(shí)現(xiàn)SHT11溫濕度傳感器檢測(cè)的程序和電路圖
    的頭像 發(fā)表于 01-31 12:10 ?1.7w次閱讀
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>實(shí)現(xiàn)<b class='flag-5'>SHT11</b><b class='flag-5'>溫濕度</b>傳感器<b class='flag-5'>檢測(cè)</b>的程序和電路圖