999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SHT71的溫濕度計(jì)的設(shè)計(jì)與實(shí)現(xiàn)

2018-10-20 11:01:44周江
關(guān)鍵詞:單片機(jī)測(cè)量設(shè)計(jì)

周江

Abstract: In view of the demand for measurement of temperature and humidity in industrial and agricultural production and daily life, a design scheme and realization method of digital hygrothermograph based on single chip microcomputer, SHT71 and eight-segment LED digital tube are proposed. The interface method between SHT71 and MCU is introduced in detail, and the calculation method of temperature and humidity data is also given.

引言

在現(xiàn)代工農(nóng)業(yè)生產(chǎn)中,溫度和濕度是環(huán)境的2個(gè)重要參數(shù)[1],通過(guò)對(duì)溫度、濕度數(shù)據(jù)的采集和分析,可以外界環(huán)境因素進(jìn)行實(shí)時(shí)監(jiān)控,保證工農(nóng)業(yè)生產(chǎn)順利、高效地實(shí)現(xiàn)可持續(xù)快速發(fā)展。因此,溫度、濕度的采集至關(guān)重要[2]。目前,僅溫度的測(cè)量方法已經(jīng)多達(dá)數(shù)十種,本文以51單片機(jī)和數(shù)字溫濕度傳感器SHT71為基礎(chǔ),研究數(shù)字顯示的溫濕度計(jì)的設(shè)計(jì)方法。

1SHT71簡(jiǎn)介

SHT71是瑞士Sensirion(盛思銳)公司生產(chǎn)的溫度和濕度傳感器,其引腳圖和引腳說(shuō)明則如圖1所示。SHT71是SHT7x系列的標(biāo)準(zhǔn)版本,其高端版本是SHT75。同樣的器件也有貼片封裝的SHT1x系列,其標(biāo)準(zhǔn)版本是SHT11,高端版本是SHT15。

電源與地之間已經(jīng)連接了100 nF的退耦電容,不需要外接。

SHT71采取互補(bǔ)金屬氧化物半導(dǎo)體材質(zhì)進(jìn)行電壓放大,通過(guò)電容體監(jiān)測(cè)環(huán)境濕度,利用能量間隙體監(jiān)測(cè)環(huán)境溫度[3]。由于在其內(nèi)部傳感器、放大器、A/D轉(zhuǎn)換器及串行接口電路都設(shè)計(jì)集成在同一芯片上,就使得SHT71的抗干擾能力更強(qiáng)、性能更加穩(wěn)定可靠[4]。

SHT71的主要技術(shù)指標(biāo)可參見(jiàn)表1[5]。

1.1SHT71的通信協(xié)議

SHT71上電后需要11 ms進(jìn)入休眠狀態(tài),在此之前不允許對(duì)傳感器發(fā)送任何命令。這里,將分為2部分給出闡釋分析,具體內(nèi)容如下。

(1)SHT71的通訊指令分析。休眠過(guò)后,啟用傳輸開始(Transmission Start)時(shí)序,來(lái)完成數(shù)據(jù)傳輸?shù)某跏蓟鬏旈_始的時(shí)序圖見(jiàn)圖2。

后續(xù)命令包含3個(gè)地址位(目前只支持“000”)和5個(gè)命令位。SHT71會(huì)以下述方式表示已正確地接收到指令:在第8個(gè)SCK的下降沿之后,將DATA下拉為低電平(ACK位)作為回答,在第9個(gè)SCK的下降沿之后,釋放DATA(恢復(fù)高電平)。5個(gè)命令位的定義見(jiàn)表2。表2中,軟件復(fù)位意指通信接口和狀態(tài)寄存器復(fù)位,在發(fā)送下一個(gè)命令前,至少等待11 ms。并且,狀態(tài)寄存器復(fù)位后,其內(nèi)容恢復(fù)成初始狀態(tài)。狀態(tài)寄存器的定義可見(jiàn)表3。

(2)單片機(jī)與SHT71的通訊時(shí)序分析。以單片機(jī)給SHT71發(fā)送濕度測(cè)量命令為例,命令字為00000101,圖3給出了單片機(jī)與SHT71通信的時(shí)序圖,其中前半部分是發(fā)送傳輸開始時(shí)序,后半部分是輸出濕度測(cè)量命令00000101。圖3中,DATA線中加粗的部分是SHT71輸出的ACK信號(hào),DATA線的其它部分是由單片機(jī)輸出的。

單片機(jī)發(fā)送測(cè)量命令后,需要等待測(cè)量結(jié)束,這個(gè)過(guò)程大約需要20 ms/80 ms/320 ms,分別對(duì)應(yīng)8 bit/12 bit/14 bit的測(cè)量數(shù)據(jù)分辨率。SHT71通過(guò)下拉DATA線至低電平(這實(shí)際上是SHT71輸出的測(cè)量數(shù)據(jù)的最高位)表示測(cè)量結(jié)束,單片機(jī)必須等待這個(gè)信號(hào)到來(lái)之后,才能讀取數(shù)據(jù)。在測(cè)量與通信結(jié)束后,SHT71自動(dòng)轉(zhuǎn)入休眠模式,以降低自身能耗[6]。

單片機(jī)查詢到測(cè)量結(jié)束信號(hào)后,可以讀取2字節(jié)的測(cè)量數(shù)據(jù)和1字節(jié)的CRC校驗(yàn)碼。數(shù)據(jù)是高位在前、右端對(duì)齊的(比如,對(duì)于14 bit的溫度數(shù)據(jù),2字節(jié)的測(cè)量數(shù)據(jù)中最高的2 bit是不用的,這2 bit的數(shù)據(jù)是2個(gè)0)。對(duì)于8 bit的濕度數(shù)據(jù),第一個(gè)字節(jié)是不用的,但SHT71仍然會(huì)發(fā)送2個(gè)字節(jié)數(shù)據(jù),只是第一個(gè)字節(jié)發(fā)送的是全0。

單片機(jī)收到1個(gè)字節(jié)的數(shù)據(jù)后,應(yīng)該通過(guò)下拉DATA線為低電平(ACK)以確認(rèn)收到數(shù)據(jù),在收到CRC校驗(yàn)碼后,則無(wú)須拉低DATA線,而讓DATA線保持高電平(NACK),以表示結(jié)束本次通信。如果不需要CRC校驗(yàn)碼,也可在收到第二個(gè)字節(jié)數(shù)據(jù)后,不拉低DATA線以結(jié)束通信。SHT71在SCK的下降沿輸出1 bit數(shù)據(jù),單片機(jī)在輸出SCK的上升沿后讀取數(shù)據(jù),以保證讀到穩(wěn)定的數(shù)據(jù)。

如果單片機(jī)與SHT71的通信中斷,可通過(guò)如圖4所示的時(shí)序復(fù)位通信接口。

在保持DATA線為高電平的情況下,輸出至少9個(gè)時(shí)鐘脈沖,接著發(fā)送一個(gè)傳輸開始時(shí)序。這個(gè)過(guò)程只復(fù)位通信接口,狀態(tài)寄存器內(nèi)容仍然保留。

1.2溫度信號(hào)轉(zhuǎn)換

可以根據(jù)下面的溫度計(jì)算公式和系數(shù)表,將單片機(jī)從SHT71讀取的2字節(jié)溫度數(shù)據(jù)SOT轉(zhuǎn)換為溫度值T。溫度計(jì)算公式可表述為:T= d1 + d2 × SOT(1)其中,當(dāng)SOT為14 bit時(shí),d2取0.01 ℃、當(dāng)SOT為12 bit時(shí),d2取0.04 ℃,關(guān)于d1運(yùn)算系數(shù)的取值可參見(jiàn)表4。

1.3濕度信號(hào)轉(zhuǎn)換

將單片機(jī)從SHT71讀取的濕度數(shù)據(jù)SORH轉(zhuǎn)換為相對(duì)濕度可分為2個(gè)步驟,可概括描述為:

(1)進(jìn)行非線性補(bǔ)償,得到相對(duì)濕度的線性值RHlinear,相對(duì)濕度非線性補(bǔ)償?shù)倪\(yùn)算系數(shù)可見(jiàn)表5。補(bǔ)償公式則如下所示:RHlinear = c1 + c2×SORH + c3×SORH2 (2)其中,RHlinear的單位為%RH。

2電路設(shè)計(jì)

設(shè)計(jì)要求運(yùn)用SHT71制作一個(gè)數(shù)字溫濕度計(jì),通過(guò)一個(gè)自鎖開關(guān),選擇在4位數(shù)碼管上顯示溫度或濕度,并用2只LED作為溫度或濕度顯示的指示燈。研究中,溫度的測(cè)量范圍是-40 ℃ ~ +123.8 ℃,濕度的測(cè)量范圍是0 ~ 100%RH,因此結(jié)果顯示可以精確到小數(shù)點(diǎn)后一位。當(dāng)溫度為負(fù)溫時(shí),最高位顯示負(fù)號(hào)‘-。應(yīng)用電路的原理設(shè)計(jì)可如圖5所示。

圖5中,SHT71的時(shí)鐘線SCK和數(shù)據(jù)線DATA分別選接單片機(jī)的P1.0和P1.1;SW是溫度/濕度測(cè)量和顯示的切換開關(guān),選接單片機(jī)的P1.7;D1、D2分別是溫度和濕度顯示的指示燈,實(shí)接單片機(jī)的P1.2和P1.3;R1、R2是D1、D2的限流電阻。4位數(shù)碼管是共陰的,8位段選線實(shí)接單片機(jī)的P3口,從左至右的4位位選線分別連接至單片機(jī)的P0.4 ~ P0.7。

3軟件設(shè)計(jì)

軟件設(shè)計(jì)中,主要包括復(fù)位SHT71通信接口、發(fā)送溫度/濕度測(cè)量命令、計(jì)算溫度/濕度值和4位數(shù)碼管的顯示等。除顯示在中斷程序中啟用運(yùn)行外,其它功能均在主程序中設(shè)計(jì)實(shí)現(xiàn)。4位數(shù)碼管的動(dòng)態(tài)顯示尤為常見(jiàn),請(qǐng)參照文獻(xiàn)[7],限于篇幅本文不再贅述。

主程序的設(shè)計(jì)流程如圖6所示。

由圖6可知,首先進(jìn)行定時(shí)器的初始化和開中斷,延時(shí)20 ms后(SHT71手冊(cè)要求,上電11 ms后才能對(duì)其發(fā)送命令),復(fù)位SHT71的通信接口。此后根據(jù)溫度/濕度切換開關(guān)SW的狀態(tài),選擇發(fā)送溫度測(cè)量命令或濕度測(cè)量命令。命令發(fā)送后,在等待中進(jìn)行測(cè)量超時(shí)判斷,如果超時(shí),則延時(shí)500 ms后再次復(fù)位SHT71的通信接口;否則,將讀取測(cè)量數(shù)據(jù),并根據(jù)SW的狀態(tài),選擇計(jì)算溫度或濕度值,同時(shí)改變溫度或濕度的指示燈狀態(tài)。其中涉及的關(guān)鍵功能為:復(fù)位SHT71的通信接口、發(fā)送測(cè)量命令、讀取測(cè)量數(shù)據(jù)和計(jì)算溫度或濕度值等。這里,針對(duì)其功能設(shè)計(jì)將逐一展開研究分述如下。

3.1復(fù)位SHT71通信接口

如前文圖4所示的復(fù)位SHT71通信接口時(shí)序圖,已經(jīng)清晰展示了整個(gè)復(fù)位過(guò)程。依據(jù)該圖,即可歸納寫出實(shí)現(xiàn)該功能的函數(shù)。程序中,將先行輸出9個(gè)時(shí)鐘脈沖,接著發(fā)送傳輸開始時(shí)序。

3.2發(fā)送溫度/濕度測(cè)量命令

參考圖3的濕度測(cè)量命令時(shí)序圖,其中的前半部分是發(fā)送傳輸開始時(shí)序,該時(shí)序在復(fù)位SHT71通信接口中已經(jīng)發(fā)送,這里就不再發(fā)送了。發(fā)送溫度或濕度測(cè)量的命令實(shí)際上是向SHT71寫一個(gè)字節(jié),在程序設(shè)計(jì)中將其整合為一個(gè)函數(shù),該函數(shù)不僅只是適用于發(fā)送溫度/濕度測(cè)量命令,也可用于讀/寫狀態(tài)寄存器、軟件復(fù)位等,只要函數(shù)設(shè)定不同的入口參數(shù),就可以轉(zhuǎn)換為不同的命令。SHT71的命令表可詳見(jiàn)表2。

3.3讀取測(cè)量數(shù)據(jù)

在SCK的下降沿后,SHT71更新從DATA輸出的數(shù)據(jù),在SCK的上升沿后,數(shù)據(jù)有效。測(cè)量完成后,SHT71自動(dòng)從DATA線輸出第一位數(shù)據(jù),所以讀取第一個(gè)字節(jié)的第一位數(shù)據(jù)時(shí),SCK不需要輸出下降沿。在第8個(gè)SCK的下降沿后,單片機(jī)輸出應(yīng)答信號(hào)ACK(低電平);在第9個(gè)SCK的下降沿后,SHT71輸出第二個(gè)字節(jié)的第一位數(shù)據(jù)。也就是說(shuō),單片機(jī)在讀取任何一個(gè)字節(jié)的第一位數(shù)據(jù)時(shí),均不(下轉(zhuǎn)封三)需要從SCK輸出下降沿,這點(diǎn)與很多芯片的通信協(xié)議有所不同,因而需要特別的關(guān)注和重視。

本設(shè)計(jì)中并未使用CRC校驗(yàn)碼,所以程序在讀取第二個(gè)字節(jié)后,輸出應(yīng)答信號(hào)NACK(高電平)以結(jié)束通信。如果需要校驗(yàn)碼,則應(yīng)在讀取第二個(gè)字節(jié)后,輸出ACK,讀取校驗(yàn)碼后,再輸出NACK結(jié)束通信。

3.4溫度的計(jì)算

根據(jù)表4中的運(yùn)算系數(shù)、以及公式(1)可知,當(dāng)電源電壓為+5 V、溫度數(shù)據(jù)選擇14 bit時(shí),溫度的計(jì)算公式是:T=-40.1+0.01×SOT(4)其中,T的單位是℃。

為盡量采用整數(shù)運(yùn)算,上式將可寫作如下形式:T=-4010+SOT(5)其中,T的單位是0.01 ℃

在此基礎(chǔ)上,判斷溫度的符號(hào)。如果是正數(shù),符號(hào)位將置0;如果是負(fù)數(shù),符號(hào)位將置1,再將補(bǔ)碼變成原碼(相當(dāng)于取絕對(duì)值)。此后,將計(jì)算結(jié)果除以10(因?yàn)轱@示的精度是0.1 ℃),并做四舍五入運(yùn)算即可得到結(jié)果。

3.5濕度的計(jì)算

綜上可知,這種系數(shù)無(wú)法采用整數(shù)計(jì)算,程序設(shè)計(jì)中應(yīng)采用浮點(diǎn)數(shù)的運(yùn)算。將式(6)右邊乘以10,將濕度的單位變換成0.1%(因?yàn)轱@示的精度是0.1%),并做四舍五入的運(yùn)算即可得到結(jié)果。

4結(jié)束語(yǔ)

本文設(shè)計(jì)提出的數(shù)字顯示的溫濕度計(jì)在單片機(jī)和傳感器類的項(xiàng)目教學(xué)課程中作為實(shí)際的教學(xué)項(xiàng)目使用,取得了比較好的教學(xué)效果。只是,在本次研發(fā)設(shè)計(jì)中并未考慮當(dāng)溫度數(shù)據(jù)選擇12 bit和濕度數(shù)據(jù)選擇8 bit時(shí)的計(jì)算方法,也沒(méi)有深度探討濕度的溫度補(bǔ)償研究,后續(xù)工作中可對(duì)此提供進(jìn)一步的實(shí)踐應(yīng)用討論與分析。

參考文獻(xiàn)

[1] 陳潔,王恩亮. 糧食科技物流中心溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)[J]. 微型機(jī)與應(yīng)用,2014,33(14): 88-90, 94.

[2] 明廷日,鄧鵬,馬雪芬. 基于MSP430單片機(jī)的溫度采集系統(tǒng)設(shè)計(jì)[J]. 儀器儀表用戶,2018,25(3): 5-7, 76.

[3] 李麗芬,云彩霞,陳曉芳. 基于嵌入式系統(tǒng)的環(huán)境監(jiān)測(cè)與控制系統(tǒng)[J]. 現(xiàn)代電子技術(shù),2017,40(19): 126-128.

[4] 曹會(huì)國(guó),姜文育. 基于SHT-11的單片機(jī)的智能花卉澆灌器的設(shè)計(jì)[J]. 電子世界,2016(12): 57.

[5] Sensirion Inc. Datasheet SHT7x humidity and temperature sensor IC[EB/OL]. [2018-02-19]. https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/0_Datasheets/Humidity/Sensirion_Humidity_Sensors_SHT7x_Datasheet.pdf.

[6] 李樹丹,張從松,覃章健,等. 基于ZigBee協(xié)議的溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子科技,2014,27(12): 37-40

[7] 崔承毅,王開宇,高慶華,等. 數(shù)碼管顯示虛擬仿真實(shí)驗(yàn)設(shè)計(jì)[J]. 工業(yè)和信息化教育,2018(1): 38-41.

猜你喜歡
單片機(jī)測(cè)量設(shè)計(jì)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
把握四個(gè)“三” 測(cè)量變簡(jiǎn)單
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
滑動(dòng)摩擦力的測(cè)量和計(jì)算
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
滑動(dòng)摩擦力的測(cè)量與計(jì)算
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
測(cè)量
主站蜘蛛池模板: 人妻无码一区二区视频| 任我操在线视频| a级高清毛片| 亚洲无码精品在线播放| 亚洲美女操| 午夜三级在线| 国产欧美精品一区二区| 欧美午夜视频| 国产无套粉嫩白浆| 99精品在线看| 97人妻精品专区久久久久| 国产亚洲欧美在线视频| 欧美日韩国产高清一区二区三区| 亚洲色婷婷一区二区| 久久国产亚洲偷自| 久久人人97超碰人人澡爱香蕉| 精品伊人久久久大香线蕉欧美| a毛片在线免费观看| 久久国语对白| 亚洲人成亚洲精品| 2021国产乱人伦在线播放| 中文字幕日韩久久综合影院| 国产丝袜啪啪| 国产96在线 | 成人精品在线观看| 狠狠干综合| 国产高颜值露脸在线观看| 广东一级毛片| 日本久久网站| 日韩区欧美国产区在线观看| 国产H片无码不卡在线视频| 丁香婷婷激情网| aⅴ免费在线观看| 日韩第一页在线| 精品福利视频导航| 欧美人在线一区二区三区| 国产剧情无码视频在线观看| 久久成人国产精品免费软件| 麻豆国产精品一二三在线观看| 日韩国产亚洲一区二区在线观看| 免费国产福利| 99视频在线看| 国产网站一区二区三区| 国产午夜福利片在线观看| 国产微拍精品| 强乱中文字幕在线播放不卡| 丁香六月综合网| 色哟哟精品无码网站在线播放视频| 久久五月天综合| 色成人亚洲| 日本一区高清| 男女猛烈无遮挡午夜视频| 青青极品在线| 亚洲无码熟妇人妻AV在线| 日韩国产黄色网站| 久久久久久高潮白浆| a级毛片免费播放| 久久久久久久久18禁秘| 久久黄色免费电影| 久久黄色小视频| 91高清在线视频| 欧美综合一区二区三区| 国产青青操| 四虎精品黑人视频| 亚洲欧美精品在线| 东京热av无码电影一区二区| 中文天堂在线视频| 欧美综合区自拍亚洲综合天堂| 免费看的一级毛片| 毛片网站在线看| 久久96热在精品国产高清| 波多野结衣无码AV在线| 亚洲 成人国产| 99re这里只有国产中文精品国产精品 | 伊人福利视频| 青草视频免费在线观看| 国产黄色免费看| 亚洲精品无码久久毛片波多野吉| 日韩大乳视频中文字幕| 欧美色亚洲| 色综合热无码热国产| 丁香六月综合网|