版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
頁(共33頁)第1章緒論如今,人們的生活條件有了很大改善,人們的物質(zhì)文化追求也逐漸提高。21世紀(jì)的人已經(jīng)變得“懶”了。是科技的飛速發(fā)展給了我們懶惰的資本,也是因為懶惰,我們才開發(fā)出更智能的產(chǎn)品。目前各種智能家居產(chǎn)品層出不窮,但說到通信傳輸,很多選擇4G無線網(wǎng)絡(luò)作為傳輸手段,或者根本無法遠程通信。目前市場上的傳統(tǒng)智能家居產(chǎn)品大多是由各種單一設(shè)備技術(shù)組成的智能家居產(chǎn)品,各種設(shè)備之間無法實現(xiàn)通信和數(shù)據(jù)交換,安裝布線復(fù)雜,成本高。使用51主控芯片和WIFI模塊可以更好的解決上述問題,免去布線,節(jié)省4G流量成本,這是選擇基于WIFI的智能家居設(shè)計的主要原因和動力。1.1研究背景智能家居又稱智慧家居/智能住宅,在國外常用SmartHome表示。與智能家居含義近似的有家庭自動化、電子家庭、數(shù)字家園、家庭網(wǎng)絡(luò)、網(wǎng)絡(luò)家居、智能家庭/建筑,在中國香港和臺灣等地區(qū),還有數(shù)碼家庭、數(shù)碼家居等稱法。智能家居是時代發(fā)展的產(chǎn)物,是住戶想享受快速網(wǎng)沖浪、便捷實時的通訊、安全防范、豐富娛樂生活、便捷的生活家居管理,優(yōu)質(zhì)物業(yè)管理等智能化住宅所特有的生活方式,使忙碌一天的人們真正體會到智慧家?guī)淼纳顦啡ぁ?.2研究的目的與意義20世紀(jì)70年代,發(fā)達國家就開始對智能家居進行研究。1984年,美國第一棟智能建筑落成,從此以后歐美國家也相繼提出了各種智能家居方案,并且廣泛進行推廣。目前,發(fā)達國家的智能家居已經(jīng)獲得長足發(fā)展。如美國的x-10,CEBus和Lonwork,日本的HBS,歐洲的EIB和EHS,在國際上都比較有影響。1.3國外研究情況1983年,美國電子工業(yè)協(xié)會組織專門機構(gòu)開始制定家庭電氣設(shè)計標(biāo)準(zhǔn),并于1988年編制了第一個適用于家庭住宅的電氣設(shè)計標(biāo)準(zhǔn)--《家庭自動系統(tǒng)與通信標(biāo)準(zhǔn)》。1998年5月,在“98亞洲家庭電器與電子消費品國際博覽會”上,新加坡首次推出了新加坡模式的智能家居系統(tǒng),并現(xiàn)場模擬“未來之家”,其系統(tǒng)功能強大,包括三表抄送、電話接入、智能布線箱、安防報警、監(jiān)控中心、有線電視接入、住宅信息留言、可視對講、家庭智能控制面板、家電控制、寬帶網(wǎng)介入和系統(tǒng)軟件配置等功能。目前美國則有近4萬戶家庭安裝了這類系統(tǒng),在新加坡有近30個社區(qū)的約5000戶家庭采用了這種家庭智能化系統(tǒng)。1.4國內(nèi)研究情況與國外相比,我國對智能家居和家庭網(wǎng)絡(luò)等相關(guān)產(chǎn)品的研制起步較晚,但是政府部門在政策和標(biāo)準(zhǔn)等方面,不斷加大扶持力度,指導(dǎo)行業(yè)發(fā)展。目前,建設(shè)部批準(zhǔn)建立7個普及型網(wǎng)絡(luò)社區(qū),北京市已經(jīng)計劃建設(shè)30個網(wǎng)絡(luò)社區(qū),總戶數(shù)達3萬戶。我國將住宅小區(qū)智能化定義為:利用4C(計算機、通信與網(wǎng)絡(luò)、自控、IC卡)技術(shù),通過有效的傳輸網(wǎng)絡(luò),將多元信息服務(wù)與管理、物業(yè)管理與安防、住宅智能化系統(tǒng)集成,為住宅小區(qū)的服務(wù)與管理提供高技術(shù)的智能化手段,以期實現(xiàn)快捷高效的超值服務(wù)與管理,提供安全舒適的家居環(huán)境。1.5本課題研究的主要內(nèi)容和研究方案以STC89C51RC單片機為核心,設(shè)計WIFI智能家居:利用溫濕度傳感器檢測室內(nèi)當(dāng)前溫度和濕度,單片機控制用電器。通過WIFI鏈接,使用手機app遠程控制用電器,并且顯示環(huán)境當(dāng)前溫濕度,自己可設(shè)置溫濕度范圍,超過設(shè)置范圍,蜂鳴器自動響起。研究方案:利用溫濕度傳感器檢測當(dāng)前環(huán)境溫濕度,并通過LCD屏顯示。利用單片機來分析WIFI模塊采集的信號,然后輸出控制信號。通過單片機控制繼電器,并通過繼電器連接用電器。(4)通過鍵盤設(shè)定溫度的上限值和下限值,在LCD液晶顯示器上能夠顯示調(diào)節(jié)的數(shù)值和實時的數(shù)值,模擬調(diào)節(jié)裝置,實現(xiàn)溫度的控制。(5)設(shè)定主機和從機,在主從機上分別添加無線模塊,進行單片機和傳感器之間的數(shù)據(jù)交互,從而實現(xiàn)無線通信的功能。第2章系統(tǒng)硬件方案的選擇在構(gòu)建硬件電路之前,必須明確設(shè)計方案,通過各模塊之間的比較,選擇最合適本次設(shè)計的硬件,以充分發(fā)揮器件的最大效果。2.1主控芯片的選擇解決方案1:主控芯片采用STC89C51單片機。STC89C51是一款低功耗、高性能的八位CMOS微處理器,擁有8k在線編程Flash存儲器。STC89C51單片機內(nèi)核采用的是MCS-51內(nèi)核,指令與MCS-51完全兼容,但是單片機越做越升級,使得芯片擁有許多傳統(tǒng)的不具備MCS-51單片機的功能,例如,芯片塊和4kEEPROM存儲,當(dāng)需要使用掉電存儲數(shù)據(jù)可以直接使用單片機內(nèi)部存儲,不再需要存儲在外部存儲芯片中。STC89C51單片機的開發(fā)簡單,在線編程下載,成本低是一個很好的選擇。解決方案2:主控芯片采用MSP430單片機。MSP430單片機被稱為混合信號處理器(MixedSignalProcessor),可以將不同功能的模擬電路、數(shù)字電路模塊和微處理器集成在一個芯片上。MSP430系列單片機是由德州儀器公司于1996年推出市場的16位超低功耗、RISC混合信號處理器。該系列單片機多用于需要電池供電的便攜式儀器中。但是開發(fā)起來比較困難,成本也比較高。所以不應(yīng)該用在一些簡單的設(shè)計上。解決方案3:采用PIC16F877A單片機作為主控芯片。PIC16F877A是Microchip公司生產(chǎn)開發(fā)的新產(chǎn)品,屬于PICmicro系統(tǒng)8位單片機微機。具有Flash程序存儲功能,可重復(fù)擦寫程序。但開發(fā)成本高,難度較大。基于上述描述,考慮到資源的合理利用、成本和開發(fā)難度,最終決定采用宏晶科技的STC89C51單片機作為主控芯片。2.2顯示器件的選擇解決方案1:LED數(shù)碼管動態(tài)掃描顯示。發(fā)光二極管數(shù)碼管價格適中,適合顯示數(shù)字或簡單的字母。但是采用動態(tài)掃描的方法連接到單片機用CPU的I/O口較多,而且因為單片機的I/O口輸出電流不夠的,所以需要一個驅(qū)動電路,通過驅(qū)動電路放大電流控制數(shù)碼管,并且使用數(shù)碼管顯示的內(nèi)容較多的話,大大增加了焊接電路容易出現(xiàn)焊接錯誤的情況。解決方案2:采用LCD1602液晶顯示屏。LCD1602液晶又稱LCD1602字符液晶。LCD液晶顯示功能強大,可同時顯示16*2或32個字符,包括數(shù)字、字母、符號或自定義字符。LCD1602液晶顯示器的每個字符由5*7的點陣組成。LCD1602采用并行數(shù)據(jù)傳輸或串行數(shù)據(jù)傳輸,控制簡單,與市場上大部分基于HD44780液晶的控制原理完全相同。解決方案3:使用LCD12864液晶顯示器。帶漢字庫的128X64是一種4位/8位并行、2線或3線串行接口模式,顯示分辨率128×64,包含8192個16*16點漢字,以及128個16*8點ASCII字符集。利用該模塊靈活的接口方式和簡便的操作指令,可以構(gòu)成全中文人機交互圖形界面??娠@示8×4行16×16點陣漢字,也可完成圖形顯示。低電壓和低功耗是另一個重要特征。雖然LCD12864液晶顯示器功能強大,但顯示內(nèi)容大導(dǎo)致顯示空間浪費,而且液晶成本高?;谝陨厦枋?,根據(jù)本設(shè)計的功能要求,考慮使用LCD1602液晶顯示器更為合理。2.3濕度傳感器的選擇解決方案1:HM1500用于采集相對濕度。HM1500是一種模擬傳感器,精度為2%RH,在浸沒環(huán)境下不受影響。當(dāng)供電給5VDC時,0~100%RH通常輸出1~4VDC,因為采集濕度必須讀取傳感器的輸出電壓,所以使用A/D轉(zhuǎn)換器,并且也需要一個基準(zhǔn)電壓來保證測量的準(zhǔn)確性。HM1500成本高,電路測量復(fù)雜。解決方案2:使用模擬溫度傳感器AD590,傳感器的輸出電流會隨著溫度的變化而變化,所以需要設(shè)計一個電路將其轉(zhuǎn)換成電壓變化,然后通過A/D轉(zhuǎn)換與單片機連接。這種方法麻煩、昂貴,而且在電流-電壓轉(zhuǎn)換和A/D轉(zhuǎn)換中會產(chǎn)生誤差。解決方案3:使用數(shù)字濕度傳感器DHT11。該傳感器由一個電阻測濕元件和一個NTC測溫元件組成,因此該傳感器可以檢測溫度和濕度。與單片機連接時,只需一條總線即可完成通信。并對數(shù)據(jù)進行校準(zhǔn),有效保證了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。DHT11功耗低,精密濕度5%RH,溫度2℃。所以我們最終采用了數(shù)字傳感器DHT11。2.4遠程控制方式的選擇解決方案1:采用GPRS數(shù)據(jù)流。現(xiàn)在GPRS已經(jīng)得到了廣泛的應(yīng)用,比如手機,戶外智能設(shè)備等。,但是GPRS流量成本高,不適合在家庭環(huán)境中使用。解決方案2:WIFI遙控器。WIFI的發(fā)展已經(jīng)非常成熟,幾乎每家每戶都會安裝寬帶WIFI服務(wù),并且傳輸速度快、穩(wěn)定、成本低?;谝陨厦枋觯捎诖蠖鄶?shù)智能家居都是在家里使用,WIFI連接非常方便,可以大大降低成本。2.5報警模塊的選擇解決方案1:使用有源蜂鳴器。有源蜂鳴器工作的理想信號是直流電,通常標(biāo)為VDC、VDD等。由于蜂鳴器內(nèi)部有一個簡單的振蕩電路,恒定的直流電流可以轉(zhuǎn)換成一定頻率的脈沖信號,從而磁場交變可以驅(qū)動鉬片振動發(fā)音。但是有些有源蜂鳴器也可以在特定的交流信號下工作,但是交流信號的電壓和頻率要求很高,一般不使用。解決方案2:使用無源蜂鳴器。無源蜂鳴器沒有內(nèi)部驅(qū)動電路。一些公司和工廠稱之為訊響器。在國標(biāo)中,稱之為聲響器。無源蜂鳴器的理想信號方波。如果預(yù)直流信號蜂鳴器沒有響應(yīng),因為磁路是恒定的,鉬片不能振動。該系統(tǒng)的最終選擇是一個操作簡單、信號輸入固定的有源蜂鳴器。2.6系統(tǒng)總體方案通過上面介紹了每個模塊,我們選擇STC89C51為最終設(shè)計的主控制芯片,通過LCD1602實時顯示信息,使用DHT11采集環(huán)境的溫度和濕度,溫度的遠程數(shù)據(jù)傳輸通過ESP8266WIFI模塊到服務(wù)器,用戶在其它地方也可以通過手機可以輕易的獲取在家里的溫度和濕度數(shù)據(jù),同時加入了繼電器控制電路用來控制家用電器,如,通過遠程遙控器打開熱水器,到家后可以用熱水洗熱水澡。它不僅節(jié)省了成本,而且節(jié)省了很多時間。2.7系統(tǒng)結(jié)構(gòu)本設(shè)計的具體系統(tǒng)方案如下圖2-1所示。圖2-1系統(tǒng)方案第3章系統(tǒng)主要芯片介紹本章主要介紹了本設(shè)計中各電路的設(shè)計原理。通過對各個模塊的功能描述,了解其工作原理和在設(shè)計中的作用。3.1STC89C51的概述STC89C51是STC公司生產(chǎn)的高性能、低功耗的CMOS8位單片機,具有8K的系統(tǒng)可編程Flash存儲器。STC89C51采用了經(jīng)典的MCS-51內(nèi)核,但對該芯片進行了很多改進,使其具備了傳統(tǒng)51單片機所不具備的功能。在單芯片上,具有智能8位CPU和系統(tǒng)可編程Flash,為許多嵌入式控制應(yīng)用系統(tǒng)提供了高度靈活和有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8kbyteFlash,512byteRAM,32位I/O口線,watchdog定時器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,3個16位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)的51的5向量2級中斷結(jié)構(gòu)),全雙工串行端口。此外,STC89X52可以降低到0Hz靜態(tài)邏輯操作,支持兩種軟件可選的省電模式。在空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。在斷電保護模式下,保存RAM的內(nèi)容,凍結(jié)振蕩器,單片機的所有工作停止,直到下一次中斷或硬件復(fù)位。最大工作頻率為35MHz,6T/12T可選。STC89C51的引腳說明STC89C51有兩種包裝形式:PDIP(40pin)和PLCC(44pin)。在本設(shè)計中,采用直列DIP40封裝。封裝焊接時,可以先用IC插座焊接,然后將芯片插入IC插座,方便更換芯片,避免高溫焊接時損壞芯片。STC89C51有40個引腳,其中32個引腳可用于控制,即P0、P1、P2和P3。這些引腳可以由單獨位控制,也可以同時控制某個位的I/O口。不用定義輸入輸出,控制起來非常方便。給I/O賦值時I/O端口會自動轉(zhuǎn)換為輸出,讀取I/O端口時I/O端口會自動轉(zhuǎn)換為輸入。STC89C51單片機的引腳功能如下表3-1所示。表3-1STC89C51單片機引腳功能對照表引腳引腳名稱對應(yīng)功能與作用1~8引腳P1.0~P1.7(P1)P1口是一個內(nèi)置上拉電阻的8位雙向I/O口。P1口緩沖器可以接收和輸出四個TTL門電流。“1”寫入P1口管腳后,內(nèi)部拉高,可作為輸入。當(dāng)P1口被外部下拉到低電平時,它將輸出電流,這是由于內(nèi)部拉高。在FLASH編程和驗證中,P1口作為第八位地址接收。9引腳RST為了復(fù)位輸入引腳,振蕩器復(fù)位時必須在兩個機器周期內(nèi)保持高電平。續(xù)表:引腳引腳名稱對應(yīng)功能與作用10-17引腳P3.0~P3.7(P3)P3引腳是8個雙向I/O口,帶有內(nèi)部上拉電阻,可以接收和輸出四個TTL門電流。當(dāng)P3口寫入“1”時,它們在內(nèi)部被拉升到高電平并用作輸入。作為輸入,P3口會輸出電流(ILL),因為外部下拉到低電平,這是由于上拉造成的。P3端口作為51單片機的一些特殊功能口,是引腳的另一種功能。18引腳XTAL2內(nèi)部時鐘電路的輸入和反向振蕩放大器的輸入口19引腳XTAL1反向振蕩器的輸出20引腳GND單片機電源地21~28引腳P2.0~P2.7(P2)P2口是一個帶有內(nèi)部上拉電阻的8位雙向輸入/輸出口。P2口緩沖器可以接收和輸出四個TTL門電流。當(dāng)P2口寫入“1”時,其引腳由內(nèi)部上拉電阻拉上來,用作輸入。因此,當(dāng)它被用作輸入時,P2口的引腳被外部下拉,并且電流將被輸出。這是由于內(nèi)部上拉。29引腳PSEN更改引腳是外部程序存儲器一個選通信號口。一般不用。30引腳ALE本設(shè)計沒有使用到不做解釋31引腳EA/VPP在我們的設(shè)計中,這個引腳被直接切斷到VCC,以保持在一個高水平。讓它在內(nèi)部程序內(nèi)存中工作。32~39引腳P0.7~0.0(P0)P0口是8位漏極開路雙向I/O口,每個引腳可以吸收8個TTL門電流。P0引腳首次寫入“1”時被定義為高阻輸入。40引腳VCCMCU電源為4.5~5.5V正極STC89C51單片機P3口第二功能對照表如下表3-2所示。表3-2STC89C51單片機P3口第二功能對照表引腳引腳名稱對應(yīng)的功能作用10RXD該引腳的特殊功能是串行輸入口,需要單片機下載程序時使用。11TXD這個引腳的特殊功能是串行輸出口,單片機下載程序時也需要這個口。12INT0該引腳用作單片機的外部中斷0觸發(fā)引腳。觸發(fā)模式可以通過配置相應(yīng)的寄存器來實現(xiàn)。13INT1此引腳用作單片機的外部中斷1觸發(fā)引腳。觸發(fā)模式可以通過配置相應(yīng)的寄存器來實現(xiàn)。14T0此引腳可作為單片機外部計數(shù)器0的觸發(fā)引腳。15T1此引腳可作為單片機外部計數(shù)器1的觸發(fā)引腳。續(xù)表:引腳引腳名稱對應(yīng)的功能作用16WR該引腳可作為單片機外部數(shù)據(jù)寫、選通口。17RD該引腳可作為單片機外部數(shù)據(jù)讀、選通口。3.2LCD1602的概述LCD1602液晶又稱LCD1602字符液晶,是一種專門用于顯示字母、數(shù)字、符號等的點陣液晶模塊。它由幾個點陣字符位組成,如若干個5X7或5X11。每個點陣位可以顯示一個字符,每個位和每行之間有一個間隔,起到字符間距和行間距的作用。因此,它不能很好地顯示圖形。LCD1602液晶模塊采用HD44780控制器,指令集簡單功能強大,可實現(xiàn)字符移動和閃爍功能。LCD1602與單片機的通訊可以采用8位或4位并行傳輸方式。HD44780控制器由兩個8位寄存器組成,指令寄存器和數(shù)據(jù)寄存器忙標(biāo)志,顯示數(shù)據(jù)緩沖區(qū),地址計數(shù)器隨機存儲器。IR用于寄存指令碼,只能寫不能讀。DR用于寄存數(shù)據(jù),數(shù)據(jù)通過內(nèi)部操作自動寫入DDRAM和CGRAM,或者從DDRAM和CGRAM臨時存儲。當(dāng)BF為1時,LCD液晶模塊處于內(nèi)部模式,不響應(yīng)外部操作指令,不接受數(shù)據(jù)。DDTAM用于存儲顯示的字符,可以存儲80個字符碼。CGROM從8位字符代碼生成32種5*7點陣字符160和5*10點陣字符。CGRAM是留給用戶寫特殊字符的。它的容量只有64字節(jié)。它可以自定義8個5*7點陣字符或4個5*10點陣字符。AC可以存儲DDRAM和CGRAM的地址。如果用指令將地址碼寫入IR,IR會自動將地址碼載入AC,同時選擇DDRAM或CGRAM,LCD1602液晶物理圖如圖3-1所示。圖3-1LCD1602液晶實物圖LCD1602的引腳說明LCD1602液晶顯示器引腳功能描述見表3-3。表3-3LCD1602引腳排號名稱定義排號名稱定義1Vss工作電壓負極9D2數(shù)據(jù)端2Vcc工作電壓正極10D3數(shù)據(jù)端3VL液晶調(diào)節(jié)端11D4數(shù)據(jù)端續(xù)表:排號名稱定義排號名稱定義4RS數(shù)據(jù)/命令端(H/L)12D5數(shù)據(jù)端5R/W讀/寫端(H/L)13D6數(shù)據(jù)端6E使能信號端14D7數(shù)據(jù)端7D0數(shù)據(jù)端15Bla背景燈正端8D1數(shù)據(jù)端16Blk背景燈負端2組電源:一組LCD背光燈的電源;另一組為LCD工作的電源;兩者都是5V供電。RS:為數(shù)據(jù)/命令選擇端。引腳為高電平時進行數(shù)據(jù)傳輸;此引腳為低電平時寫入命令。RW:為讀/寫選擇端。當(dāng)端口為高時,液晶對外圍進行讀操作;當(dāng)該引腳為低電平時,單片機向液晶進行寫操作。VO:為對比度調(diào)節(jié)端。在硬件上,通過連接電位器的調(diào)節(jié)端來調(diào)節(jié)電位器,可以調(diào)節(jié)顯示對比度。E:為了實現(xiàn)目標(biāo)。E引腳接收外部高脈沖,將數(shù)據(jù)傳輸?shù)揭壕э@示器。D0—D7:是8位數(shù)據(jù)總線。3.3WIFI模塊的概述WIFI模塊采用ESP8266,使用串行通訊協(xié)議與單片機通訊。單片機利用AT指令控制模塊的工作。該模塊的無線傳輸速率可達150Mbps。信道個數(shù)可達14個,頻率范圍2.4-2.4835G,發(fā)射功率12-15DBM,有2個以太網(wǎng)端口和2個串口。其系統(tǒng)配置管理采用遠程Web管理。串口波特率很寬,從1200~230400bps(支持非標(biāo)準(zhǔn)波特率),工作溫度-20-70℃。3.4DHT11的概述DHT11數(shù)字溫濕度傳感器是一種具已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它采用特殊的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品的高可靠性和優(yōu)異的長期穩(wěn)定性。該傳感器包括電阻式濕度傳感元件和NTC測溫元件。該產(chǎn)品質(zhì)量優(yōu)良,響應(yīng)超快,抗干擾能力強,性價比高。每個DHT11傳感器都在極其精確的濕度校驗室中進行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式存儲在OTP內(nèi)存中,在檢測傳感器內(nèi)部的型號過程中應(yīng)該調(diào)用這些校準(zhǔn)系數(shù)。單線串行接口使系統(tǒng)集成簡單快捷。超小尺寸和極低的功耗使其成為這類應(yīng)用和苛刻應(yīng)用的最佳選擇。產(chǎn)品采用4針單排引腳封裝,連接方便。DHT11溫濕度傳感器引腳圖如圖3-2所示。圖3-2DHT11溫濕度傳感器引腳圖3.5AT24C02的概述AT24C02是一個2k位串行CMOSE2PROM,內(nèi)部有256個8位字節(jié)。CATALYST的先進CMOS技術(shù)大大降低了設(shè)備的功耗。AT24C02有一個8字節(jié)的緩沖區(qū)。該設(shè)備通過IIC總線接口操作,具有特殊的寫保護功能。AT24C02芯片實物圖如圖3-3所示。圖3-3AT24C02芯片實物圖AT24C02的引腳說明AT24C02時鐘芯片引腳功能描述見表3-4。表3-4AT24C02引腳引腳名稱功能1~3A0、A1、A2當(dāng)這些腳懸空時,默認值為0。使用AT24C02時,最多可以級聯(lián)8個設(shè)備。如果只有一個AT24C02通過總線尋址,這三個地址輸入引腳(A0,A1,A2)可以懸空或連接到GND。如果只有一個AT24C02通過總線尋址,這三個地址輸入引腳(A0、A1、A2)必須連接到GND。4GND接電源地5SDA雙向串行數(shù)據(jù)/地址引腳用于發(fā)送或接收器件的所有數(shù)據(jù)。續(xù)表:引腳名稱功能6SCL串行時鐘輸入引腳用于產(chǎn)生發(fā)送或接收器件所有數(shù)據(jù)的時鐘,它是一個輸入引腳。7WP如果WP引腳連接到VCC,所有內(nèi)容都是寫保護的,只能讀取。當(dāng)WP引腳連接到GND或懸空時,設(shè)備可以執(zhí)行正常的讀/寫操作8VCC連接+1.8V~6.0V電源
第4章系統(tǒng)硬件電路設(shè)計4.1STC89C51單片機的最小系統(tǒng)說到單片機的最小系統(tǒng),很容易理解,就是能讓單片機用最少的元器件工作的系統(tǒng)。接下來,開始介紹51單片機最小系統(tǒng)的必要組成部分及其功能。首先,電源對于一個電子產(chǎn)品來說是必不可少的,它為系統(tǒng)運行提供能量。在本設(shè)計中,由于51單片機的工作電壓可以在4.5-5.5V之間正常工作,所以我們使用USB電源線連接手機充電器的插頭或者5V移動電源給系統(tǒng)供電。其次,晶體振蕩器電路XTAL1和XTAL2是獨立的輸入和輸出反相放大器,可以配置為使用石英晶體振蕩器的片內(nèi)振蕩器,或該設(shè)備可以直接由外部時鐘驅(qū)動。圖4-1采用內(nèi)部時鐘模式,即利用芯片內(nèi)部的振蕩器電路將定時元件(一塊石英晶體和兩個電容器)附加到XTAL1和XTAL2的引腳上,內(nèi)部振蕩器產(chǎn)生自激振蕩。一般來說,晶體振蕩器可以在1.2~12MHz,甚至24MHz以上隨時選擇,但頻率越高,所耗功率越大。在該實驗套件中,ESP8266WIFI模塊通過串口直接與單片機通信,11.0592MHz晶振能產(chǎn)生9600波特率的0%誤差,因此采用11.0592MHz應(yīng)時晶振。與晶體振蕩器并聯(lián)的兩個電容的大小對振蕩頻率有輕微的影響,可以起到頻率微調(diào)的作用。當(dāng)使用石英晶體振蕩器時,電容可以在20至40pF之間選擇(本設(shè)計中使用30pF)。當(dāng)使用陶瓷諧振器器件時,電容應(yīng)在30至50pF之間適當(dāng)增加。一般選擇30pF的陶瓷電容。圖4-1晶振電路然后是復(fù)位電路,分為上電自動復(fù)位和開關(guān)復(fù)位。圖4-2所示的復(fù)位電路包括這兩種復(fù)位模式。上電瞬間,電容兩端電壓不能突然變化。這時電容的負極接RESET,電壓全部加到電阻上,RESET的輸入為高,芯片復(fù)位。隨著+5V電源給電容充電,電阻上的電壓逐漸降低,最后等于0左右,芯片正常工作。復(fù)位按鈕并聯(lián)在電容器的兩端。當(dāng)未按下復(fù)位按鈕時,電路實現(xiàn)上電復(fù)位。芯片正常工作后,按下按鈕,RST引腳出現(xiàn)高電平,達到手動復(fù)位的效果。一般來說,只要RST引腳保持10ms以上的高電平,單片機就可以有效復(fù)位。圖中所示的復(fù)位電阻和電容為經(jīng)典值,在實際生產(chǎn)中可以用相同數(shù)量級的電阻和電容代替。讀者也可以自行計算RC充電時間或在工作環(huán)境中實際測量,以保證單片機復(fù)位電路的可靠性。圖4-2復(fù)位電路完整的STC89C51單片機最小系統(tǒng)電路圖如圖4-3所示。圖4-3STC89C51單片機最小系統(tǒng)4.2LCD1602電路的設(shè)計LCD1602共有11條指令,單片機通過向LCD1602發(fā)送這些指令可以完成一些特定的功能,如清屏、開關(guān)顯示等。LCD1602有自己的字庫,顯示時可以直接調(diào)用顯示。當(dāng)然,如果字符庫中沒有字符,也可以根據(jù)需要將自己自定義的字符寫入CGROM。自定義字符的分辨率為5*8,但自定義字符的數(shù)量有限,需要合理安排和使用。最多可以自定義8個字符。將自定義字符寫入LCD的CGROM后,可以隨意調(diào)用,調(diào)用方法與正常顯示字符相同??刂芁CD1602液晶顯示器只要會對LCD1602進行讀狀態(tài)操作、寫指令操作、讀數(shù)據(jù)操作、寫數(shù)據(jù)操作即可具體的操作對應(yīng)的引腳電平如表4-1所示只要LCD1602液晶顯示屏可以進行讀狀態(tài)操作、寫指令操作、讀數(shù)據(jù)操作和寫數(shù)據(jù)操作,具體操作對應(yīng)的引腳電平見表4-1。表4-1LCD1602操作指令對應(yīng)的引腳電平操作讀狀態(tài)寫指令讀數(shù)據(jù)寫數(shù)據(jù)輸入RS=L,R/W=H,E=HRS=L,R/W=L,D0-D7=指令碼,E=高脈沖RS=H,R/W=H,E=HRS=H,R/W=L,D0-D7=數(shù)據(jù),E=高脈沖輸出D0-D7=狀態(tài)無D0-D7=數(shù)據(jù)無上表中的E為使能端;RS是寄存器選擇。當(dāng)RS=H時,表示選擇數(shù)據(jù)寄存器,當(dāng)RS=L時,選擇指令寄存器。R/W為信號線,當(dāng)R/W=H時,進行讀操作,當(dāng)R/W=L時,進行寫操作。LCD1602的具體讀操作時序如圖4-4所示,寫操作時序如圖4-5所示。圖4-4LCD1602讀操作時序圖圖4-5LCD1602寫操作時序圖使用時,將D0-D7接至51單片機的P0,便于數(shù)據(jù)傳輸,VL口連接可調(diào)電位器。當(dāng)可調(diào)電位計的位置改變時,連接到VL的電壓也會改變,顯示清晰度也會改變。因此,在實踐中,用電位器代替電阻值固定的電阻,可以方便地調(diào)整,以適應(yīng)不同的電壓情況。LCD1602的具體電路圖如圖4-6所示。圖4-6LCD1602電路圖4.3DHT11電路的設(shè)計(1)單總線傳送數(shù)據(jù)位定義數(shù)據(jù)用于微處理器和DHT11之間的通信和同步。采用單總線數(shù)據(jù)格式,通訊時間約4ms,數(shù)據(jù)分為小數(shù)部分和整數(shù)部分。具體格式描述如下。當(dāng)前小數(shù)部分用于將來的擴展,現(xiàn)在讀為零。操作流程如下:完整的數(shù)據(jù)傳輸是40位,高位先出。數(shù)據(jù)格式:8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)+8位校驗和數(shù)據(jù)傳輸正確時校檢和數(shù)據(jù)等于“8位濕度整數(shù)數(shù)據(jù)+8位濕度十小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)”結(jié)果的最后8位。(2)數(shù)據(jù)傳輸時序圖用戶單片機發(fā)送一次啟動信號后,DHT11從低功耗模式切換到高速模式。等待主機啟動信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,發(fā)出40位數(shù)據(jù),觸發(fā)信號采集。用戶可以選擇讀取部分?jǐn)?shù)據(jù)。在該模式下,當(dāng)DHT11接收到啟動信號時,它將觸發(fā)溫度采集。如果主機不發(fā)送啟動信號,DHT11不會主動采集溫濕度,采集數(shù)據(jù)后再轉(zhuǎn)換到低速模式。數(shù)據(jù)傳輸?shù)臅r序圖如圖4-7所示。圖4-7數(shù)據(jù)傳輸時序圖DHT11通電后,測試并記錄環(huán)境的溫度和濕度數(shù)據(jù)。同時,DHT11的數(shù)據(jù)線通過上拉電阻拉高保持在高電平。此時,DHT11的DATA引腳處于輸入狀態(tài),外部信號一直被檢測。微處理器的I/O設(shè)置為同時輸出并輸出低電平,低電平保持時間不能小于18ms。然后微處理器的輸入輸出被設(shè)置為位輸入狀態(tài)。由于上拉電阻的作用,微處理器的I/O,即DHT11的數(shù)據(jù)線也會變高,等待DHT11給出應(yīng)答信號。主機發(fā)送初始信號的序列圖如圖4-8所示。圖4-8主機發(fā)送起始信號當(dāng)DHT11的數(shù)據(jù)引腳檢測到外部信號低電平時,等待外部信號低電平結(jié)束。延時后,DHT11的數(shù)據(jù)引腳處于輸出狀態(tài),先輸出低電平80us作為響應(yīng)信號,再輸出高電平80us通知外設(shè)準(zhǔn)備接收數(shù)據(jù)。此時微處理器的I/O處于輸入狀態(tài)。檢測到I/O(DHT11響應(yīng)信號)低電平后,待80us高電平后等待數(shù)據(jù)接收。發(fā)送數(shù)據(jù)的時序圖如圖4-9所示圖4-9發(fā)送信號DHT11的數(shù)據(jù)引腳輸出40位數(shù)據(jù),微處理器根據(jù)I/O電平的變化接收40位數(shù)據(jù)。位數(shù)據(jù)“0”的格式為低電平50us,高電平26-28us,如圖4-10所示。位數(shù)據(jù)“1”的格式為50us低電平加70us高電平,如圖4-11所示。圖4-10位數(shù)據(jù)“0”的格式圖4-11位數(shù)據(jù)“1”的格式DHT11數(shù)字濕溫度傳感器連接方法極為簡單。第一腳接電源正,第四腳接電源地端。數(shù)據(jù)端為第二腳??芍苯咏又鳈C(單片機)的
I/O
口。為提高穩(wěn)定性,在數(shù)據(jù)端和電源正之間接一只10K
的上拉電阻。第三腳為空腳,此管腳懸空不用,如圖4-12所示。圖4-12DHT11數(shù)字濕溫度傳感器4.4AT24C02電路的設(shè)計AT24C02的存儲容量為2Kb,內(nèi)容分為32頁,每頁8B,共256B。操作過程中有兩種尋址模式:芯片尋址和片內(nèi)子地址尋址。(1)芯片地址:AT24C02的芯片地址為1010,地址控制字格式為1010A2A1A0R/W。其中A2,A1,A0可編程地址選擇位。當(dāng)A2、A1、A0引腳接高、低電平時,得到確定的三位編碼,與1010構(gòu)成7位編碼,即器件的地址碼。R/W是芯片的讀寫控制位。位0表示芯片寫操作,位1表示芯片讀操作。(2)片內(nèi)子地址尋址:芯片尋址可以讀寫內(nèi)部256B中的任意一個,尋址范圍為00~FF,共256個尋址單位。。AT24C02讀/寫操作的時序圖如圖4-13所示。圖4-13AT24C02讀/寫時序圖本設(shè)計只使用一個AT24C02芯片,所以三個引腳A0、A1、A2直接連接到GND,而WP寫保護引腳一般連接到GND,方便讀寫操作。SDA和SCL分別連接到單片機的兩個引腳。具體電路圖如圖4-14所示。圖4-14AT24C02電路圖4.5WIFI模塊電路的設(shè)計WIFI模塊的工作電壓為3.3V,單片機使用5V,為了使電源兼容,本設(shè)計通過兩個二極管將5V的電壓降低到3.3V,用于WIFI模塊。具體電路圖如圖4-15所示。圖4-15ESP8266電路圖4.6蜂鳴器電路的設(shè)計蜂鳴器采用5V電磁有源蜂鳴器,因為蜂鳴器的工作電流一般比較大,所以單片機的I/O口不能直接驅(qū)動,需要用三極管開關(guān)電路驅(qū)動。這里用的是8550三極管,是PNP三極管。當(dāng)基極與一個1K電阻串聯(lián)到單片機的I/O口時。入I/O口輸出低電平時,三極管導(dǎo)通,蜂鳴器鳴叫;當(dāng)I/O口輸出高電平時,三極管截止,蜂鳴器停止。蜂鳴器電路如下圖4-16所示。圖4-16蜂鳴器電路4.7繼電器驅(qū)動電路設(shè)計繼電器是由電控制的元件。一般用于需要自動控制的電路中。簡而言之,繼電器是一個“自動開關(guān)”,它通過一個小的輸入電流來控制大電流的輸出。因此,繼電器起著自動調(diào)節(jié)回路、轉(zhuǎn)換回路、保護回路等作用。用51單片機控制繼電器時,由于單片機I/O口輸出電流在4~20mA之間,繼電器的工作拉入電流在40mA左右,不能直接控制驅(qū)動,所以需要增加一個電流放大電路。三極管的選擇應(yīng)符合:(1)功率PCM:大于5V*兩倍繼電器電流(5*40mA=0.2W);(2)最大集電極電流(ICM):繼電器吸合電流40mA的兩倍以上;(3)耐壓BV(CEO):大于繼電器工作電壓5V,可選擇10V以上;(4)直流放大倍數(shù):取100。圖4-17繼電器驅(qū)動電路本設(shè)計采用S8550三極管進行放大,驅(qū)動電路圖如圖3.5所示。當(dāng)單片機的I/O口輸出高電平時,三極管截止,繼電器斷開;當(dāng)單片機I/O輸出低電平時,三極管導(dǎo)通,繼電器吸合。4.8獨立按鍵電路的設(shè)計本設(shè)計設(shè)置了一個按鍵電路,通過幾個獨立的按鍵進行人機交互。按鍵通過一點連接到單片機的I/O口,一端連接到電源地。這種設(shè)計是因為單片機的I/O口作為輸出時處于默認高電平,按鍵沒有被按下時相當(dāng)于I/O口被懸空。按下時,I/O端口的電平會被拉低,單片機只有通過循環(huán)檢測I/O端口是否有低電平,才能判斷是否有按鍵被按下。當(dāng)然這個鍵是金屬解除的,所以會有抖動紋波,所以需要在程序中加入一個短延時來適當(dāng)消除抖動。具體電路如圖4-18所示。圖4-18獨立按鍵電路這三個鍵的作用是:第一個按鈕:進入設(shè)置。第二個按鈕:設(shè)置時對應(yīng)的參數(shù)為+1。第三個按鈕:設(shè)置時對應(yīng)參數(shù)-1。第5章系統(tǒng)軟件部分設(shè)計5.1軟件開發(fā)環(huán)境的介紹本設(shè)計由KeilμVision4編程實現(xiàn)。KeilC51是美國Keil軟件公司生產(chǎn)的兼容單片機C語言的51系列軟件開發(fā)系統(tǒng)。5.2主函數(shù)的設(shè)計main函數(shù)voidmain()是程序的入口函數(shù),必須包含在一個完整的程序中。在這個函數(shù)的開始部分,對MCU和一些需要初始化才能正常使用的外圍設(shè)備進行初始化,并重新賦值一些變量。初始化后,程序進入無限循環(huán)。如果不進入無限循環(huán),則退出一次,如果加入,則不斷循環(huán),達到實時檢測執(zhí)行的目的。在主程序的設(shè)計中,需要注意的是,主函數(shù)中的代碼不要太多,具體的代碼通常是用函數(shù)封裝后在主函數(shù)中調(diào)用,這樣也方便閱讀和修改。具體流程如圖5-1所示。圖5-1主函數(shù)流程圖5.3LCD1602顯示函數(shù)的設(shè)計LCD1602只能根據(jù)制造商的時序要求嚴(yán)格編程才能顯示。LCD602的液晶顯示器需要先通過命令寫入要顯示的地方的地址,然后依次寫入數(shù)據(jù)。寫完地址后顯示第一個內(nèi)容后,地址會自動加1。函數(shù)名為lcd1602_write_character(ucharx,uchary,uchar*p),參數(shù)為x,y,*s,其中x,y表示液晶屏幕上的位置坐標(biāo),*s是要顯示的字符數(shù)組。軟件根據(jù)輸入要顯示的位置坐標(biāo)計算地址。顯示函數(shù)流程圖見5-2。圖5-2顯示子函數(shù)流程圖5.4DHT11溫濕度采集函數(shù)的設(shè)計DHT11的控制只需根據(jù)傳感器的單總線通信協(xié)議即可完成溫濕度的采集。起初,單片機發(fā)送開始信號,但隨后等待DHT11返回響應(yīng)信號。單片機收到響應(yīng)信號后,接收40位數(shù)據(jù)。數(shù)據(jù)包括8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)+8位校驗和數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)”所得結(jié)果的最后8位。具體流程如圖5-3所示。圖5-3DHT11溫濕度采集流程圖5.5ESP8266發(fā)送數(shù)據(jù)函數(shù)的設(shè)計首先設(shè)置AP和STA共存模式,然后連接設(shè)置好的WIFI熱點。連接成功后,將模塊設(shè)置為單連接,然后設(shè)置為串口模式,再連接到外網(wǎng)服務(wù)器,然后設(shè)置為發(fā)送數(shù)據(jù)模式,再寫入要發(fā)送的數(shù)據(jù)。ESP8266發(fā)送數(shù)據(jù)流程圖如圖5-4所示。圖5-4ESP8266發(fā)送數(shù)據(jù)流程圖5.6AT24C02讀/寫函數(shù)的設(shè)計AT24C02與單片機之間的通訊方式為IIC協(xié)議。因為51單片機沒有IIC協(xié)議接口,所以需要IO口來模擬IIC通訊協(xié)議。向AT24C02芯片讀寫數(shù)據(jù)只需要按照協(xié)議要求嚴(yán)格控制即可。寫數(shù)據(jù)的具體流程如圖5-5所示,讀數(shù)據(jù)的流程如圖5-6所示。圖5-5AT24C02寫數(shù)據(jù)流程圖圖5-6AT24C02讀數(shù)據(jù)流程圖
第6章功能實現(xiàn)6.1連接WIFI模塊ESP8266中設(shè)置為AP和STA共存模式,此時,在沒有路由器的條件下,打開用手機個人熱點和ESP8266進行連接,通過LCD液晶顯示屏顯示ESP8266中的地址和端口號,將其輸入手機APP進行連接。如果連接后,APP實時更新溫濕度,說明連接成功,如液晶顯示屏顯示Connectionfails,則連接失敗,再重新輸入。實驗實現(xiàn),如圖6-1連接界面。圖6-1連接界面6.2溫濕度與蜂鳴器、LED燈的顯示手機APP連接好后,實時更新溫濕度數(shù)值,通過獨立按鍵設(shè)置溫濕度范圍的固定值,超過固定值的范圍,蜂鳴器響起。溫度超出范圍,則紅色指示燈亮。濕度超出范圍,則黃色指示燈亮。實驗實現(xiàn),如圖6-2指示燈顯示。圖6-2指示燈顯示6.3APP遠程控制家用電器實驗沒有路由器,所以只能通過個人熱點連接來控制家電。此實驗通過USB接口的電風(fēng)扇和燈泡,將火線連接于繼電器,APP中輸入命令可打開繼電器,從而控制家用電器,也可通過獨立按鍵來操作,黃色指示燈亮,則說明繼電器打開。實驗實現(xiàn),如圖6-3,打開繼電器。圖6-3打開繼電器6.4部分代碼功能實現(xiàn)ESP8266的控制:codeucharCWJAP2[]="AT+CWJAP=\"ChinaNet-zrhU\",\"lin123456\"\r\n\0";codeucharCIPSTART[]="AT+CIPSTART=\"TCP\",\"115.29.109.104\",6594\r\n\0";ES=1;clearBuff(); lcd1602_write_character(0,2,"SetAPandSTA");ESP8266_send_string(CWMODE);while(!Hand("OK")&&key_skip);AT24C02的控制:voidAT24C02_write_date(ucharaddress,uchardate){AT24C02_start(); AT24C02_write(0xa0); AT24C02_respons(); AT24C02_write(address); AT24C02_respons(); AT24C02_write(date); AT24C02_respons(); AT24C02_stop(); AT24C02_delay(150);}DHT11的控制:voidDHT11_read(void){DHT11_DB=0; Delay_ms(20); DHT11_DB=1; Delay_us(60); if(!DHT11_DB) {DHT11_num=1; while(!DHT11_DB&&DHT11_num++); DHT11_num=1; while(DHT11_DB&&DHT11_num++); Humi_H=DHT11_receive(); Humi_L=DHT11_receive(); Temp_H=DHT11_receive(); Temp_L=DHT11_rec
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年會員運營策略與案例分析測試題
- 2026年經(jīng)濟數(shù)學(xué)建模與分析方法論研究應(yīng)用領(lǐng)域分析題庫試題
- 2025 小學(xué)二年級道德與法治上冊友好合作搭積木課件
- 2026年安全駕駛技能測試道路交通安全試題
- 2026年MBA數(shù)學(xué)預(yù)測模擬試題及答案解析
- 2026年中級服裝設(shè)計師作品鑒賞筆試題目
- 骨質(zhì)疏松護理中的社區(qū)服務(wù)
- 天使之生的閱讀指導(dǎo)課件
- 2026年武夷學(xué)院單招職業(yè)技能考試模擬試題含詳細答案解析
- 2026年廣東茂名幼兒師范??茖W(xué)校單招綜合素質(zhì)考試參考題庫含詳細答案解析
- 2026年無錫工藝職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫附答案解析
- 2026年中考語文一輪復(fù)習(xí)課件:記敘文類閱讀技巧及示例
- 2025腫瘤靶向藥物皮膚不良反應(yīng)管理專家共識解讀課件
- 腳手架施工安全技術(shù)交底標(biāo)準(zhǔn)模板
- 海姆立克急救課件 (完整版)
- 淘寶主體變更合同范本
- 2025中好建造(安徽)科技有限公司第二次社會招聘13人筆試歷年參考題庫附帶答案詳解
- 《交易心理分析》中文
- 護理創(chuàng)新實踐與新技術(shù)應(yīng)用
- 2025年海南事業(yè)單位聯(lián)考筆試筆試考題(真題考點)及答案
- 2025中國電信股份有限公司重慶分公司社會成熟人才招聘筆試考試參考題庫及答案解析
評論
0/150
提交評論