標(biāo)題: 單片機+DHT11+1602液晶溫濕度控制畢設(shè)論文 [打印本頁]
作者: 51hei團團 時間: 2018-6-30 04:53
標(biāo)題: 單片機+DHT11+1602液晶溫濕度控制畢設(shè)論文
目 錄第一章 緒論
1.1 課題的選題背景
1.2 課題研究的意義
1.3 本論文主要研究內(nèi)容
1.4 系統(tǒng)的工作原理簡介
第二章 系統(tǒng)總體方案設(shè)計
2.1 系統(tǒng)總框圖
2.2 方案選擇
2.2.1 單片機的選擇
2.2.2 傳感器的選擇
2.3.2 顯示器選擇方案
第三章 系統(tǒng)硬件電路的設(shè)計
3.1 系統(tǒng)硬件概述
3.2 主控模塊設(shè)計
3.2.1 單片機引腳介紹
3.2.2 單片機最小系統(tǒng)
3.3 DHT11傳感器模塊設(shè)計
3.3.1 DHT11傳感器簡介
3.3.2 DHT11傳感器模塊電路設(shè)計
3.4 液晶顯示模塊設(shè)計
3.4.1 液晶顯示屏簡介
3.4.2 液晶顯示模塊電路原理圖
3.5 繼電器模塊
3.6 閥值設(shè)定存儲模塊
第四章 系統(tǒng)軟件程序的設(shè)計
4.1 液晶顯示模塊設(shè)計
4.2 傳感器模塊設(shè)計
第五章 系統(tǒng)分析與調(diào)試
第六章 結(jié)論與展望
參考文獻
附錄 A
致謝
中文摘要溫濕度控制已成為當(dāng)今社會研究的熱門項目。是工農(nóng)業(yè)生產(chǎn)過程中必須考慮的因素。作為最常見的被控參數(shù)。溫度和濕度已經(jīng)不再是相互獨立的物理量,而應(yīng)在系統(tǒng)中綜合考慮。廣泛應(yīng)用于實驗室、大棚、花圃、糧倉乃至土壤等各個領(lǐng)域。而傳統(tǒng)的溫濕度控制則利用濕度表、毛發(fā)濕度表、雙金屬式測量計和濕度試紙等測試器材。通過人工進行檢測。對不符合溫度和濕度要求的庫房進行通風(fēng)、降溫、去濕等操作。這種人工測試方法費時費力,效率低。切隨機性較大。誤差大。因此就需要一種造價低廉、使用方便且計算精確的溫濕度控制儀器。利用單片機對溫、濕度控制,具有控溫、濕精度高、功能強、體積小、價格低,簡單靈活等優(yōu)點,很好的滿足了工藝要求。
本文通過使用STC89C52單片機、DHT11傳感器模塊、1602液晶顯示屏模塊以及繼電器控制模塊。簡單明了的實現(xiàn)的溫濕度的控制要求。DHT11數(shù)字溫濕度傳感器把采集到的溫濕度數(shù)據(jù)傳給單片機。經(jīng)過單片機的處理。準(zhǔn)確的顯示到液晶屏上。如果溫濕度超過閥值,將會驅(qū)動繼電器工作。繼電器將驅(qū)動負(fù)載相應(yīng)的工作。
第一章 緒論
1.1課題的選題背景溫度、濕度和人類的生產(chǎn)、生活有著密切的關(guān)系,同時也是工業(yè)生產(chǎn)中最常見最基本的工藝參數(shù),例如機械、電子、石油、化工等各類工業(yè)中廣泛需要對溫度濕度的檢測與控制。并且隨著人們生活水平的提高,人們對自己的生存環(huán)境越來越關(guān)注。而空氣中溫濕度的變化與人體的舒適度和情緒都有直接的影響,所以對溫度濕度的檢測及控制就非常有必要了。
8051單片機是常用于控制的芯片,在智能儀器儀表、工業(yè)檢測控制、機電一體化等方面取得了令人矚目的成果,用其作為溫濕度控制系統(tǒng)的實力也很多。使用8051單片機能夠?qū)崿F(xiàn)溫濕度全程的自動控制,而且8051單片機易于學(xué)習(xí)掌握,性價比高。
使用8051型單片機設(shè)計溫濕度控制系統(tǒng),可以即時精確的反應(yīng)溫室內(nèi)的溫度以及適度的變化。完成諸如升溫到特定的溫度、降溫到特定的溫度。在溫度上下限范圍內(nèi)保持恒溫等多種控制方式,在濕度控制方面也是如此。將此系統(tǒng)應(yīng)用到溫室當(dāng)中無疑為植被生長提供了更加適宜的環(huán)境。對于大棚種植和花圃、花卉栽培,必須在某些特定環(huán)境安裝溫濕度裝置對其進行監(jiān)控。本系統(tǒng)可以及時、精確的反映室內(nèi)的溫度以及濕度的變化,能夠滿足溫濕度的控制要求。
1.2 課題研究的意義8051單片機是常用于控制的芯片,在智能儀器儀表、工業(yè)檢測控制、機電一體化等方面取得了令人矚目的成果,用其作為溫濕度控制系統(tǒng)的實力也很多。使用8051單片機能夠?qū)崿F(xiàn)溫濕度全程的自動控制,而且8051單片機易于學(xué)習(xí)掌握,性價比高。
使用8051型單片機設(shè)計溫濕度控制系統(tǒng),可以即時精確的反應(yīng)溫室內(nèi)的溫度以及適度的變化。完成諸如升溫到特定的溫度、降溫到特定的溫度。在溫度上下限范圍內(nèi)保持恒溫等多種控制方式,在濕度控制方面也是如此。將此系統(tǒng)應(yīng)用到溫室當(dāng)中無疑為植被生長提供了更加適宜的環(huán)境。對于大棚種植和花圃、花卉栽培,必須在某些特定環(huán)境安裝溫濕度裝置對其進行監(jiān)控。本系統(tǒng)可以及時、精確的反映室內(nèi)的溫度以及濕度的變化,能夠滿足溫濕度的控制要求。
1.3 本論文主要研究內(nèi)容本系統(tǒng)所要實現(xiàn)的功能是:
1.溫濕度實時檢測及顯示。通過LCD1602實時地顯示傳感器DHT11檢測到的溫濕度值,并且固定時間(2s)檢測更新顯示一次。
2.報警閾值的手動設(shè)置。通過四個按鍵實現(xiàn)溫濕度閾值的設(shè)置,使得系統(tǒng)更加人性化、智能化,具有更高的實用價值。
3.當(dāng)溫濕度超出閾值時能自動開啟相應(yīng)的繼電器驅(qū)動負(fù)載。通過小燈指示哪一路工作,以提醒用戶。閥值可以通過AT24C02存儲,實現(xiàn)斷電保存。
4.系統(tǒng)主要可以應(yīng)用在糧倉的智能控制,當(dāng)溫度超限通風(fēng)降溫;當(dāng)濕度超限可以抽濕。
的改進措施。
1.4 系統(tǒng)的工作原理簡介總體來說,本次設(shè)計主要涉及了溫濕度的測量、顯示以及實現(xiàn)簡單控制。硬件方面有五個模塊,即STC89C52單片機主控模塊、傳感器模塊、LCD1602液晶顯示模塊、繼電器模塊以及閾值設(shè)置模塊。
傳感器模塊使用的是DHT11數(shù)字溫濕度傳感器。通過DHT11檢測出當(dāng)前環(huán)境下的溫濕度,將所測數(shù)據(jù)交給AT單片機進行分析和處理,并分別存入不同數(shù)組以便顯示時候用。其中,為了顯示穩(wěn)定,本系統(tǒng)每間隔2s采集一次數(shù)據(jù)送入單片機。
本系統(tǒng)采用的是繼電器驅(qū)動負(fù)載,因此無論溫度還是濕度超出范圍繼電器均可以驅(qū)動負(fù)載工作,及時啟用降溫風(fēng)扇以及抽濕風(fēng)扇來有效的調(diào)整糧倉等應(yīng)用場所內(nèi)的溫濕度。
第二章 系統(tǒng)總體方案設(shè)計
2.1 系統(tǒng)總框圖硬件主要以STC89C52型單片機為核心,通過LCD1602實時地顯示傳感器DHT11檢測到的溫濕度值,閥值可以通過AT24C02存儲,實現(xiàn)斷電保存。過閥相應(yīng)的報警驅(qū)動。本研究設(shè)計的溫濕度控制器框圖如圖2-1所示。
圖2-1 溫濕度控制器方框圖
2.2 方案選擇2.2.1單片機的選擇方案一:AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS型8位單片機,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大。其片內(nèi)的8K程序存儲器是FLASH工藝的,這種單片機對開發(fā)設(shè)備的要求很低,開發(fā)時間也大大縮短。寫入單片機內(nèi)的程序還可以進行加密,這又很好地保護我們的勞動成果。再者,AT89C52目前的售價比8031還低,市場供應(yīng)也很充足。AT89C52可構(gòu)成真正的單片機最小應(yīng)用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低系統(tǒng)的成本。只要程序長度小于8K,四個I/O口全部提供給用戶。可用5V電壓編程,而且擦寫時間僅需lOms。AT89C51芯片提供三級程序存儲器加密,提供了方便靈活而可靠的硬加密手段,能完全保證程序或系統(tǒng)不被仿制。PO口是三態(tài)雙向口,通稱數(shù)據(jù)總線口,因為只有該口能直接用于對外部存儲器的讀/寫操作。
方案二:STC89C52系列單片機的指令系統(tǒng)和AT89C52系列的完全兼容,但實際操作起來卻存在很多問題:
(1)AT89C52不帶ISP下載,要用下載器才行,STC89C52可以用你的USB轉(zhuǎn)串口下載,下載軟件可以到STC廠家網(wǎng)上去下。
(2)STC單片機執(zhí)行指令的速度很快,大約是AT的3-30倍,盡管快是好事,但這樣一來,你在AT上好使的程序在STC上不一定好用,最典型的例子就是那些對時序有嚴(yán)格要求的模塊,用STC時注意得加長延時,大約是AT的10—30倍就差不多,這一點自己調(diào)試就知道了。
(3)STC單片機對工作環(huán)境的要求比較低,電壓低于5伏時仍然正常工作,甚至3伏到4伏之間都還可以工作,然而這樣的環(huán)境下AT肯定不行了,所以當(dāng)一個系統(tǒng)用STC單片機好用,但用AT的單片機不工作時,直接查最小系統(tǒng),看單片機的供電是否正常。
比較這兩種方案,由于在學(xué)校期間學(xué)過數(shù)字電路、單片機原理、C語言程序設(shè)計,綜合考慮單片機的各部分資源和作為學(xué)生能夠獲得的資源,經(jīng)過對比此次設(shè)計要求,我選擇用STC系列芯片完成。而且學(xué)校也提供了相應(yīng)的硬件操作平臺,實際操作起來比較方便,故STC為更合理的選擇。本系統(tǒng)選擇STC89C52單片機作為主控芯片。足夠本設(shè)計運行,且價格便宜,下載程序方便。
2.2.2 傳感器的選擇方案一:選用DS18B20溫度傳感器作為溫度檢測模塊。DS18B20是一線式數(shù)字溫度傳感器。具有獨特的單線式接口方式。測量范圍在—55℃~125℃,—10℃~85℃,誤差范圍在-\+0.5℃。最高精度可達0.0625℃。
HS1101是電容式濕度傳感器。可測量相對濕度范圍在0%~100%RH。誤差為-\+2%RH。
方案二: 選用DHT11作為設(shè)計的溫濕度檢測模塊。DHT11是一款集成型的數(shù)字溫濕度一體傳感器。
它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。測量范圍20%~90%RH,0℃~50℃。測溫精度為-\+2℃,測濕精度為-\+5%RH。完全符合本次畢業(yè)設(shè)計的要求。
經(jīng)上述分析,方案一雖然精度更精確。卻稍顯復(fù)雜。方案二即便不能實現(xiàn)方案一的高精度測量。卻也能滿足設(shè)計要求。且簡便易行。可靠穩(wěn)定。具有超高的性價比。故選擇方案二。
2.3.2 顯示器選擇方案方案一:采用12864液晶顯示屏。液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來連接微處理機:8-位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫面移位、睡眠模式等。
方案二:采用LCD1602液晶顯示屏。LCD1602A 是一種工業(yè)字符型液晶,能夠同時顯示16x02 即32個字符。(16列2行)。1602只能顯示字母、數(shù)字和符號能顯示16*2個字符,但寄存器不止32個,有一些顯示效果,如字符一個個顯示、字符從左到右或從右到左顯示等等,顯示效果簡單。
總結(jié):在編程使用方面,兩者難度差不多,原理差不多,都是寫指令、寫地址、寫數(shù)據(jù)等等。當(dāng)然12864液晶屏顯示更全面、字符更多。相比于1602液晶屏、12864能更形象具體的實現(xiàn)顯示功能。不過1602液晶屏也能實現(xiàn)設(shè)計的要求。網(wǎng)上買比較廉價,最低的六塊錢左右。而12864液晶顯示屏最便宜的也要四十塊錢。從造價方面考慮,當(dāng)然是價格低廉的優(yōu)先。而LCD1602A就是最好的選擇。
第三章 系統(tǒng)硬件電路的設(shè)計
3.1系統(tǒng)硬件概述此次的畢業(yè)設(shè)計主要由五個大的模塊構(gòu)成,分別是主控模塊、傳感器模塊、LCD液晶顯示模塊、繼電器模塊以及閾值設(shè)置模塊。其中主控模塊是此次畢業(yè)設(shè)計的核心模塊,主要是指STC89C52芯片,它控制整個系統(tǒng)的運行,利用其各個口分別控制其他模塊,使其他模塊能夠成為一個整體,實現(xiàn)功能的需要,從DHT11溫濕度傳感器中讀入溫度和濕度,在液晶屏上即時顯示。液晶屏上同時顯示溫濕度上限值,該上限值保存外外部EEPROM存儲器中,掉電不失,并且可以通過四只按鍵上調(diào)或下調(diào)。當(dāng)溫度或濕度值超過上限值時,報警信號點亮相應(yīng)報警燈。該報警信號可以通過三極管驅(qū)動繼電器,以控制外部風(fēng)機或制冷器。
3.2主控模塊設(shè)計單片微型計算機是隨著微型計算機的發(fā)展而產(chǎn)生和發(fā)展的。自從1975 年美國德克薩斯儀器公司的第一臺單片微型計算機( 簡稱單片機)TMS-1000 問世以來,迄今為止,單片機技術(shù)已成為計算機技術(shù)的一個獨特分支,單片機的應(yīng)用領(lǐng)域也越來越廣泛,特別是在工業(yè)控制中經(jīng)常遇到對某些物理量進行定時采樣與控制的問題,在儀器儀表智能化中也扮演著極其重要的角色。
如果將8位單片機的推出作為起點,那么單片機的發(fā)展歷史大致可以分為以下幾個階段:
第一階段(1976—1978):單片機的探索階段。以Intel公司的MCS-48為代表。MCS-48的推出是在工控領(lǐng)域的探索,參與這一探索的公司還有Motorola、Zilog等。都取得了滿意的效果。這就是SCM的誕生年代,“單片機”一詞即由此而來。
第二階段(1978—1982):單片機的完善階段。Intel公司在MCS-48基礎(chǔ)上推出了完善的、典型的單片機系列MCS-51。它在以下幾個方面奠定了典型的通用總線型單片機體系結(jié)構(gòu)。
(1)完善的外部總線。MCS-51設(shè)置了經(jīng)典的8位單片機的總線結(jié)構(gòu),包括8位數(shù)據(jù)總線、16位地址總線、控制總線及具有多機通信功能的串行通信接口。
(2)CPU外圍功能單元的集中管理模式。
(3)體現(xiàn)工控特性的地址空間及位操作方式。
(4)指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。
第三階段(1982—1990):8位單片機的鞏固發(fā)展及16位單片機的推出階段,也是單片機向微控制器發(fā)展的階段。Intel公司推出的MCS-96系列單片機,將一些用于測控系統(tǒng)的模數(shù)轉(zhuǎn)換器、程序運行監(jiān)視器、脈寬調(diào)制器等納入片中,體現(xiàn)了單片機的微控制器特征。
第四階段(1990—):微控制器的全面發(fā)展階段。隨著單片機在各個領(lǐng)域全面、深入地發(fā)展和應(yīng)用,出現(xiàn)了高速、大尋址范圍、強運算能力的8位/16位/32位通用型單片機,以及小型廉價的專用型單片機。
單片機是在集成電路芯片上集成了各種元件的微型計算機,這些元件包括中央處理器CPU、數(shù)據(jù)存儲器RAM、程序存儲器ROM、定時/計數(shù)器、中斷系統(tǒng)、時鐘部件的集成和I/O接口電路。由于單片機具有體積小、價格低、可靠性高、開發(fā)應(yīng)用方便等特點,因此在現(xiàn)代電子技術(shù)和工業(yè)領(lǐng)域應(yīng)用較為廣泛,在智能儀表中單片機是應(yīng)用最多、最活躍的領(lǐng)域之一。在控制領(lǐng)域中,現(xiàn)如今人們更注意計算機的底成本、小體積、運行的可靠性和控制的靈活性。在各類儀器、儀表中引入單片機,使儀器儀表智能化,提高測試的自動化程度和精度,提高計算機的運算速度,簡化儀器儀表的硬件結(jié)構(gòu),提高其性能價格比。
3.2.1單片機引腳介紹單片機主要特點:
(1)有優(yōu)異的性能價格比。
(2)集成度高、體積小、有很高的可靠性。單片機把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機的可靠性和抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。
(3)控制功能強。為了滿足工業(yè)控制的要求,一般單片機的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機的邏輯控制功能及運行速度均高于同一檔次的微機。
(4)低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。
(5)外部總線增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行總線方式,進一步縮小了體積,簡化了結(jié)構(gòu)。
(6)單片機的系統(tǒng)擴展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。
優(yōu)異的性能價格比。
1)集成度高、體積小、有很高的可靠性。
單片機把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機的可靠性與抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合于在惡劣環(huán)境下工作。
此外,程序多采取固化形式也可以提高可靠性。
2)控制功能強。
為了滿足工業(yè)控制要求,一般單片機的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機的邏輯控制功能及運行速度均高于同一檔次的微機。
單片機的系統(tǒng)擴展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。
VCC:STC89C52電源正端輸入,接+5V。
GND:電源地端。
XTAL1: 單芯片系統(tǒng)時鐘的反相放大器輸入端。
XTAL2: 系統(tǒng)時鐘的反相放大器輸出端,一般在設(shè)計上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機。
RESET:STC89C52的重置引腳,高電平動作,當(dāng)要對晶片重置時,只要對此引腳電平提升至高電平并保持兩個機器周期以上的時間,AT89S51便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。
EA/Vpp:"EA"為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電平動作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會取用外部的程序代碼(存于外部EPROM中)來執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因為其內(nèi)部無程序存儲器空間。如果是使用 8751 內(nèi)部程序空間時,此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時,可以利用此引腳來輸入21V的燒錄高壓(Vpp)。
ALE/PROG:ALE是英文"Address Latch Enable"的縮寫,表示地址鎖存器啟用信號。STC89C52可以利用這支引腳來觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進鎖存器中,因為STC89C52是以多工的方式送出地址及數(shù)據(jù)。平時在程序執(zhí)行時ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動其他周邊晶片的時基輸入。此外在燒錄8751程序代碼時,此引腳會被當(dāng)成程序規(guī)劃的特殊功能來使用。
PSEN:此為"Program Store Enable"的縮寫,其意為程序儲存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(EA=0),會送出此信號以便取得程序代碼,通常這支腳是接到EPROM的OE腳。STC89C52可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲器與程序存儲器可以合并在一起而共用64K的定址范圍。
PORT0(P0.0~P0.7):端口0是一個8位寬的開路汲極(Open Drain)雙向輸出入端口,共有8個位,P0.0表示位0,P0.1表示位1,依此類推。其他三個I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時可以推動8個LS的TTL負(fù)載。
PORT2(P2.0~P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個引腳可以推動4個LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時,此端口便能當(dāng)成輸入端口來使用。P2除了當(dāng)做一般I/O端口使用外,若是在STC89C52擴充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié)A8~A15,這個時候P2便不能當(dāng)做I/O來使用了。
PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)做定時器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。
PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個TTL負(fù)載,同時還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?/font>
其引腳分配如下:
P3.0:RXD,串行通信輸入。
P3.1:TXD,串行通信輸出。
P3.2:INT0,外部中斷0輸入。
P3.3:INT1,外部中斷1輸入。
P3.4:T0,計時計數(shù)器0輸入。
P3.5:T1,計時計數(shù)器1輸入。
P3.6:WR:外部數(shù)據(jù)存儲器的寫入信號。
P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。
單片機引腳圖如圖3-1所示:
圖3-1 單片機引腳圖
3.2.2單片機最小系統(tǒng)單片機芯片內(nèi)還有一項主要內(nèi)容就是并行I/O口。STC89C51共有4個8位的并行I/O口,分別記作P0、P1、P2、P3。每個口都包含一個鎖存器、一個輸出驅(qū)動器和輸入緩沖器。實際上,它們已被歸入專用寄存器之列,并且具有字節(jié)尋址和位尋址功能。在訪問片外擴展存儲器時,低8位地址和數(shù)據(jù)由P0口分時傳送,高8位地址由P2口傳送。在無片外擴展存儲器的系統(tǒng)中,這4個口的每一位均可作為雙向的I/O端口使用。
單片機的4個I/O口都是8位雙向口,這些口在結(jié)構(gòu)和特性上是基本相同的,但又各具特點。
STC89C51單片機的時鐘信號通常有兩種方式產(chǎn)生:一是內(nèi)部時鐘方式,二是外部時鐘方式。在單片機內(nèi)部有一振蕩電路,只要在單片機的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振),就構(gòu)成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘脈沖信號。圖中電容C1和C2的作用是穩(wěn)定頻率和快速起振,電容值在5-30pF,典型值為30pF。晶振CYS的振蕩頻率范圍在1.2-12MHz間選擇,典型值為12MHz和11.0592MHz。
當(dāng)在STC89C51單片機的RST引腳引入高電平并保持2個機器周期時,單片機內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機就處于循環(huán)復(fù)位狀態(tài))。
復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。最簡單的上電自動復(fù)位電路中上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。只要Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位。時鐘頻率用6MHZ時C取22uF,R取1KΩ。除了上電復(fù)位外,有時還需要按鍵手動復(fù)位。本設(shè)計就是用的按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST端經(jīng)過電阻與電源Vcc接通而實現(xiàn)的。最小系統(tǒng)圖如圖3-2所示

圖3-2 單片機最小系統(tǒng)原理圖
3.3 DHT11傳感器模塊設(shè)計3.3.1 DHT11傳感器簡介DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。
DHT11傳感器實物圖如下圖3-3所示:
圖3-3 DHT11傳感器實物圖
(1)引腳介紹:
Pin1:(VDD),電源引腳,供電電壓為3~5.5V。
Pin2:(DATA),串行數(shù)據(jù),單總線。
Pin3:(NC),空腳,請懸浮。
Pin4(VDD),接地端,電源負(fù)極。
(2)接口說明 :
建議連接線長度短于20米時用5K上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻。如下圖3-4所示:
圖3-4 DHT11典型應(yīng)用電路
(3)數(shù)據(jù)幀的描述:
DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當(dāng)前小數(shù)部分用于以后擴展,現(xiàn)讀出為零.操作流程如下:
一次完整的數(shù)據(jù)傳輸為40bit,高位先出。
數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)
+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)
數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。
(4)電氣特性:VDD=5V,T = 25℃,除非特殊標(biāo)注
表3-1 DHT11的電氣特性
注:采樣周期間隔不得低于1秒鐘。
(5)時序描述:
用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分?jǐn)?shù)據(jù).從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,DHT11不會主動進行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。
總線空閑狀態(tài)為高電平,主機把總線拉低等待DHT11響應(yīng),主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結(jié)束,然后發(fā)送80us低電平響應(yīng)信號.主機發(fā)送開始信號結(jié)束后,延時等待20-40us后, 讀取DHT11的響應(yīng)信號,主機發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。
總線為低電平,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送響應(yīng)信號后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定了數(shù)據(jù)位是0還是1.格式見下面圖示.如果讀取響應(yīng)信號為高電平,則DHT11沒有響應(yīng),請檢查線路是否連接正常.當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態(tài)。
3.3.2 DHT11傳感器模塊電路設(shè)計DHT11傳感器連接STC89C51系列單片機相對比較簡單。單片機的P2.0口用來發(fā)收串行數(shù)據(jù),即數(shù)據(jù)口。連接傳感器的Pin2(單總線,串行數(shù)據(jù))。由于測量范圍電路小于20米,建議加一個5K的上拉電阻,因此在傳感器的Pin2口與電源之間連接一個5K電阻。而傳感器的電源端口Pin1和Pin4分別接單片機的VDD和GND端。傳感器的第三腳懸浮放置。DHT11傳感器原件的電路原理圖如下3-5所示:
圖3-5 DHT11電路原理圖
3.4 液晶顯示模塊設(shè)計3.4.1 液晶顯示屏簡介LCD1602A 是一種工業(yè)字符型液晶,能夠同時顯示16x02 即32個字符。(16列2行)。在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。在單片機的人機交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡單。
在單片機系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個優(yōu)點:
由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質(zhì)高且不會閃爍。
液晶顯示器都是數(shù)字式的,和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便。
液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。
相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要少得多。
(1)引腳說明:
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。
第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。
第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平
R/W為高電平時可以讀忙信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15腳:背光源正極。
第16腳:背光源負(fù)極。
(2)1602LCD的RAM地址映射以及標(biāo)準(zhǔn)字庫表
LCD1602液晶模塊內(nèi)部的字符發(fā)生存儲器已經(jīng)存儲了160個不同的點陣字符圖形,這些字符圖有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母。
它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的(說明:1為高電平,0為低電平)。
指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。
指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H 。
指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移 。S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效 。
指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示。 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)。 B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍 。
指令5:光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo) 。
指令6:功能設(shè)置命令 DL:高電平時為4位總線,低電平時為8位總線。 N:低電平時為單行顯示,高電平時雙行顯示。 F:低電平時顯示5X7的點陣字符,高電平時顯示5x10的點陣字符 (有些模塊是 DL:高電平時為8位總線,低電平時為4位總線)。
指令7:字符發(fā)生器RAM地址設(shè)置 。
指令8:DDRAM地址設(shè)置 。
指令9:讀出忙信號和光標(biāo)地址。 BF為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙,模塊就能接收相應(yīng)的命令或者數(shù)據(jù)。
指令10:寫數(shù)據(jù) 。
指令11:讀數(shù)據(jù) 。
液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。
1602 內(nèi)部顯示地址如圖3-6所示:
圖3-6 1602內(nèi)部顯示地址
例如第二行第一個字符的地址是40H,那么是否直接寫入40H 就可以將光標(biāo)定位在第二行第 一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1,所以實際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H) 。在對液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時光標(biāo)是自動右移的,無需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。1602 液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,如下圖所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H 中的點陣字符圖形顯示出來,我們就能看到字母“A”。
3.4.2 液晶顯示模塊電路原理圖液晶顯示的原理是利用液晶的物理特性, 通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機、PDA移動通信工具等眾多領(lǐng)域。電路中液晶接口圖如圖3-7所示:
圖3-7 1602顯示模塊
3.5繼電器模塊電磁繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會流過一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力返回原來的位置,使動觸點與原來的靜觸點(常閉觸點)釋放。這樣吸合、釋放,從而達到了在電路中的導(dǎo)通、切斷的目的。對于繼電器的“常開、常閉”觸點,可以這樣來區(qū)分:繼電器線圈未通電時處于斷開狀態(tài)的靜觸點,稱為“常開觸點”;處于接通狀態(tài)的靜觸點稱為“常閉觸點”。繼電器一般有兩股電路,為低壓控制電路和高壓工作電路。
電路中繼電器室通過PNP型三極管驅(qū)動,當(dāng)閥值超過設(shè)定時,單片機會由高電平跳變成低電平,三極管導(dǎo)通繼電器吸合,繼電器起開關(guān)作用,可以驅(qū)動負(fù)載。硬件電路如圖3-8所示:

圖3-8 按鍵控制電路圖
3.6閥值設(shè)定及存儲模塊溫濕度閾值存儲在EEPROM芯片AT24C02中,并可以通過K1—K4按鍵調(diào)節(jié)并保存,其中K1為溫度上限增加,K2為溫度上限減小,K3為濕度上限增加,K4為濕度上限減小。AT24C02是IIC芯片,其電路如圖3-9所示:

圖3-9 AT24C02的芯片引腳圖
AT24C02提供電可擦除的串行1024位存儲或可編程只讀存儲器(EEPROM)128字(8位/字)。
芯片在低壓的工業(yè)與商業(yè)應(yīng)用中進行了最優(yōu)化。AT24C01的封裝為8腳PDIP、8腳JEDEC
SOIC、8腳TSSOP,通過2線制串行接口進行數(shù)據(jù)傳輸。另外,整個系列有2.7V(2.7V至5.5V)和1.8V (1.8V至5.5V)兩個版本。
設(shè)備操作:
C L O C K 和 D A T A 變化:SDA管腳通常外都要拉高。SDA管腳上的數(shù)據(jù)只能在SCL低期間改變。數(shù)據(jù)在SCL高期間改變定義為一個開始或停止信號。
開始狀態(tài):在任何操作之前必須有一個開始信號----在SCL為高時SDA上產(chǎn)生一個下降沿。
停止?fàn)顟B(tài): SCL為高時SDA產(chǎn)生一個上升沿是停止信號,停止信號后將停止所有通信。
在一個讀的序列之后,停止信號將讓EEPROM進入備用電源模式。
I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個組件狀態(tài)的通信。例如管理員可對各個組件進行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇。可隨時監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個參數(shù),增加了系統(tǒng)的安全性,方便了管理。
1 I2C總線的硬件結(jié)構(gòu)
I2C串行總線一般有兩根信號線,一根是雙向的數(shù)據(jù)線SDA,另一根是時鐘線SCL。所有接到I2C總線設(shè)備上的串行數(shù)據(jù)SDA都接到總線的SDA上,各設(shè)備的時鐘線SCL接到總線的SCL上。
為了避免總線信號的混亂,要求各設(shè)備連接到總線的輸出端時必須是開漏輸出或集電極開路輸出。設(shè)備上的串行數(shù)據(jù)線SDA接口電路應(yīng)該是雙向的,輸出電路用于向總線上發(fā)送數(shù)據(jù),輸入電路用于接收總線上的數(shù)據(jù)。而串行時鐘線也應(yīng)是雙向的,作為控制總線數(shù)據(jù)傳送的主機,一方面要通過SCL輸出電路發(fā)送時鐘信號,另一方面還要檢測總線上的SCL電平,以決定什么時候發(fā)送下一個時鐘脈沖電平;作為接受主機命令的從機,要按總線上的SCL信號發(fā)出或接收SDA上的信號,也可以向SCL線發(fā)出低電平信號以延長總線時鐘信號周期。總線空閑時,因各設(shè)備都是開漏輸出,上拉電阻RP使SDA和SCL線都保持高電平。任一設(shè)備輸出的低電平都將使相應(yīng)的總線信號線變低,也就是說:各設(shè)備的SDA是“與”關(guān)系,SCL也是“與”關(guān)系。
總線的運行(數(shù)據(jù)傳輸)由主機控制。所謂主機是指啟動數(shù)據(jù)的傳送(發(fā)出啟動信號)、發(fā)出時鐘信號以及傳送結(jié)束時發(fā)出停止信號的設(shè)備,通常主機都是微處理器。被主機尋訪的設(shè)備稱為從機。為了進行通訊,每個接到I2C總線的設(shè)備都有一個唯一的地址,以便于主機尋訪。主機和從機的數(shù)據(jù)傳送,可以由主機發(fā)送數(shù)據(jù)到從機,也可以由從機發(fā)到主機。凡是發(fā)送數(shù)據(jù)到總線的設(shè)備稱為發(fā)送器,從總線上接收數(shù)據(jù)的設(shè)備被稱為接受器。
開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。
結(jié)束信號:SCL為高電平時,SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。
應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應(yīng)答信號,CPU接收到應(yīng)答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。如圖3-10所示:

圖3-10開始、結(jié)束信號圖
目前有很多半導(dǎo)體集成電路上都集成了I2C接口。帶有I2C接口的單片機有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監(jiān)控芯片等也提供I2C接口。
總線基本操作:
I2C規(guī)程運用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。 總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來表示起始和停止條件。
控制字節(jié):在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,最后一位為讀寫位,當(dāng)為1時為讀操作,為0時為寫操作。
寫操作:寫操作分為字節(jié)寫和頁面寫兩種操作,對于頁面寫根據(jù)芯片的一次裝載的字節(jié)不同有所不同。
讀操作:讀操作有三種基本操作:當(dāng)前地址讀、隨機讀和順序讀。圖4給出的是順序讀的時序圖。應(yīng)當(dāng)注意的是:最后一個讀操作的第9個時鐘周期不是“不關(guān)心”。為了結(jié)束讀操作,主機必須在第9個周期時發(fā)出停止條件或者在第9個時鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。
第四章 系統(tǒng)軟件程序的設(shè)計
在對我們所要設(shè)計的課題有了整體的了解之后,需要先建立程序框架的流程圖,對整個設(shè)計劃分模塊,逐個模塊實現(xiàn)其功能,最終把各個子模塊合理的連接起來,構(gòu)成總的程序。主程序首先要對整個系統(tǒng)進行初始化,然后將采集到的溫濕度指令傳給系統(tǒng)的主流程圖如圖4-1所示:
圖 4-1 主程序流程圖
4.1 液晶顯示模塊設(shè)計液晶顯示模塊是一個慢顯示器件,在執(zhí)行每條指令之前要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,則此指令失效,要顯示字符時要先輸入顯示字符地址,告訴模塊在哪里現(xiàn)實了字符。1602液晶顯示模塊可與STC89C52直接接口的。軟件流程圖如圖4-2所示:
圖4-2液晶顯示模塊程序流程圖
4.2 傳感器模塊設(shè)計溫濕度模塊DH11數(shù)字溫濕傳感器加濕器溫濕度傳感器隨著科技的不斷發(fā)展,汽車、空調(diào)、除濕器、烘干機等種類繁多的電器都已進入人們的日常生活,而這些電器設(shè)備很多都離不開對溫度、濕度等環(huán)境因素的要求。因此,溫度、濕度傳感器用途越來越廣泛。新一代的數(shù)字傳感器不再需要外置的A D轉(zhuǎn)換模塊,并具有標(biāo)準(zhǔn)接口,使用方便,得到了越來越多的應(yīng)用。DHT11作為一種新型的單總線溫濕度數(shù)字傳感器,具有更多的優(yōu)點,它使系統(tǒng)設(shè)計更加簡單,控制方便,易于實現(xiàn)。1 單總線通信簡介 目前常用的微機與外設(shè)之間進行數(shù)據(jù)傳輸?shù)拇锌偩主要有I2C總線、SPI總線和SCI總線。其中I2C總線以同步串行兩線方式進行通信(1條時鐘線,1條數(shù)據(jù)線),SPI總線則以同步串行三線方式進行通信(1條時鐘線,1條數(shù)據(jù)輸入線,1條數(shù)據(jù)輸出線),而SCI總線是以異步方式進行通信的(1條數(shù)據(jù)輸入線,1條數(shù)據(jù)輸出線)。這些總線至少需要兩條或兩條以上的信號線。
DHT11傳感器模塊的軟件流程圖如下圖4-3所示
圖 4-3 DHT11傳感器模塊程序流程圖
第五章 系統(tǒng)分析與調(diào)試
本設(shè)計是在Keil C環(huán)境下開發(fā)的,Keil C軟件支持C語言的編程及調(diào)試,運用方便,是做C語言畢業(yè)設(shè)計者的首選。設(shè)計的首要任務(wù)是安裝和學(xué)習(xí)使用這個軟件,在簡單的學(xué)習(xí)和了解Keil C后,我們便可在此環(huán)境下開始了對帶錄音功能的電子琴的設(shè)計工作。在編譯完Keil C后,再運用STC_ISP_V480軟件燒錄到開發(fā)板上,實現(xiàn)實物與程序的連接。在燒錄前要對STC_ISP_V480進行一些必要的設(shè)置。第一步:設(shè)置MCU Type為STC89C52RC;第二步:打開編寫好并編譯的程序文件,它是以.hex為后綴的文件;第三步:選擇對應(yīng)的COM端口,(可在我的電腦的設(shè)備管理處查看COM選項);第四步:點擊Download/下載,等提示
請給MCU上電時,打開開發(fā)板上的開關(guān),它就自行燒錄了。
Keil C程序運行如圖5-1所示,下載圖如圖5-2所示:
圖5-1 keil C運行圖
圖5-2 程序燒錄運行圖
在完成對程序的調(diào)試及燒錄之后,還需要對其進行演示,把開發(fā)板與電腦連上,設(shè)置好對應(yīng)的接口,完成供電及下載。開始供電后、稍帶幾秒等1602液晶屏能正常顯示當(dāng)前溫濕度了之后。觀察當(dāng)前溫濕度的變化。并且針對與自己設(shè)定的限值相比較。若當(dāng)前溫度沒有超標(biāo),即沒有超過限值。可以用手捂住DHT11傳感器,令其溫度的顯示超標(biāo)。測試能否達到報警。經(jīng)過測試。完全可行。因而簡單的實現(xiàn)了對溫度的控制,繼電器也可以控制風(fēng)扇的轉(zhuǎn)動。
第六章 結(jié)論與展望
本系統(tǒng)以單片機為核心部件的控制系統(tǒng),利用軟件編程,最終基本上實現(xiàn)了各項要求。雖然系統(tǒng)還存在一些不足,比如溫濕度測量不夠精確,特別是濕度,波動較大。嘗試了各種改進方法。仍然不太理想。不過大體能反映出設(shè)計的目的和要求。與預(yù)期的結(jié)果相差不多。
經(jīng)過近兩個月的奮斗,從確定題目,到后來查找資料,理論學(xué)習(xí),實驗編程調(diào)試,這一切都使我的理論知識和動手能力有了很大的提高。了解了單片機的硬件結(jié)構(gòu)和軟件編程方法,對單片機的工作方式有了很大的認(rèn)知。同時,對一些外圍設(shè)備比如傳感器、液晶屏、鍵盤、蜂鳴器等有了一定的了解!學(xué)會了對一項工程如何設(shè)計:首先,要分析需要設(shè)計的系統(tǒng)要實現(xiàn)什么功能,需要什么器件;然后,針對設(shè)計購買相應(yīng)的硬件,選用硬件時不僅要選用經(jīng)濟的,更重要的是如何能更精確更方便的完成系統(tǒng)的要求;再次,對各個硬件的軟件實現(xiàn)要弄清楚,如何更好的實現(xiàn)各個硬件的協(xié)調(diào),更好的通過主控制器件實現(xiàn)硬件的功能。最后,通過各種測試與調(diào)試,讓設(shè)計更好的完成系統(tǒng)要求。
但因為我們的水平有限,此設(shè)計中也存在一定的不足。就比如說對溫濕度下限的設(shè)定與控制,應(yīng)用就更加廣泛。
溫濕度控制已經(jīng)成為了21世紀(jì)熱門研究話題之一。無論是從生產(chǎn)還是生活,與我們?nèi)祟惗际窍⑾⑾嚓P(guān)的。而智能化的控制溫濕度已經(jīng)發(fā)展成為一種必然。隨著世界經(jīng)濟的發(fā)展,人們生活水平的提高以及社會的進步。我們不可能一直墨守陳規(guī),不能在恪守以前利用人力資源來控制溫濕度的方法。不僅浪費大量的人力資源、財力資源,并且控制系統(tǒng)也更加單一化。而采用自動控制的辦法、既節(jié)省了人力資源,更體現(xiàn)了與時俱進的思想、世界在進步、而這種進步就該體現(xiàn)在各個方面。
參考文獻[1] 夏路易 電路原理圖與電路板設(shè)計教程·北京希望電子出版社·2010·124~172
[2] 余永權(quán) 單片機在控制系統(tǒng)中的應(yīng)用·電子工業(yè)出版社·2009·56~67
[3] 童詩白 模擬電子技術(shù)基礎(chǔ)·第二版·高等教育出版社·2008·66~81
[4] 石東海 單片機數(shù)據(jù)通信技術(shù)·西安電子科技大學(xué)出版社·2011·201~215
[5] 余永權(quán) 單片機在控制系統(tǒng)中的應(yīng)用·電子工業(yè)出版社·2006·157~177
[6] 朱大奇 單片機原理串口及應(yīng)用·南京大學(xué)出版社·2009·13~54
[7] 趙佩華 微型計算機原理與組成·西安電子科技大學(xué)出版社·2011·88~96
[8] 趙繼文 傳感器與應(yīng)用電路設(shè)計·北京科學(xué)出版社·2006·56~99
[9] 黃繼昌 電子元器件應(yīng)用手冊·北京人民郵電出版社·2004·12~110
[10]沙占友 單片及外圍電路設(shè)計·電子工業(yè)出版社·2003·114~128
[11]謝自美 電子線路設(shè)計·華中科技大學(xué)出版社·2011·56~88
附錄 A圖A1 系統(tǒng)總體電路圖
致謝在即將結(jié)束本文,完成畢業(yè)設(shè)計的時刻,我要向所有在我畢業(yè)設(shè)計階段乃至我大學(xué)幫助過我的老師和同學(xué)致以深深的謝意,感謝他們在學(xué)習(xí)和生活上給我的幫助。.
通過本次畢業(yè)設(shè)計,我在指導(dǎo)老師的精心指導(dǎo)和嚴(yán)格要求下,獲得了豐富的理論知識,極大地提高了實踐能力,并對當(dāng)前電子領(lǐng)域的研究狀況和發(fā)展方向有了一定的了解,單片機領(lǐng)域這對我今后進一步學(xué)習(xí)計算機方面的知識有極大的幫助。在設(shè)計中遇到了很多編程問題,最后在老師的辛勤指導(dǎo)下,在同學(xué)的熱情幫助下,終于迎刃而解。同時,在老師的身上我學(xué)到很多實用的知識,在此我表示感謝!最后,對給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!
還有許許多多給予我學(xué)業(yè)上鼓勵和幫助的朋友,在此無法一一列舉,在此也一并表示忠心地感謝!
完整的Word格式文檔51黑下載地址:
http://www.zg4o1577.cn/bbs/dpj-125422-1.html
作者: lihaolihaolihao 時間: 2018-6-30 06:49
這個要注意的是DHT11市面上有假貨,要小心,我曾經(jīng)被坑過
作者: xingwenyuan123 時間: 2020-3-9 10:06
有源程序和仿真圖圖嗎
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
亚洲欧美日韩精品久久亚洲区
|
欧美日韩国产精品一区
|
国产精品久久久久久久久免费丝袜
|
国产成人网
|
亚洲精品日韩精品
|
毛片久久久
|
精品久久免费
|
能看的av
|
成人一区二区三区在线观看
|
国产精品视频免费观看
|
欧美一级在线免费观看
|
婷婷亚洲综合
|
国产精品久久久亚洲
|
国产一区免费
|
亚洲人成人一区二区在线观看
|
成人在线视频网
|
午夜日韩
|
亚洲第一天堂无码专区
|
男人的天堂视频网站
|
国产成人高清在线观看
|
国产精品看片
|
在线国产一区二区三区
|
精品在线一区
|
国产精品入口
|
欧美h|
亚洲精品久久国产高清情趣图文
|
亚洲欧美日韩成人在线
|
欧美国产日本一区
|
欧美三级久久久
|
久久av一区二区三区
|
午夜成人在线视频
|
日韩中文一区二区三区
|
日韩高清黄色
|
国产乱码精品1区2区3区
|
九九热精品视频在线观看
|
毛片视频免费
|
男人久久天堂
|
国产一区二区三区亚洲
|
美女久久视频
|
老司机久久
|
欧美在线视频不卡
|