婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開發(fā)網

電子開發(fā)網電子設計 | 電子開發(fā)網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發(fā)網 >> 電子開發(fā) >> 單片機實例 >> 正文

基于51單片機的SHT11溫濕度測量儀設計(源碼+仿真+文檔)

作者:佚名    文章來源:本站原創(chuàng)    點擊數:    更新時間:2023/7/1

電路原理圖如下:

 


仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

 
 

 

一、總體設計要求3
二、方案論證 3
三、系統硬件設計 3
3.1復位電路3
3.2時鐘電路3
3.3 溫濕度測量電路4
3.4顯示電路5
四、系統軟件設計
4.1DHT11軟件設計6
4.2軟件設計流程圖 6
4.3 原理圖以及原理分析7
五、電路仿真及仿真結果分析
5.1電路仿真圖 7
5.2仿真結果分析 8
六、心得體會8
七、參考文獻9

 

一、總體設計要求:

1、能夠檢測出環(huán)境中的溫度和濕度,并且顯示在LCD1602上面

2、技術參數有以下要求:
濕度測量范圍:0%~100%RH;溫度測量范圍-40~+110℃。

濕度測量分辨率:1%RH;溫度測量分辨率:1℃。

濕度測量精度:±2.0%RH;溫度測量精度:±0.5℃。

3、電源工作范圍:DC 4.5~5.5V。


二、構思與選擇:

方案一:

使用AM2301數字溫濕度傳感器。該型號溫濕度傳感器,采用3.3—6V直流電源供電,它的各部分參數:濕度測量范圍為20%~90%RH;溫度測量的范圍為0~+50℃;濕度測量精度為±5.0%RH;溫度測量精度為±2.0℃。雖然它的價格比較便宜,單測溫的范圍和測濕的范圍太小,溫度的精度和濕度的精度太低,不符合設計的要求。

方案二:

使用AM2302電容式數字溫濕度傳感器。它的各部分參數如下:由于傳感器參數:濕度0%~100%相對是濕度的測量范圍;溫度測量范圍為40~+80℃;濕度的測量精度為±3.0%RH;溫度的測量精度為±0.5℃。價格也比較適合,基本可以滿足設計要求。

方案三:

使用數字溫濕度傳感器SHT11。濕度測量范圍:0%~100%RH;溫度測量范圍:40~+120℃;濕度測量精度:±2%相對濕度;溫度測量精度:±0.2%℃溫度測量精度。改傳感器價格便宜。溫度和濕度都達到或超過了標題的精度要求,屬于低功率傳感器。

綜上分析,設計應以最大化利用內部資源,電路簡易,節(jié)約成本為原則,而且利用從系統技術參數要求和低功率方面考慮。因此采用方案三。


三、系統硬件設計:

3.1復位電路:

復位是單片機的初始化操作。單片機啟動運行時,都需要先復位,作用是使CPU和系統中其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因此,復位是一個很重要的操作方式。但單片機本身是不能自動進行復位的,必須配合相應的外部電路才能實現。

單片機通電時,從初始態(tài)開始執(zhí)行程序,稱為上電復位。單片機死機時,通過手工按“重啟”鍵使其從初始態(tài)開始執(zhí)行程序,稱為手工復位。

復位條件:復位引腳RST(全稱RESET)出現2個機器周期以上的高電平時,單片機就執(zhí)行復位操作;但如果RST持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài)。

3.2時鐘電路:

1.時鐘電路

利用芯片內部的振蕩電路,在XTAL1、XTAL2的引腳上外接定時元件,內部振蕩器便能產生自激振蕩。定時元件可以采用石英晶體和電容組成的并聯諧振電路。

晶振可以在1.2~12MHZ之間任選,甚至可以達到24MHz,但是頻率越高功耗也就越大。和晶振并聯的電容C1、C2的大小對振蕩頻率有微小影響,可以起到頻率微調作用。當采用石英晶振時,電容可以在20~40pF之間選擇。晶體和電容應盡可能與單機片芯片靠近,以減少引線的寄生電容,保證振蕩器可靠工作。

 

 

3.3.溫濕度測量電路:

 

 

SHT11是瑞士Scnsirion公司推出的一款數字溫濕度傳感器芯片。該芯片廣泛應用于暖通空調、汽車、消費電子、自動控制等領域。共主要特點如下: 高度集成,將溫度感測、濕度感測、信號變換、A/D轉換和加熱器等功能集成到一個芯片上;提供二線數字串行接口SCK和DATA,接口簡單,支持CRC傳輸校驗,傳輸可靠性高;測量精度可編程調節(jié),內置A/D轉換器(分辨率為8~12位,可以通過對芯片內部寄存器編程選擇); 測量精確度高,由于同時集成溫濕度傳感器,可以提供溫度補償的濕度測量值和高質量的露點計算功能;封裝尺寸超小(7.62 mm×5.08mm×2.5 mm),測量和通信結束后,自動轉入低功耗模式; 高可靠性,采用CMOSens工藝,測量時可將感測頭完全浸于水中。SHT11溫濕度傳感器采用SMD(LCC)表面貼片封裝形式,接口非常簡單,引腳名稱及排列順序如圖下所示。

 

仿真電路圖

 

 

3.4、顯示電路:
3.4.1電路工作原理

該模塊采用LCD1602液晶屏將電子時鐘工作的實時狀態(tài)顯示在屏幕上,結構簡單,顯示清晰。其中GND接地,VCC接VCC,LCD偏壓輸入引腳V0通過接一個電位器來調節(jié)顯示屏的背光度,數據/命令選擇端RS、讀/寫控制信號端RW、LCD使能端分別由單片機引腳P2.6、P2.5、P2.7進行控制。數據傳輸端D0-D7則用單片機的P0口進行控制。如圖是LCD1602詳細的電路引腳連線圖。
 

 

3.4.2LCD顯示模塊電路圖

 

系統軟件設計:

   4.1.1 DHT11軟件設計
微處理器和溫濕度傳感器通信采用串行二線接口SCK和DATA,其中SCK為時鐘線,DATA為數據線。該二線串行通信協議和I2C協議是不兼容的。在程序開始,微處理器需要用一組"啟動傳輸"時序表示數據傳輸的啟動,當SCK時鐘為高電平時,DATA翻轉為低電平;緊接著SCK變?yōu)榈碗娖剑S后又變?yōu)楦唠娖剑辉赟CK時鐘為高電平時,DATA再次翻轉為高電平。
根據SHT11濕度測試時序可以知道。主機發(fā)出啟動命令,隨后發(fā)出一個后續(xù)8位命令碼,該命令碼包含3個地址位(芯片設定地址為000)和5個命令位;發(fā)送完該命令碼,將DATA總線設為輸入狀態(tài)等待SHT11的響應;SHT11接收到上述地址和命令碼后,在第8個時鐘下降沿,將DATA下拉為低電平作為從機的ACK;在第9個時鐘下降沿之后,從機釋放DATA(恢復高電平)總線;釋放總線后,從機開始測量當前濕度,測量結束后,再次將DATA總線拉為低電平;主機檢測到DATA總線被拉低后,得知濕度測量已經結束,給出SCK時鐘信號;從機在第8個時鐘下降沿,先輸出高字節(jié)數據;在第9個時鐘下降沿,主機將DATA總線拉低作為ACK信號。然后釋放總線DATA;在隨后8個SCK周期下降沿,從機發(fā)出低字節(jié)數據;接下來的SCK下降沿,主機再次將DATA總線拉低作為接收數據的ACK信號;最后8個SCK下降沿從機發(fā)出CRC校驗數據,主機不予應答(NACK)則 表示測量結束。
4.1.2總體程序流圖的設計:

 

4.3.原理圖以及原理分析:

 

 


通過AD19繪制出如上圖所示的原理圖,包括時鐘電路、晶振電路、DHT11溫濕度檢測電路、lcd1602顯示電路,因為溫濕度傳感器與單片機連接電路比較簡單。所以可以容易的繪制出電路圖。

 

五、仿真圖及仿真分析:

 

5.1、總體仿真結果:

 

 


5.2、仿真分析:

首先,將程序的hex文件加載到單片機中,開始仿真。可以清楚地看到LCD1602上面顯示了SHT11當前的溫度和濕度,雖然有誤差但是誤差并不是很大可以忽略不計,調節(jié)傳感器上面的按鈕可以實時的將傳感器所在環(huán)境的溫度顯示到LCD1602上面,具有可控性,而且顯示性和可控性較好。

 

六、心得體會:

我這次做的是基于單片機的溫濕度測量儀。我們知道,單片機和傳感器的應用如今已經在工業(yè)、電子等方方面面展示出了它的優(yōu)越性,利用單片機和傳感器設計電路也逐漸成了趨勢,它與外圍的簡單電路再加上優(yōu)化程序就可以構建任意的產品,使得這次設計成為現實。隨著單片機和傳感器的日益發(fā)展,它們必將在未來顯示出更大的活力,為人們提供更好的產品。
雖然這個電路我已經設計出來了,但是在這次的設計當中,我遇到了不少的問題。最開始我不知道要用哪一種傳感器作為我的設計,糾結了好久,最終我確定了選擇用DHT11作為我的溫濕度傳感器模塊,因為老師說不能用書本上的DS18B20作為此次設計模塊,因為書上有該模塊的詳細電路圖原理圖以及寫好的程序,所以我就仔細的查閱資料,結合以前在實驗室學習的經驗,通過一個多星期的時間來準備,從方案的選擇原理圖的繪制再到程序的編寫和仿真圖的繪制和調試,最終順利的完成了這一次的傳感器設計。
在學習傳感器與檢測技術這門中,我的收獲是特別大的,完成這次設計,不僅鞏固了單片機的知識,而且對傳感器與單片機的應用也熟悉了基本的操作方法。相信在以后的設計中,就會排除現在遇到的問題,更好的完成設計。以前我不知道傳感器到底是什么,只是在字面上理解它的意思,把一個物理量轉換成另外一個物理量。但是傳感器沒有我們想象的那么簡單,它有它的工作原理,使用條件。通過這一個學期的學習,我學習了好多傳感器,比如說:溫度傳感器、濕度傳感器、位移傳感器、壓力傳感器等等,現在的我大致地能理解他們的一些特性,也能夠運用他們來設計作品。在這里,我非常感謝我的老師。同時,對于這門課,我也想提出一些建議,希望我們班能夠經常開設一些關于傳感器設計與制作的活動。這樣既能提高我們的動手水平,也能開發(fā)我們設計傳感器的思維。

單片機源程序如下:

#include "all.h"
typedef union    
{ 
  uint i;        //定義了兩個共用體   
  float f;  
} value;   
  enum 
  {
          TEMP,HUMI   //TEMP=0,HUMI=1
  };
void s_transstart(void)   // 生成傳輸啟動
{        
        DATA=1; 
        SCK=0;              
        _nop_();     
        SCK=1;     
        _nop_();     
        DATA=0;     
        _nop_();     
        SCK=0;        
        _nop_();_nop_();_nop_();     
        SCK=1;     
        _nop_();      
        DATA=1;           
        _nop_();      
        SCK=0;        
}
void s_connectionreset(void)  
{       
        uchar i;      
        DATA=1; 
        SCK=0;                          
        for(i=0;i<9;i++)                  
        {       
                SCK=1;     
                SCK=0;    
        }     
        s_transstart();                   //傳輸開始
}
char s_write_byte(uchar value)   //在敏總線上寫入一個字節(jié)并檢查應答  
{      
        uchar i,error=0;       
        for (i=0x80;i>0;i/=2)              
        {        
                if(i&value) 
                        DATA=1;          //用i屏蔽值,寫入敏總線   
                else 
                        DATA=0;                               
                SCK=1;                            
                _nop_();_nop_();_nop_();          
                SCK=0;    
        }     
        DATA=1;                           //釋放數據線
        SCK=1;                              
        error=DATA;                       //DATA在第9個上升沿將被DHT90自動下拉為低電平。    
        _nop_();_nop_();_nop_();   
        SCK=0;    
        DATA=1;                           //釋放數據線 
        return error;                     //返回:0成功,1失敗 
}
char s_read_byte(uchar ack)        // 從敏感總線讀取字節(jié),并在“ack=1”的情況下給出確認
{      
        uchar i,val=0;     
        DATA=1;                           //釋放數據線 
        for (i=0x80;i>0;i/=2)             //shift bit for masking
        { 
                SCK=1;                          //clk for SENSI-BUS      
                if (DATA) val=(val|i);        //read bit      
                _nop_();_nop_();_nop_();        //pulswith約3 us     
                SCK=0;                 
        }     
        if(ack==1)
            DATA=0;                          //如果“ack==1”下拉數據線   
        else DATA=1;                      //如果是校驗(ack==0),讀取完后結束通訊   
            _nop_();_nop_();_nop_();          //pulswith約3 us    
        SCK=1;                            //clk #9 for ack    
        _nop_();_nop_();_nop_();          //pulswith約3 us     
        SCK=0;                     
        _nop_();_nop_();_nop_();          //pulswith約3 us    
        DATA=1;                           //釋放數據線   
        return val;  
}
char s_measure(uchar *p_value,uchar *p_checksum,uchar mode)  //用校驗和進行測量(濕度/溫度)
{      
        uint error=0;    
        uint i;       
        s_transstart();                   //傳輸開始  
        switch(mode)
        {                                //發(fā)送命令給傳感器
                case TEMP : error+=s_write_byte(MEASURE_TEMP); break;     
                case HUMI : error+=s_write_byte(MEASURE_HUMI); break;     
                default: 
                        break;       
        }     
        for (i=0;i<65535;i++) 
        if(DATA==0) 
                break;                        //等待傳感器完成測量
        if(DATA) error+=1;                // 或超時(~2秒)   
                *(p_value)  =s_read_byte(ACK);    //讀取第一個字節(jié)(MSB)
                *(p_value+1)=s_read_byte(ACK);    //讀取第二個字節(jié)(LSB) 
                *p_checksum =s_read_byte(noACK);  //讀取校驗和
        return error;  
}
void calc_dht90(float *p_humidity ,float *p_temperature) 
{
        const float C1=-4.0;              // 12位
        const float C2=+0.0405;           // 12位
        const float C3=-0.0000028;        // 12位    
        const float T1=+0.01;             // 14位   
        const float T2=+0.00008;           // 14位
        float rh=*p_humidity;             // rh:      濕度[滴答聲]12位    
        float t=*p_temperature;           // t:       溫度[刻度]14位  
        float rh_lin;                     // rh_lin:  濕度線性   
        float rh_true;                    // rh_true: 溫度補償濕度
        float t_C;                        // t_C   :  溫度 [C]     
        t_C=t*0.01-40;                  // 溫度從刻度到[C]  
        rh_lin=C3*rh*rh+C2*rh+C1;     
        rh_true=(t_C-25)*(T1+T2*rh)+rh_lin;   //.溫度補償濕度[%RH]
        if(rh_true>100)rh_true=100;       //如果值在外面,則削減   
        if(rh_true<0.1)rh_true=0.1;       //物理可能范圍  
……………………
…………限于本文篇幅 余下代碼請從下載附件…………

基于51單片機的SHT11溫濕度測量儀設計.rar
www.diks.com.cn/Article/UploadFiles/202307/2023070115583466.rar

Tags:溫濕度,溫濕度測量,51單片機  
責任編輯:admin
相關文章列表
基于51單片機的恒溫控制器系統 protues+keil c
51單片機數碼管顯示程序, 共陰數碼管顯示程序 數碼管原理(顯示
51單片機學習筆記直流電機驅動(PWM)C語言程序
MCU-51單片機直流電機驅動(PWM)51單片機驅動直流電機
先學51還是先學STM32?STM32和51單片機的區(qū)別
51單片機和STM32單片機的結構有什么不同
51單片機、AVR單片機和PIC單片機的IO口操作
在西門子plc 200smart中,通過Modbus RTU協議讀取溫濕度傳感器的
關于51單片機IO引腳的驅動能力與上拉電阻
51單片機“呼吸燈”程序
51單片機入門之靜態(tài)數碼管電路設計
AT89C51,51單片機1602液晶顯示時鐘程序
4位單片機數字鐘 電子鐘制作
51單片機4位數碼管電子鐘源程序
AT89C2051電腦機箱風扇智能溫控儀,AT89C2051 Temperature contro
51單片機溫控風扇(含程序+原理圖+仿真+PCB)
51單片機蜂鳴器播放音樂代碼
利用單片機AT89S51與ADC0809設計數字電壓表,Voltmeter
單片機制作的純正弦波逆變器,12V Pure Sine Wave Inverter
51單片機00-59秒計時器 0-59s Timer
51單片機按鍵程序中 while(!key)的作用
51系列單片機尋址方式
認識單片機引腳【詳解】
用51單片機設計的無線防盜報警器技術
51單片機匯編模擬串口通信程序
51單片機雙極型PWM 的軟件實現
用51單片機制作的廚房定時器
51單片機的液晶顯示溫度計程序
51單片機定時系統
51單片機擴展RAM讀寫子程序
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
<button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • www.-级毛片线天内射视视| 伊人五月天婷婷| 亚洲中文字幕无码一区二区三区| www黄色在线| 91黄色小网站| 成人性生活视频免费看| av日韩在线看| 久久精品国产精品亚洲色婷婷| 国产成人永久免费视频| 日韩精品免费一区| 亚洲精品少妇一区二区| 米仓穗香在线观看| 国产综合中文字幕| 狠狠干 狠狠操| 欧美一级黄色片视频| 国产精品秘入口18禁麻豆免会员| av动漫在线观看| 污网站免费在线| 亚洲欧美日韩不卡| 免费看黄在线看| 91av俱乐部| 国产免费色视频| 欧美变态另类刺激| 97人人爽人人| 99色这里只有精品| 少妇激情一区二区三区| 激情五月五月婷婷| 国产成人在线免费看| 怡红院亚洲色图| 成人黄色大片网站| 亚洲国产精品毛片av不卡在线| www,av在线| 两根大肉大捧一进一出好爽视频| av免费网站观看| 国产一级黄色录像片| 欧美三级一级片| 亚洲自拍第三页| 国产福利影院在线观看| av一区二区三区免费观看| 超碰网在线观看| 天天想你在线观看完整版电影免费| 久色视频在线播放| 少妇高潮流白浆| 欧美视频第三页| 69sex久久精品国产麻豆| 日本高清久久久| 激情六月丁香婷婷| 成人在线免费高清视频| 亚洲精品久久久久久宅男| 人妻久久久一区二区三区| 亚洲第一色av| 手机版av在线| 国产精品区在线| 国产嫩草在线观看| 黄色片久久久久| 国产免费黄色av| r级无码视频在线观看| 精品一区二区成人免费视频| 成人免费在线观看视频网站| 欧美变态另类刺激| 国产特级淫片高清视频| 成年人看的毛片| 91免费黄视频| av无码久久久久久不卡网站| 看一级黄色录像| 水蜜桃在线免费观看| 六月婷婷激情网| 欧美日韩激情四射| 又大又硬又爽免费视频| 男女猛烈激情xx00免费视频| 国产在线视频综合| 日本手机在线视频| 欧美一级在线看| 国产v亚洲v天堂无码久久久| 欧美 国产 小说 另类| 久久精品.com| www.色欧美| 国内av免费观看| 日韩免费在线观看av| 又大又硬又爽免费视频| 男女激情无遮挡| 北条麻妃在线一区| 两性午夜免费视频| 国产精品久久国产| 日韩精品一区二区三区色欲av| 无人在线观看的免费高清视频| 亚洲成色www.777999| 小说区视频区图片区| 久久这里只有精品23| 国产又大又黄又粗的视频| 2025韩国理伦片在线观看| 在线视频一二三区| 无码精品a∨在线观看中文| 好男人www社区| 妞干网这里只有精品| 欧美aⅴ在线观看| 日本高清久久久| 日韩av新片网| 亚洲五月激情网| 欧美日韩精品在线一区二区| 天天爽夜夜爽一区二区三区| 青春草国产视频| 911av视频| 激情六月丁香婷婷| 男人c女人视频| 国内av一区二区| 黄色影院一级片| 欧美一级中文字幕| 波多结衣在线观看| 国产成人在线免费看| 男女视频在线观看网站| 国产精品无码一本二本三本色| 国产精品12p| 污污的视频免费| 久久久久免费精品| 伊人成色综合网| 野外做受又硬又粗又大视频√| 国产无遮挡猛进猛出免费软件 | 青草青青在线视频| 国产精欧美一区二区三区白种人| 国产美女主播在线| 一区中文字幕在线观看| 日韩成人精品视频在线观看| 国产精品99久久免费黑人人妻| 欧美精品卡一卡二| 女同性恋一区二区| 国内av免费观看| 超碰中文字幕在线观看| 五月婷婷狠狠操| 中文av一区二区三区| 男女无套免费视频网站动漫| 少妇性l交大片| 久久久久免费精品| av污在线观看| 天天影视色综合| 9999在线观看| 喜爱夜蒲2在线| 日韩小视频网站| 男人添女人下部高潮视频在观看| 日韩视频 中文字幕| 亚洲色欲久久久综合网东京热| 日本大片免费看| 欧美在线一区视频| 北条麻妃在线一区| 欧美激情第3页| 日韩video| 日本www在线播放| 最新中文字幕2018| 特黄视频免费观看| 2021国产视频| aa免费在线观看| 天天干天天玩天天操| 欧美一级特黄aaaaaa在线看片| 男人天堂av片| 色婷婷狠狠18| www.在线观看av| 欧美成人精品欧美一级乱| 中国黄色片免费看| 中文字幕在线中文| www.xxx亚洲| 亚洲区成人777777精品| 亚洲 欧美 日韩 国产综合 在线| 日韩精品免费播放| 400部精品国偷自产在线观看| 黄色av网址在线播放| 波多结衣在线观看| 国产毛片久久久久久国产毛片| 男女曰b免费视频| 四虎免费在线观看视频| 男女午夜激情视频| 8x8x华人在线| 国产视频手机在线播放| 中国丰满熟妇xxxx性| 污片在线免费看| 日韩免费一级视频| 无码人妻精品一区二区三区99v| 国产黄色一级网站| 日本a级片在线观看| 天天操天天爱天天爽| 水蜜桃色314在线观看| 色一情一乱一乱一区91| 中文久久久久久| 精品国产成人av在线免| av网站手机在线观看| 国产卡一卡二在线| 污片在线免费看| 国产成人a亚洲精v品无码| 可以看毛片的网址| 中文字幕日韩精品无码内射| 天堂网在线免费观看| 波多野结衣作品集| 久久精品免费一区二区| 蜜桃传媒一区二区三区| 国产911在线观看| 深夜做爰性大片蜜桃| 九九九九九九九九| 天堂av.com| 91视频成人免费| 人妻激情另类乱人伦人妻| a级片一区二区|