版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
信息與電氣工程學(xué)院課程設(shè)計(jì)說(shuō)明書(2015/2016學(xué)年第 2學(xué)期)課程名稱 : 單片機(jī)應(yīng)用課程設(shè)計(jì)題 目: 溫濕度監(jiān)測(cè)系統(tǒng)專業(yè)班級(jí) : 自動(dòng)化3班學(xué)生姓名 :學(xué) 號(hào):指導(dǎo)教師 :苗敬利、王立國(guó)、王靜爽、侯帥、何明星、趙奇設(shè)計(jì)周數(shù)
:
2周設(shè)計(jì)成績(jī)
:2016
年
7月
6日摘要本設(shè)計(jì)實(shí)現(xiàn)得就是單片機(jī)溫濕度測(cè)量與控制系統(tǒng) ,通過(guò)在LCD1602上實(shí)時(shí)顯示室內(nèi)環(huán)境得溫度與相對(duì)濕度。系統(tǒng)采用集溫濕度傳感器與 A/D轉(zhuǎn)換器為一體得 DHT90傳感器芯片,通過(guò)單片機(jī) AT89C52處理進(jìn)行顯示 ,其它模塊包括了實(shí)時(shí)時(shí)鐘 /日期產(chǎn)生電路與超限報(bào)警處理電路,對(duì)所測(cè)量得值進(jìn)行實(shí)時(shí)顯示與報(bào)警處理。 本文介紹了基于 ATMEL公司得AT89C52系列單片機(jī)得溫濕度實(shí)時(shí)測(cè)量與控制系統(tǒng)與顯示系統(tǒng)得設(shè)計(jì) ,包括介紹了硬件結(jié)構(gòu)原理 ,并分析了相應(yīng)得軟件得設(shè)計(jì)及其要點(diǎn) ,包括軟件設(shè)計(jì)流程及其程序?qū)崿F(xiàn)。 系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、實(shí)用,提高了測(cè)量精度與效率。關(guān)鍵詞:
溫濕度
;SHT10傳感器
;單片機(jī)
;DHT11傳感器1設(shè)計(jì)目得:制定溫濕度監(jiān)測(cè)系統(tǒng)得操作流程,指導(dǎo)溫濕度監(jiān)測(cè)系統(tǒng)得正確使用與維護(hù)溫濕度監(jiān)測(cè)系統(tǒng)操作不當(dāng)而造成損壞,并保證測(cè)試得數(shù)據(jù)準(zhǔn)確。
,防止2溫濕度檢測(cè)得簡(jiǎn)介2、1系統(tǒng)得概述溫濕度測(cè)量技術(shù)在當(dāng)今得工廠加工、醫(yī)療區(qū)域、農(nóng)業(yè)區(qū)域中已經(jīng)起來(lái)重要得位子 ,例如資源得節(jié)約、產(chǎn)品質(zhì)量得提高、產(chǎn)品數(shù)目得提高 ,這些問(wèn)題現(xiàn)在已經(jīng)越來(lái)越受到外界得關(guān)注了。當(dāng)今,知識(shí)信息與知識(shí)得工業(yè)化已經(jīng)開(kāi)始了飛一般得進(jìn)步 ,溫度與濕度得問(wèn)題影響得范圍距離已經(jīng)不再之前談到得那些方面 ,它還體現(xiàn)在科技發(fā)展、衛(wèi)生用品、醫(yī)藥衛(wèi)生、國(guó)家安全基礎(chǔ)等多種方面。就上述幾個(gè)問(wèn)題與情況 ,溫濕度檢測(cè)得準(zhǔn)確性、穩(wěn)定性、快速性、安全性這些方面得設(shè)計(jì)要求變得尤其重要。在最近幾年中 ,使用SHT10控制得溫濕度傳感器與溫濕度數(shù)據(jù)得網(wǎng)上直接檢驗(yàn)技術(shù)現(xiàn)已成為當(dāng)下得一種發(fā)展方向與追求。 本次畢業(yè)設(shè)計(jì)介紹與實(shí)現(xiàn)了一種單片機(jī)與自動(dòng)化溫濕度傳感器互相結(jié)合 ,它們兩就組成了一種簡(jiǎn)單得溫濕度檢測(cè)器系統(tǒng)。這種檢測(cè)系統(tǒng)具有以下得特點(diǎn) :易操作、制作成本低、準(zhǔn)確性較高、持續(xù)時(shí)間長(zhǎng)、較為穩(wěn)定。2、2系統(tǒng)設(shè)計(jì)選題得背景2、2、1國(guó)內(nèi)外研究現(xiàn)狀關(guān)于我國(guó)國(guó)內(nèi)溫濕度研究得時(shí)間相對(duì)于國(guó)外還就是比較晚得 ,畢竟我國(guó)對(duì)于溫濕度檢測(cè)技術(shù)得研究才剛剛起步 。初期我國(guó)只運(yùn)用了相對(duì)落后得溫濕度得微機(jī)控制測(cè)量技術(shù) ,而這門技術(shù)還就是在參考當(dāng)時(shí)國(guó)外發(fā)展國(guó)家得檢測(cè)技術(shù)得基礎(chǔ)上 ,這門技術(shù)局限于測(cè)量單方面環(huán)境因素,不支持復(fù)雜、多項(xiàng)得環(huán)境控制。 我國(guó)關(guān)于溫濕度檢測(cè)技術(shù)從對(duì)國(guó)外發(fā)達(dá)技術(shù)得學(xué)習(xí)
,經(jīng)過(guò)慢慢時(shí)間得不斷地實(shí)驗(yàn)
,現(xiàn)已經(jīng)發(fā)展到微測(cè)量計(jì)算機(jī)應(yīng)用得層次上。
目前,國(guó)內(nèi)用得技術(shù)基本上包括單片機(jī)
,這種技術(shù)就是利用單片機(jī)控制得溫濕度檢測(cè)得系統(tǒng)
,過(guò)程與步驟都比較簡(jiǎn)單
,還不能實(shí)現(xiàn)多參數(shù)多回路得溫濕度控制系統(tǒng) ,相對(duì)于那些發(fā)達(dá)得國(guó)家 ,技術(shù)還就是比較落后。我國(guó)得溫濕度測(cè)量存在著下列問(wèn)題 :實(shí)現(xiàn)功能少、產(chǎn)量水平低 ,操作檢修步驟繁瑣。2、2、2國(guó)外外研究現(xiàn)狀關(guān)于國(guó)外溫濕度研究得時(shí)間相對(duì)于國(guó)內(nèi)來(lái)說(shuō)還就是較早。 國(guó)外初期首先設(shè)計(jì)出通過(guò)組合得形式得模擬式器件 ,運(yùn)用了就地取材得方法 ,將其收集得信號(hào)進(jìn)行一系列得指示并加以記錄。近階段世界各國(guó)都在研究與開(kāi)發(fā)基于計(jì)算機(jī)得控制溫濕度系統(tǒng) ,此系統(tǒng)受多因子得控制主要特點(diǎn)為精確性高、穩(wěn)定性強(qiáng)。以后溫濕度發(fā)展趨勢(shì)向著無(wú)人操作化、精度穩(wěn)定化發(fā)展。
,其2、3系統(tǒng)得分類水汽壓型:測(cè)出大氣中對(duì)某一裝置得總壓力 ,然后再測(cè)出大氣中得水汽對(duì)同一裝置得壓力 ,將測(cè)出得兩個(gè)壓力進(jìn)行百分比得對(duì)比壓力 ,即可以得出溫濕度得大小值。電阻式濕度片 :通過(guò)外界溫濕度變化與電阻值得關(guān)系得來(lái)設(shè)計(jì)出得測(cè)量?jī)x器。當(dāng)外界得溫濕度改變時(shí),與其用電路連接得電阻也隨之改變。溫濕度片就就是這里得核心器件,它可以感應(yīng)到外界溫濕度得變化。干濕球溫度表 :通過(guò)兩只完全相同得溫度表 ,使她們并列在一起 ,其中用一只溫度表測(cè)量氣溫,另外一支溫度表表頭需要纏繞著浸透過(guò)純蒸餾水得脫脂紗布 ,這兩種溫度表結(jié)合起來(lái)就就是干濕球溫度表。2、4系統(tǒng)設(shè)計(jì)得內(nèi)容與要求對(duì)某一特定環(huán)境下用溫室度傳感器感受到溫度與濕度變化 ,把這種變化轉(zhuǎn)化為電信號(hào)輸入到單片機(jī)中,然后進(jìn)行各端口得控制使其數(shù)據(jù)顯示在 LCD顯示屏上,完成了對(duì)倉(cāng)庫(kù)額得溫室與濕度得測(cè)量。要求誤差在上下 10%之內(nèi)。3數(shù)據(jù)采集部分3、1溫度傳感器采用熱電阻溫度傳感器。熱電阻就是利用導(dǎo)體得電阻隨溫度變化得特性制成得測(cè)溫元件?,F(xiàn)應(yīng)用較多得有鉑、銅、鎳等熱電阻。其主要得特點(diǎn)為精度高、測(cè)量范圍大、便于遠(yuǎn)距離測(cè)量。 鉑得物理、化學(xué)性能極穩(wěn)定 ,耐氧化能力強(qiáng),易提純,復(fù)制性好,工業(yè)性好,電阻率較高,因此,鉑電阻用于工業(yè)檢測(cè)中高精密測(cè)溫與溫度標(biāo)準(zhǔn)。缺點(diǎn)就是價(jià)格貴,溫度系數(shù)小,受到磁場(chǎng)影響大,在還原介質(zhì)中易被玷污變脆。按IEC標(biāo)準(zhǔn)測(cè)溫范圍200~650℃,百度電阻比W(100)=1、3850時(shí),R0
為100Ω與
10Ω,其允許得測(cè)量誤差
A級(jí)為±(0、15℃+0、002|t|),B級(jí)為±
(0、3℃+0、005|t|)
。
銅電阻得溫度系數(shù)比鉑電阻大
,價(jià)格低
,也易于提純與加工
;但其電阻率小
,在腐蝕性介質(zhì)中使用穩(wěn)定性差。在工業(yè)中用于
50~180℃測(cè)溫。3、2濕度傳感器測(cè)量空氣濕度得方式很多,其原理就是根據(jù)某種物質(zhì)從其周圍得空氣吸收水分后引起得物理或化學(xué)性質(zhì)得變化,間接地獲得該物質(zhì)得吸水量及周圍空氣得濕度。電容式、電阻式與濕漲式濕敏原件分別就是根據(jù)其高分子材料吸濕后得介電常數(shù)、電阻率與體積隨之發(fā)生變化而進(jìn)行濕度測(cè)量得。采用HS1100/HS1101濕度傳感器。HS1100/HS1101電容傳感器,在電路構(gòu)成中等效于一個(gè)電容器件,其電容量隨著所測(cè)空氣濕度得增大而增大。不需校準(zhǔn)得完全互換性,高可靠性與長(zhǎng)期穩(wěn)定性,快速響應(yīng)時(shí)間,專利設(shè)計(jì)得固態(tài)聚合物結(jié)構(gòu),由頂端接觸(HS1100)與側(cè)面接觸(HS1101)兩種封裝產(chǎn)品,適用于線性電壓輸出與頻率輸出兩種電路,適宜于制造流水線上得自動(dòng)插件與自動(dòng)裝配過(guò)程等。相對(duì)濕度在 1%—100%RH范圍內(nèi);電容量由 16pF變到200pF,其誤差不大于± 2%RH;響應(yīng)時(shí)間小于 5s;溫度系數(shù)為 0、04pF/℃。3、3采用得傳感器大連北方測(cè)控工程有限公司生產(chǎn)得溫濕度傳感器 DHT90,將兩者得功能集成在一起 ,并且輸出得就是數(shù)字信號(hào) ,不需要再進(jìn)行 A/D轉(zhuǎn)換,其溫度測(cè)量得范圍為 40℃~123、8℃,分辨率為0、01℃;測(cè)濕范圍為0~100%RH,分辨率為0、03%RH。綜合上面各種設(shè)計(jì)得技術(shù)要求與傳感器得特性,考慮到設(shè)計(jì)簡(jiǎn)約化,選擇使用傳感器DHT90,輸出得就是數(shù)字信號(hào),不需要進(jìn)行A/D轉(zhuǎn)換,簡(jiǎn)化了系統(tǒng)設(shè)計(jì)。4系統(tǒng)設(shè)計(jì)方案4、1系統(tǒng)框架圖本系統(tǒng)由單片機(jī)主控電路
,DHT11溫濕度采集模塊
,1602
液晶顯示模塊
3部分組成
,下圖為框架圖。4、2、1方案一:采用溫濕度一體化得傳感器 DHT11采集溫濕度數(shù)據(jù) ,DHT11數(shù)字溫濕度傳感傳感器 單片機(jī)AT89C52 液晶顯示 1602器就是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出得溫濕度復(fù)合傳感器。 它應(yīng)用專用得數(shù)字模塊采集技術(shù)與溫濕度傳感技術(shù)
,確保產(chǎn)品具有極高得可靠性與卓越得長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件與一個(gè)
NTC測(cè)溫元件
,并與一個(gè)高性能
8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。DHT11原理圖
DHT11
實(shí)物圖4、2、2方案二:由于本實(shí)驗(yàn)proteus庫(kù)中無(wú)dht11模塊,使用sht11代替。為了營(yíng)造無(wú)人瞧守狀態(tài),本次設(shè)計(jì)中還應(yīng)用了遠(yuǎn)程通信系統(tǒng)。方案一中系統(tǒng)得控制核心就是AT89C52單片機(jī),它得主要作用就是讀取溫濕度傳感器工作時(shí)得內(nèi)部參數(shù),測(cè)試得結(jié)果可以顯示在LCD上面。4、3系統(tǒng)功能模塊設(shè)計(jì)4、3、1中央控制單元本次溫濕度檢測(cè)系統(tǒng)設(shè)計(jì)中 ,由單片機(jī)組成得中央控制單元有十分重要得作用。這就是整個(gè)系統(tǒng)得大腦 ,它發(fā)出操作命令指揮系統(tǒng)工作。該單片機(jī)不僅可以控制 LCD顯示屏幕得工作狀態(tài),還可以時(shí)時(shí)刻刻管理著監(jiān)測(cè)著外部環(huán)境得溫濕度得變化得溫濕度傳感器得工作狀態(tài)。依照所需設(shè)計(jì)得要求與控制得目得 ,本次畢業(yè)設(shè)計(jì)選擇了 AT89C52芯片,該芯片里面包含4kBytesISP 得能多次燒入得 Flash器件,就是一類簡(jiǎn)單高效率得 CMOS8位芯片。AT89C52芯片就是使用了 ATMEL公司廠家中得較為先進(jìn)高級(jí)得控制與制作技術(shù)做為支持動(dòng)力。AT89C52芯片還包括MCS52系統(tǒng)得操作命令與89C52管腳得排列,其中較重要得8位CPU與ISPFlash存儲(chǔ)單元就是它得核心部件。AT89C52芯片得系統(tǒng)功能具有巨大得優(yōu)勢(shì),它可以滿足設(shè)計(jì)中系統(tǒng)穩(wěn)定運(yùn)行得基本要求。AT89C52芯片具16位可編程定時(shí)計(jì)數(shù)器3個(gè),有引腳40個(gè),全雙工串行通信口2個(gè),外部雙向輸入 /輸出(I/O) 端口32個(gè),外中斷口 2個(gè),讀寫口線結(jié)構(gòu)如下圖所示 :
2個(gè),AT89C52芯片得管腳單片機(jī)4、3、2晶振電路模塊與復(fù)位電路模塊晶振電路模塊 :單片機(jī)得工作條件就是要在時(shí)鐘驅(qū)動(dòng)得作用下才可以穩(wěn)定得進(jìn)行工作
,所需得電容大小通常為 30PF。單片機(jī)工作時(shí)需要一個(gè)信號(hào)脈沖 ,晶振得作用就就是提供這個(gè)信號(hào)脈沖。在時(shí)鐘驅(qū)動(dòng)作用下 ,晶振電路所提供得信號(hào)脈沖就就是單片機(jī)得工作速度。舉個(gè)例子來(lái)說(shuō)明,一個(gè)頻率為12MHZ得晶振電路芯片,它得工作速度就是12MHZ每秒得運(yùn)行速度,與我們使用得電腦手機(jī)得CPU一個(gè)道理。就于多大得頻率才能使單片機(jī)更好得更穩(wěn)點(diǎn)得工作得問(wèn)題,一般情況下其工作時(shí)所需要得頻率在24MHZ左右,超過(guò)這個(gè)值,系統(tǒng)工作就不穩(wěn)定了。單片機(jī)系統(tǒng)得工作速度取決于時(shí)鐘信號(hào),其內(nèi)部鑲有時(shí)鐘振蕩電路,在單片機(jī)得外部接通一個(gè)振蕩源就可以工作了。復(fù)位電路模塊:復(fù)位電路在設(shè)計(jì)得系統(tǒng)中起著重要得作用,它保障了設(shè)計(jì)得系統(tǒng)可以在穩(wěn)定得環(huán)境下工作,復(fù)位電路得主要作用功能就就是上電復(fù)位。當(dāng)復(fù)位信號(hào)消除得時(shí)候,系統(tǒng)微機(jī)電路才可以穩(wěn)定高效得工作,消除復(fù)位信號(hào)得條件就是VCC得電壓在4、7V與5、2V之間,只有在提供穩(wěn)定無(wú)誤差得時(shí)鐘信號(hào)才能實(shí)現(xiàn)本次得設(shè)計(jì)。下圖為其仿真圖:晶振電路與復(fù)位電路4、3、3顯示模塊LCD顯示電路就是本系統(tǒng)得功能具體體現(xiàn)得重要模塊,實(shí)現(xiàn)了對(duì)溫濕度檢測(cè)得液晶屏控制得功能。溫濕度顯示電路得組成有SHT10溫濕度傳感器、LCD液晶顯示屏幕。其顯示模塊先接受來(lái)自單片機(jī)處理后得信號(hào),再將其結(jié)果顯示在液晶屏幕。STC89C52得P2口接1602得8位數(shù)據(jù)線,通過(guò)輸出數(shù)據(jù)控制1602顯示不同得提示字符。1602本身內(nèi)置各種字符,還可以自定義顯示字符。本設(shè)計(jì)中根據(jù)不同場(chǎng)合1602會(huì)顯示各種提示字符。P0、0~P0、2接1602控制端,其中P0、0接使能端E,寫操作時(shí),使能端下降沿有效。P0、1接讀寫控制端R/W,R/W=0,讀操作;R/W=1,寫操作。P0、2接寄存器選擇端RS,RS=0,寫操作時(shí)指向指令寄存器,讀操作時(shí)指向地址寄存器;RS=1,無(wú)論讀操作還就是寫操作都指向數(shù)據(jù)寄存器。LCD1602得VSS為電源地,需接地;VDD為電源電壓;V0為L(zhǎng)CD驅(qū)動(dòng)電壓,接電位器,通過(guò)調(diào)節(jié)電位器控制顯示得亮度,使LCD顯示清晰而無(wú)黑影。背光電源線LCD正負(fù)兩端分別接電源與地即可。。下圖為其仿真圖:顯示模塊4、3、4溫濕度傳感器利用型號(hào)為 SHT10得溫濕度傳感器來(lái)測(cè)試倉(cāng)庫(kù)得溫度與濕度。下圖為其仿真圖 :溫濕度傳感器仿真圖上三個(gè)按鍵:↑↓?來(lái)控制操作。當(dāng)?打到左邊時(shí)為濕度得調(diào)節(jié),當(dāng)?打到右邊得時(shí)候?yàn)闇囟鹊谜{(diào)節(jié);↑就是增大按鍵,↓就是減小按鍵。系統(tǒng)得仿真與調(diào)試5、1Proteus 對(duì)系統(tǒng)仿真根據(jù)設(shè)計(jì)要求,從Proteus元件庫(kù)中找到所需要用到得元件,畫好電路圖并且檢查有無(wú)錯(cuò)誤。最后通過(guò)keiluVision軟件編寫得C語(yǔ)言程序,轉(zhuǎn)換成HEX文件下載到畫好得得電路上進(jìn)行調(diào)試。以下就是系統(tǒng)得仿真電路圖 :系統(tǒng)運(yùn)行圖5、2LCD得仿真Lcd運(yùn)行圖5、3硬件運(yùn)行結(jié)果運(yùn)行結(jié)果圖實(shí)物運(yùn)行圖總結(jié)歷經(jīng)兩周得課設(shè) ,又懂得了很多得知識(shí) ,在這兩周得時(shí)間里 ,感受良多吧可以算就是。因?yàn)槲覀冏龅谜n設(shè)里面因?yàn)?proteus 庫(kù)中沒(méi)有 DHT11元件,導(dǎo)致我們做了將近一個(gè)星期得課設(shè)全部推翻。無(wú)奈得對(duì)著那一堆程序沒(méi)日沒(méi)夜得改著。 從一開(kāi)始得不了解 ,覺(jué)得很復(fù)雜,有傳感器、單片機(jī)與 1602,最麻煩得就是還要編程序 ;到最后得完成 ,對(duì)各個(gè)模塊都有了更深認(rèn)知。 本設(shè)計(jì)綜合利用單片機(jī)技術(shù)、傳感器技術(shù)、數(shù)字電子技術(shù)與 LCD顯示等科學(xué)知識(shí) ,完成了單片機(jī)控制得溫度、濕度與顯示裝置得設(shè)計(jì) ,比較系統(tǒng)地介紹了硬件得組成及設(shè)計(jì)方法并利用單片機(jī)C語(yǔ)言完成了系統(tǒng)軟件得設(shè)計(jì)。把傳感器技術(shù)應(yīng)用到單片機(jī)控制系統(tǒng)中,實(shí)現(xiàn)了對(duì)環(huán)境溫度與濕度得數(shù)據(jù)采集與讀取。2、利用LCD液晶得顯示技術(shù)完成了環(huán)境溫度、濕度及顯示電路得設(shè)計(jì)。在本設(shè)計(jì)得基礎(chǔ)上皆有繼電器模塊,可以外接調(diào)溫調(diào)濕電器,把功能擴(kuò)展延伸為實(shí)現(xiàn)對(duì)環(huán)境溫濕度得控制。整個(gè)系統(tǒng)軟硬件搭配合理,設(shè)計(jì)、開(kāi)發(fā)、維護(hù)方便,性價(jià)比高原理圖得繪制使我從新學(xué)習(xí)了一次 proteus, 對(duì)軟件種元器件更加熟悉 ,畫仿真圖時(shí)更為流暢。在進(jìn)行設(shè)計(jì)之前有著很多要解決得問(wèn)題 ,比如元器件得選擇問(wèn)題、各個(gè)模塊得設(shè)計(jì)與主程序得編程。通過(guò)這次設(shè)計(jì) ,我從到圖書館得網(wǎng)站查找相應(yīng)得資料應(yīng)用到對(duì)應(yīng)電路參與設(shè)計(jì)得思考。每個(gè)模塊都要經(jīng)過(guò)多次得設(shè)計(jì) ,不斷得試驗(yàn),讓我對(duì)之前在學(xué)校所學(xué)得書本上得理論知識(shí)有了更為深刻得了解。 在完成畢業(yè)設(shè)計(jì)得過(guò)程就是一次難得得理論與實(shí)際相結(jié)合得過(guò)程,在這段時(shí)間我更為深刻得理解與掌握了大學(xué)期間所學(xué)得一些知識(shí) ,例如C語(yǔ)言得編程、數(shù)字模擬電路、單片機(jī)得簡(jiǎn)單應(yīng)用、 proteus 與keil 軟件得使用與設(shè)計(jì)。在設(shè)計(jì)過(guò)程中 ,由于時(shí)間與本人能力得限制 ,設(shè)計(jì)中存在一些需要改進(jìn)與優(yōu)化得地方。 測(cè)量精度有待進(jìn)一步提高 ,軟件設(shè)計(jì)也存在不合理之處。 但從設(shè)計(jì)過(guò)程中 ,對(duì)于單片機(jī)有更進(jìn)一步得認(rèn)識(shí),對(duì)用于單片機(jī)仿真得軟件操作能力也明顯提高 ,通過(guò)此設(shè)計(jì),本人受益頗豐。參考文獻(xiàn)[1] 李全利等編著、 《單片機(jī)原理及應(yīng)用》、北京 :清華大學(xué)出版社 ,2006、02:14~36、楊西明,朱騏主編、《單片機(jī)編程與應(yīng)用入門》、北京:機(jī)械工業(yè)出版社,2004、06:24~38、先鋒工作室編著、《單片機(jī)程序設(shè)計(jì)實(shí)例》、北京:清華大學(xué)出版社,2003、01:68~78、謝宜仁主編、《單片機(jī)實(shí)用技術(shù)問(wèn)答》、北京:人民郵電出版社,2003、02:11~20、[5]孫江宏,李良玉等編著、 《Protel99 電路設(shè)計(jì)與應(yīng)用》、北京 :機(jī)械工業(yè)出版社 ,2004、07、房小翠,王金鳳編著、《單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù)》、北京:國(guó)防工業(yè)出版社,1999、06、南建輝等編著、《MCS51單片機(jī)原理及其應(yīng)用實(shí)例》、北京:清華大學(xué)出版社,2004、03、[8] 何宏主編、 《單片機(jī)原理與接口技術(shù)》、北京 :國(guó)防工業(yè)出版社 ,2006、07:15~30葉健斌、《基于單片機(jī)嵌入式系統(tǒng)得GPS應(yīng)用》、電子質(zhì)量,2008:(7)16~24、[10]王靜、《通用庫(kù)房溫濕度測(cè)控系統(tǒng)》、青島:中國(guó)海洋大學(xué),2009、05:30~33、[11]劉寶元,張玉虹、《基于單片機(jī)得溫濕度監(jiān)控系統(tǒng)設(shè)計(jì)》、國(guó)外電子測(cè)量技術(shù),2009、12、[12]陳汝全、《實(shí)用微機(jī)與單片機(jī)控制技術(shù)》、成都:電子科技大學(xué)出版,2005、06:16~17、附錄1:DHT11程序//濕度2090溫度050采樣間隔1S#include<intrins、h>#include"lcd、h"sbitDQ=P3^7;//DTH11ucharcodeASCII[]="0123456789%c";ucharcodetable0[]="Hum:00";ucharcodetable1[]="Tem:00";uchartem;ucharhum;display0[2]={0,0};display1[2]={0,0};//************************** 延時(shí)函數(shù)voiddelay_ms(uintz){uintx,y;for(x=z;x>0;x)for(y=114;y>0;y);}//**************************
初始化
DTH11bitInit_DTH11{bitflag;ucharnum;DQ=0;delay_ms(19); //>18msDQ=1;for(num=0;num<10;num++); //2040us
34
、7usfor(num=0;num<12;num++);flag=DQ;for(num=0;num<11;num++);//DTH
響應(yīng)
80usfor(num=0;num<24;num++);
//DTH
拉高
80usreturnflag;}//****************************ucharDTH11_RD_CHAR
讀DTH11數(shù)據(jù){ucharbyte=0;ucharnum;ucharnum1;while(DQ==1);for(num1=0;num1<8;num1++){while(DQ==0);byte<<=1; // 高位在前for(num=0;DQ==1;num++);if(num<10)byte|=0x00;elsebyte|=0x01;}returnbyte;}//******************************
讀取
DTH11溫度與濕度voidDTH11_DUSHU{ucharnum;if(Init_DTH11==0){hum=DTH11_RD_CHAR; //比正常值高 7度左右DTH11_RD_CHAR;tem=DTH11_RD_CHAR;DTH11_RD_CHAR;DTH11_RD_CHAR;for(num=0;num<17;num++);//
最后
BIT
輸出后拉低總線
50usDQ=1;}}//***********************************voidDisplay_DTH11{display0[1]=hum/10%10;display0[0]=hum%10;LcdShowStr(0,0,table0);DisplayOneChar(8,0,ASCII[display0[1]]);DisplayOneChar(9,0,ASCII[display0[0]]);
顯示函數(shù)DisplayOneChar(10,0,ASCII[10]); //display1[1]=tem/10%10;display1[0]=tem%10;LcdShowStr(0,1,table1);DisplayOneChar(8,1,ASCII[display1[1]]);DisplayOneChar(9,1,ASCII[display1[0]]);
顯示濕度DisplayOneChar(10,1,0xdf);DisplayOneChar(11,1,ASCII[11]); // 顯示溫度}//******************************* 主函數(shù)main{tem=0;hum=0;delay_ms(1000); //DTH11 開(kāi)始1s有錯(cuò)誤輸出InitLcd1602;while(1){DTH11_DUSHU;Display_DTH11;delay_ms(2000);}}附錄2:SHT10程序#include<reg51 、h>#include<intrins 、h>#defineucharunsignedchar#definenoACK0 //繼續(xù)傳輸數(shù)據(jù) ,用于判斷就是否結(jié)束通訊#defineACK 1 // 結(jié)束數(shù)據(jù)傳輸;// 地址 命令讀/寫#defineSTATUS_REG_W0x06 //000 0011 0#defineSTATUS_REG_R0x07 //000 0011 1#defineMEASURE_TEMP0x03 //000 0001 1#defineMEASURE_HUMI0x05 //000 0010 1#defineRESET 0x1e //000 1111 0enum{TEMP,HUMI};sbitDATA=P2^5;sbitSCK=P2^4;sbitRS=P2^0;sbitRW=P2^1;sbitE=P2^2;sfrDBPort=0x80;
//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0
、數(shù)據(jù)端口/******** DS1602
函數(shù)聲明
********/voidLCD_Initial;voidGotoXY(unsignedcharx,unsignedchary);voidPrint(unsignedchar*str);voidLCD_Write(bitstyle,unsignedcharinput);/********SHT10函數(shù)聲明voids_connectionreset(void);
********/chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode);voidcalc_sth10(float*p_humidity,float*p_temperature);//floatcalc_dewpoint(floath,floatt);/****************************************************************/寫字節(jié)程序chars_write_byte(unsignedcharvalue){unsignedchari,error=0;for(i=0x80;i>0;i>>=1) // 高位為1,循環(huán)右移{if (i&value) DATA=1; //與要發(fā)送得數(shù)相與 ,結(jié)果為發(fā)送得位elseDATA=0;SCK=1;_nop_;_nop_;_nop_; // 延時(shí)3usSCK=0;}DATA=1; // 釋放數(shù)據(jù)線SCK=1;error=DATA; // 檢查應(yīng)答信號(hào) ,確認(rèn)通訊正常_nop_;_nop_;_nop_;SCK=0;DATA=1;returnerror; //error=1 通訊錯(cuò)誤}//讀字節(jié)程序chars_read_byte(unsignedcharack)//{unsignedchari,val=0;DATA=1; // 釋放數(shù)據(jù)線for(i=0x80;i>0;i>>=1) // 高位為1,循環(huán)右移{SCK=1;if(DATA)val=(val|i); // 讀一位數(shù)據(jù)線得值SCK=0;}DATA=!ack;束通訊;SCK=1;_nop_;_nop_;_nop_;SCK=0;_nop_;_nop_;_nop_;
// 如果就是校驗(yàn) ,讀取完后結(jié)// 延時(shí)3usDATA=1; // 釋放數(shù)據(jù)線returnval;}啟動(dòng)傳輸voids_transstart(void)//generatesatransmissionstart// _____ ________//DATA: |_______|______SCK:___||___||______{DATA=1;SCK=0; // 準(zhǔn)備_nop_;SCK=1;_nop_;DATA=0;_nop_;SCK=0;_nop_;_nop_;_nop_;SCK=1;_nop_;DATA=1;_nop_;SCK=0;}連接復(fù)位voids_connectionreset(void)//municationreset:DATAline=1andatleast9SCKcyclesfollowedbytransstart// _____________________________________________________ ________//DATA: |_______|// _ _ _ _ _ _ _ _ _ ___ ___//SCK:__||__||__||__||__||__||__||__||__||______| |___| |______{unsignedchari;DATA=1;SCK=0; // 準(zhǔn)備for(i=0;i<9;i++) //DATA 保持高,SCK時(shí)鐘觸發(fā)9次,發(fā)送啟動(dòng)傳輸
,通迅即復(fù)位{SCK=1;SCK=0;}s_transstart;
//
啟動(dòng)傳輸}//軟復(fù)位程序chars_softreset(void)//resetsthesensorbyasoftreset{unsignedcharerror=0;s_connectionreset;
//
啟動(dòng)連接復(fù)位error+=s_write_byte(RESET);
//
發(fā)送復(fù)位命令returnerror;
//error=1
通訊錯(cuò)誤}/*讀狀態(tài)寄存器chars_read_statusreg(unsignedchar*p_value,unsignedchar*p_checksum)//readsthestatusregisterwithchecksum(8bit){unsignedcharerror=0;s_transstart; //transmissionstarterror=s_write_byte(STATUS_REG_R);//sendmandtosensor*p_value=s_read_byte(ACK); //read status
register(8bit)*p_checksum=s_read_byte(noACK); //readchecksum(8bit)returnerror;//error=1incaseofnoresponseformthesensor}寫狀態(tài)寄存器chars_write_statusreg(unsignedchar*p_value)writesthestatusregisterwithchecksum(8bit){unsignedcharerror=0;s_transstart; //transmissionstarterror+=s_write_byte(STATUS_REG_W);//sendmandtosensorerror+=s_write_byte(*p_value); //send value of statusregisterreturnerror; //error>=1incaseofnoresponseformthesensor}*/溫濕度測(cè)量chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode)進(jìn)行溫度或者濕度轉(zhuǎn)換,由參數(shù)mode決定轉(zhuǎn)換內(nèi)容;{// enum{TEMP,HUMI}; //已經(jīng)在頭文件中定義unsignederror=0;unsignedinti;s_transstart; // 啟動(dòng)傳輸switch(mode) // 選擇發(fā)送命令{case TEMP :error+=s_write_byte(MEASURE_TEMP);break; // 測(cè)量溫度caseHUMI:error+=s_write_byte(MEASURE_HUMI);break;測(cè)量濕度default :break;}for(i=0;i<65535;i++)if(DATA==0)break;// 等待測(cè)量結(jié)束if(DATA)error+=1; // 如果長(zhǎng)時(shí)間數(shù)據(jù)線沒(méi)有拉低,說(shuō)明測(cè)量錯(cuò)誤*(p_value)=s_read_byte(ACK); // 讀第一個(gè)字節(jié),高字節(jié)(MSB)*(p_value+1)=s_read_byte(ACK); // 讀第二個(gè)字節(jié),低字節(jié)(LSB)*p_checksum=s_read_byte(noACK);//readCRC 校驗(yàn)碼returnerror; // error=1 通訊錯(cuò)誤}溫濕度值標(biāo)度變換及溫度補(bǔ)償voidcalc_sth10(float*p_humidity,float*p_temperature){constfloatC1=4、0;//12位濕度精度修正公式constfloatC2=+0、0405;//12位濕度精度修正公式constfloatC3=0、0000028;//12位濕度精度修正公式constfloatT1=+0、01;//14位溫度精度5V條件修正公式const float T2=+0、00008; // 14位溫度精度 5V條件 修正公式floatrh=*p_humidity;//rh:12位濕度f(wàn)loatt=*p_temperature;//t:14位溫度f(wàn)loatrh_lin;//rh_lin:濕度linear值floatrh_true;//rh_true:濕度ture值floatt_C;//t_C:溫度℃t_C=t*0、0140;//補(bǔ)償溫度rh_lin=C3*rh*rh+C2*rh+C1;//相對(duì)濕度非線性補(bǔ)償rh_true=(t_C25)*(T1+T2*rh)+rh_lin;//相對(duì)濕度對(duì)于溫度依賴性補(bǔ)償if(rh_true>100)rh_true=100;
//
濕度最大修正if(rh_true<0
、1)rh_true=0
、1;
//
濕度最小修正*p_temperature=t_C;
//
返回溫度結(jié)果*p_humidity=rh_true;
//
返回濕度結(jié)果}從相對(duì)溫度與濕度計(jì)算露點(diǎn)/*floatcalc_dewpoint(floath,floatt){floatlogEx,dew_point;logEx=0、66077+7、5*t/(237 、3+t)+(log10(h)2);dew_point=(logEx0 、66077)*237、3/(0、66077+7、5logEx);returndew_point;}*//***********************************************************************************************************************************************************///DS1602程序(1602、c)://#include<tou 、h>內(nèi)部等待函數(shù)**************************************************************unsignedcharLCD_Wait(void){RS=0;RW=1;_nop_;E=1;_nop_;E=0;returnDBPort;}向LCD寫入命令或數(shù)據(jù)********************************************************#defineLCD_MAND#defineLCD_DATA
0 //mand1 //Data#defineLCD_CLEAR_SCREEN
0x01
//
清屏#defineLCD_HOMING 0x02 //voidLCD_Write(bitstyle,unsignedcharinput){
光標(biāo)返回原點(diǎn)E=0;RS=style;RW=0;
_nop_;DBPort=input; _nop_;//
注意順序E=1; _nop_;//E=0; _nop_;
注意順序LCD_Wait;}//設(shè)置顯示模式 ************************************************************#defineLCD_SHOW0x04//顯示開(kāi)#defineLCD_HIDE0x00//顯示關(guān)#defineLCD_CURSOR0x02//顯示光標(biāo)#defineLCD_NO_CURSOR0x00//無(wú)光標(biāo)#defineLCD_FLASH0x01//光標(biāo)閃動(dòng)#defineLCD_NO_FLASH0x00//光標(biāo)不閃動(dòng)voidLCD_SetDisplay(unsignedcharDisplayMode){LCD_Write(LCD_MAND,0x08|DisplayMode);}//設(shè)置輸入模式 ************************************************************#defineLCD_AC_UP0x02#defineLCD_AC_DOWN0x00//default#defineLCD_MOVE0x01//畫面可平移#defineLCD_NO_MOVE0x00//defaultvoidLCD_SetInput(unsignedcharInputMode){LCD_Write(LCD_MAND,0x04|InputMode);}初始化LCD************************************************************voidLCD_Initial{E=0;LCD_Write(LCD_MAND,0x38); //8 位數(shù)據(jù)端口,2行顯示,5*7點(diǎn)陣LCD_Write(LCD_MAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); // 開(kāi)啟顯示, 無(wú)光標(biāo)LCD_Write(LCD_MAND,LCD_CLEAR_SCREEN); // 清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC 遞增, 畫面不動(dòng)}液晶字符輸入得位置************************voidGotoXY(unsignedcharx,unsignedchary){if(y==0)LCD_Write(LCD_MAND,0x80|x);if(y==1)LCD_Write(LCD_MAND,0x80|(x0x40));}將字符輸出到液晶顯示voidPr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025湖南邵陽(yáng)市綏寧縣政務(wù)服務(wù)中心招聘見(jiàn)習(xí)大學(xué)生崗位工作人員1人考試備考題庫(kù)及答案解析
- 世界地球日設(shè)計(jì)實(shí)施方案
- 深度解析(2026)《GBT 26039-2010無(wú)汞鋅粉》(2026年)深度解析
- 深度解析(2026)《GBT 25903.1-2010信息技術(shù) 通 用多八位編碼字符集 錫伯文、滿文名義字符、顯現(xiàn)字符與合體字 16點(diǎn)陣字型 第1部分:正白體》
- 深度解析(2026)《GBT 25828-2010高溫合金棒材通 用技術(shù)條件》(2026年)深度解析
- 深度解析(2026)《GBT 25792-2010反應(yīng)紅W-2G(C.I.反應(yīng)紅84)》(2026年)深度解析
- 2026中國(guó)農(nóng)業(yè)科學(xué)院第一批招聘359人備考筆試試題及答案解析
- 2026西藏那曲市慈善總會(huì)會(huì)員招募模擬筆試試題及答案解析
- 2025云南磨憨站城城市開(kāi)發(fā)有限公司招聘綜合行政辦公人員(1人)考試備考題庫(kù)及答案解析
- 2025年杭州市臨安區(qū)第三人民醫(yī)院招聘編外工作人員2人備考考試試題及答案解析
- 豬肉推廣活動(dòng)方案
- 電工職業(yè)道德課件教學(xué)
- 周杰倫介紹課件
- 學(xué)堂在線 雨課堂 學(xué)堂云 生活英語(yǔ)聽(tīng)說(shuō) 期末復(fù)習(xí)題答案
- 第十四屆全國(guó)交通運(yùn)輸行業(yè)“大象科技杯”城市軌道交通行車調(diào)度員(職工組)理論知識(shí)競(jìng)賽題庫(kù)(1400道)
- 2025年希望杯IHC真題-二年級(jí)(含答案)
- T/CCT 002-2019煤化工副產(chǎn)工業(yè)氯化鈉
- 砂石運(yùn)輸施工方案
- 醫(yī)院如何規(guī)范服務(wù)態(tài)度
- 輸液空氣的栓塞及預(yù)防
- 中建鋼筋工程優(yōu)化技術(shù)策劃指導(dǎo)手冊(cè) (一)
評(píng)論
0/150
提交評(píng)論