標題: 基于51單片機的SHT11溫濕度測量儀設計(源碼+仿真+文檔) [打印本頁]
作者: 2515361695 時間: 2018-12-26 10:29
標題: 基于51單片機的SHT11溫濕度測量儀設計(源碼+仿真+文檔)
電路原理圖如下:
%[RX[$%O4U3U_7I6OWT@[16.png (123.11 KB, 下載次數(shù): 131)
下載附件
原理圖截圖
2018-12-26 10:24 上傳
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
RD]I$BED2[FX`TN90S{DF.png (19.45 KB, 下載次數(shù): 132)
下載附件
仿真截圖
2018-12-26 10:24 上傳
FL()3UJ7_RW@K`SI8%I02.png (54.77 KB, 下載次數(shù): 124)
下載附件
程序截圖
2018-12-26 10:23 上傳
[5I`X(GNEEGF$L7AE@DN0HX.png (11.09 KB, 下載次數(shù): 121)
下載附件
資源文件
2018-12-26 10:24 上傳
一、總體設計要求3
二、方案論證 3
三、系統(tǒng)硬件設計 3
3.1復位電路3
3.2時鐘電路3
3.3 溫濕度測量電路4
3.4顯示電路5
四、系統(tǒng)軟件設計
4.1DHT11軟件設計6
4.2軟件設計流程圖 6
4.3 原理圖以及原理分析7
五、電路仿真及仿真結果分析
5.1電路仿真圖 7
5.2仿真結果分析 8
六、心得體會8
七、參考文獻9
一、總體設計要求:
1、能夠檢測出環(huán)境中的溫度和濕度,并且顯示在LCD1602上面
2、技術參數(shù)有以下要求:
濕度測量范圍:0%~100%RH;溫度測量范圍-40~+110℃。
濕度測量分辨率:1%RH;溫度測量分辨率:1℃。
濕度測量精度:±2.0%RH;溫度測量精度:±0.5℃。
3、電源工作范圍:DC 4.5~5.5V。
二、構思與選擇:
方案一:
使用AM2301數(shù)字溫濕度傳感器。該型號溫濕度傳感器,采用3.3—6V直流電源供電,它的各部分參數(shù):濕度測量范圍為20%~90%RH;溫度測量的范圍為0~+50℃;濕度測量精度為±5.0%RH;溫度測量精度為±2.0℃。雖然它的價格比較便宜,單測溫的范圍和測濕的范圍太小,溫度的精度和濕度的精度太低,不符合設計的要求。
方案二:
使用AM2302電容式數(shù)字溫濕度傳感器。它的各部分參數(shù)如下:由于傳感器參數(shù):濕度0%~100%相對是濕度的測量范圍;溫度測量范圍為40~+80℃;濕度的測量精度為±3.0%RH;溫度的測量精度為±0.5℃。價格也比較適合,基本可以滿足設計要求。
方案三:
使用數(shù)字溫濕度傳感器SHT11。濕度測量范圍:0%~100%RH;溫度測量范圍:40~+120℃;濕度測量精度:±2%相對濕度;溫度測量精度:±0.2%℃溫度測量精度。改傳感器價格便宜。溫度和濕度都達到或超過了標題的精度要求,屬于低功率傳感器。
綜上分析,設計應以最大化利用內(nèi)部資源,電路簡易,節(jié)約成本為原則,而且利用從系統(tǒng)技術參數(shù)要求和低功率方面考慮。因此采用方案三。
三、系統(tǒng)硬件設計:
3.1復位電路:
復位是單片機的初始化操作。單片機啟動運行時,都需要先復位,作用是使CPU和系統(tǒng)中其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因此,復位是一個很重要的操作方式。但單片機本身是不能自動進行復位的,必須配合相應的外部電路才能實現(xiàn)。
單片機通電時,從初始態(tài)開始執(zhí)行程序,稱為上電復位。單片機死機時,通過手工按“重啟”鍵使其從初始態(tài)開始執(zhí)行程序,稱為手工復位。
復位條件:復位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復位操作;但如果RST持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài)。
3.2時鐘電路:
1.時鐘電路
利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2的引腳上外接定時元件,內(nèi)部振蕩器便能產(chǎn)生自激振蕩。定時元件可以采用石英晶體和電容組成的并聯(lián)諧振電路。
晶振可以在1.2~12MHZ之間任選,甚至可以達到24MHz,但是頻率越高功耗也就越大。和晶振并聯(lián)的電容C1、C2的大小對振蕩頻率有微小影響,可以起到頻率微調(diào)作用。當采用石英晶振時,電容可以在20~40pF之間選擇。晶體和電容應盡可能與單機片芯片靠近,以減少引線的寄生電容,保證振蕩器可靠工作。

3.3.溫濕度測量電路:
SHT11是瑞士Scnsirion公司推出的一款數(shù)字溫濕度傳感器芯片。該芯片廣泛應用于暖通空調(diào)、汽車、消費電子、自動控制等領域。共主要特點如下: 高度集成,將溫度感測、濕度感測、信號變換、A/D轉換和加熱器等功能集成到一個芯片上;提供二線數(shù)字串行接口SCK和DATA,接口簡單,支持CRC傳輸校驗,傳輸可靠性高;測量精度可編程調(diào)節(jié),內(nèi)置A/D轉換器(分辨率為8~12位,可以通過對芯片內(nèi)部寄存器編程選擇); 測量精確度高,由于同時集成溫濕度傳感器,可以提供溫度補償?shù)臐穸葴y量值和高質(zhì)量的露點計算功能;封裝尺寸超小(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通過接一個電位器來調(diào)節(jié)顯示屏的背光度,數(shù)據(jù)/命令選擇端RS、讀/寫控制信號端RW、LCD使能端分別由單片機引腳P2.6、P2.5、P2.7進行控制。數(shù)據(jù)傳輸端D0-D7則用單片機的P0口進行控制。如圖是LCD1602詳細的電路引腳連線圖。

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

4.3.原理圖以及原理分析:
通過AD19繪制出如上圖所示的原理圖,包括時鐘電路、晶振電路、DHT11溫濕度檢測電路、lcd1602顯示電路,因為溫濕度傳感器與單片機連接電路比較簡單。所以可以容易的繪制出電路圖。
五、仿真圖及仿真分析:
5.1、總體仿真結果:

5.2、仿真分析:
首先,將程序的hex文件加載到單片機中,開始仿真?梢郧宄乜吹絃CD1602上面顯示了SHT11當前的溫度和濕度,雖然有誤差但是誤差并不是很大可以忽略不計,調(diào)節(jié)傳感器上面的按鈕可以實時的將傳感器所在環(huán)境的溫度顯示到LCD1602上面,具有可控性,而且顯示性和可控性較好。
六、心得體會:
我這次做的是基于單片機的溫濕度測量儀。我們知道,單片機和傳感器的應用如今已經(jīng)在工業(yè)、電子等方方面面展示出了它的優(yōu)越性,利用單片機和傳感器設計電路也逐漸成了趨勢,它與外圍的簡單電路再加上優(yōu)化程序就可以構建任意的產(chǎn)品,使得這次設計成為現(xiàn)實。隨著單片機和傳感器的日益發(fā)展,它們必將在未來顯示出更大的活力,為人們提供更好的產(chǎn)品。
雖然這個電路我已經(jīng)設計出來了,但是在這次的設計當中,我遇到了不少的問題。最開始我不知道要用哪一種傳感器作為我的設計,糾結了好久,最終我確定了選擇用DHT11作為我的溫濕度傳感器模塊,因為老師說不能用書本上的DS18B20作為此次設計模塊,因為書上有該模塊的詳細電路圖原理圖以及寫好的程序,所以我就仔細的查閱資料,結合以前在實驗室學習的經(jīng)驗,通過一個多星期的時間來準備,從方案的選擇原理圖的繪制再到程序的編寫和仿真圖的繪制和調(diào)試,最終順利的完成了這一次的傳感器設計。
在學習傳感器與檢測技術這門中,我的收獲是特別大的,完成這次設計,不僅鞏固了單片機的知識,而且對傳感器與單片機的應用也熟悉了基本的操作方法。相信在以后的設計中,就會排除現(xiàn)在遇到的問題,更好的完成設計。以前我不知道傳感器到底是什么,只是在字面上理解它的意思,把一個物理量轉換成另外一個物理量。但是傳感器沒有我們想象的那么簡單,它有它的工作原理,使用條件。通過這一個學期的學習,我學習了好多傳感器,比如說:溫度傳感器、濕度傳感器、位移傳感器、壓力傳感器等等,現(xiàn)在的我大致地能理解他們的一些特性,也能夠運用他們來設計作品。在這里,我非常感謝我的老師。同時,對于這門課,我也想提出一些建議,希望我們班能夠經(jīng)常開設一些關于傳感器設計與制作的活動。這樣既能提高我們的動手水平,也能開發(fā)我們設計傳感器的思維。
單片機源程序如下:
程序仿真文檔51hei附件下載:
仿真程序原理圖文檔.7z
(419.5 KB, 下載次數(shù): 630)
2022-5-5 01:30 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: admin 時間: 2018-12-29 22:13
好資料,51黑有你更精彩!!!
作者: jaedong 時間: 2019-2-20 15:02
第一項數(shù)據(jù)誤差有點大啊
作者: molo 時間: 2019-2-20 20:54
溫濕度傳感器是SHT11,還是DHT11呢?
作者: e247699 時間: 2019-3-25 14:52
好東西
作者: asdfrebrh 時間: 2019-4-8 11:30
頂一個
作者: a1357787200 時間: 2019-4-9 18:25
挺好的,剛好學習學習
作者: gsz1997 時間: 2019-4-11 01:28
從理論到實踐,學習一下,感謝分享
作者: EHTRHRY 時間: 2019-4-28 11:40
bucuo keyiyong
作者: EHTRHRY 時間: 2019-4-28 11:42
適合初學者
作者: 101544 時間: 2019-5-29 10:03
想問問仿真像圖上那樣顯示是對的嗎?
作者: xuayong 時間: 2019-5-31 23:30
我剛下載啦!等明天看看能否運行,謝謝編輯
作者: k2866 時間: 2019-6-1 19:27
資料好詳細啊,51有你更精彩~!
作者: 果地巴巴 時間: 2020-3-25 23:49
對啊,似乎濕度才是要百分之幾顯示的
作者: 大貝貝的貝 時間: 2020-4-7 17:41
molo 發(fā)表于 2019-2-20 20:54
溫濕度傳感器是SHT11,還是DHT11呢?
應該是SHT11
作者: 小灰灰12345 時間: 2020-5-19 16:35
初學者表示十分好
作者: xllin 時間: 2020-5-20 10:34
謝謝分享
作者: xmmdsg 時間: 2020-6-6 15:51
感謝分享
作者: dgsd749 時間: 2020-6-8 08:53
好東西
作者: lxllxl 時間: 2020-6-8 11:38
好!!
作者: yht147 時間: 2020-6-8 12:57
有DS18B20的設計嘛
作者: yht147 時間: 2020-6-8 12:57
就是引腳設計咋辦嘛
作者: 自哦 時間: 2020-6-21 09:16
捉個蟲,顯示器的溫度濕度寫反了
作者: gqzjl 時間: 2020-6-21 12:44
感謝分享
作者: hljwkwgy 時間: 2021-3-5 19:35
樓主辛苦了~學習學習
作者: 石寨爆欠 時間: 2022-5-4 15:58
我按照上面的程序基礎上設計了 按鍵設定溫濕度數(shù)值,并與讀取的值比較進行降溫除濕,設定值只有個位和十位,但仿真時只顯示沒有比較,想問問是怎么改改
作者: 大漠落日 時間: 2022-5-15 11:46
想不到PROTEUS里面還有SHT11,真是太牛了,這么老的軟件里有,說明這個器件很早就有了,只是我沒有用到,不清楚。唉,可悲。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |