




已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
河南科技學(xué)院2015屆本科畢業(yè)論文(設(shè)計)論文題目:基于單片機(jī)的智能家居控制系統(tǒng)設(shè)計學(xué)生姓名:所在院系:機(jī)電學(xué)院所學(xué)專業(yè):電氣工程及其自動化導(dǎo)師姓名:完成時間:20015年5月13日摘要隨著物聯(lián)網(wǎng)時代的到來,人們對生活的質(zhì)量、效率的要求圖越來越高。本設(shè)計將自動控制及技術(shù)用于日常生活,來提高生活質(zhì)量,使人們擁有一個舒適,安全,方便的生活環(huán)境。智能家居,就是利用網(wǎng)絡(luò)技術(shù),自動控制技術(shù),軟件技術(shù)來實(shí)現(xiàn)一個家居設(shè)施的自動控制系統(tǒng),從而減少人對設(shè)備的控制,使人們的家居生活更加的舒適快捷。本次設(shè)計的智能家居控制系統(tǒng),目標(biāo)群體定位在普通人群,產(chǎn)品功能以實(shí)用為主,結(jié)合日常生活中人們的作息習(xí)慣,行為習(xí)慣,為人們提供一個靈活的、使用的、低成本的控制系統(tǒng)。關(guān)鍵詞:智能家居,自動化,控制AbstractWith the advent of the Internet of things era, peoples quality of life and the efficiency of the figure higher and higher.This design of automatic control and technology used in everyday life, to improve the quality of life, so that people have a comfortable, safe and convenient living environment. Smart home is the use of network technology, automatic control technology, software technology to achieve a home facility of the automatic control system, thus reducing human control of the device, making peoples home life more comfortable and efficient. The design of intelligent home control system, the target group positioning in the general population, product features mainly practical, combined with the routine of daily life, people, behavior, providing people with a flexible, use, low-cost control system.Key words: Smart home 、automatic、 control目錄第一章 緒論11.1 智能家居的發(fā)展背景11.2 國外發(fā)展?fàn)顩r11. 國內(nèi)發(fā)展?fàn)顩r11. 智能家居的發(fā)展展望21. 課題的研究內(nèi)容及安排2第三章智能家居控制系統(tǒng)的硬件設(shè)計3.智能家居控制系統(tǒng)的主控芯片3.串行通訊電路設(shè)計:5.溫度濕度傳感器的硬件設(shè)計5.光照強(qiáng)度傳感器的設(shè)計6.火險預(yù)警模塊7.入侵警告模塊8.GSM模塊設(shè)計與應(yīng)用10.2.4G無線通訊模塊10第四章 軟件開發(fā)124.1 LabVIEW上位機(jī)軟件設(shè)計124.1.1 LabVIEW基本控件介紹124.1.2 LabVIEW的基本函數(shù)介紹134.1.2 LabVIEW程序設(shè)計164.1.3 前面板美設(shè)計204.1.5 WEB發(fā)布設(shè)置214.2 嵌入式系統(tǒng)開軟件開發(fā)214.2.1 STM32CubeMX開發(fā)環(huán)境介紹214.2.2 MDK軟件開發(fā)環(huán)境224.2.3 光照強(qiáng)度傳感器BHV1750程序設(shè)計234.2.4 DHT11溫度濕度傳感器程序設(shè)計234.2.5 NRF24L01無線發(fā)射模塊程序設(shè)計244.2.6 TFTLCD程序設(shè)計25第五章 硬件測試265.1 手持設(shè)備信息顯示測試275.2 上位機(jī)軟件測試275.3 WEB控制系統(tǒng)測試28結(jié)束語28致謝28參考文獻(xiàn)29附錄30附錄1 智能家居控制系統(tǒng)原理圖:30附錄2 智能家居控制系統(tǒng)PCB圖:314第一章 緒論家庭居住是人們最基本的生活條件,一個舒適、高效、安全的居住環(huán)境會極大的提高人們的生活質(zhì)量。一般家庭條件下,家用電器雖然使用方便,但是要控制起來卻比較繁瑣,缺乏集中管理,也缺乏智能控制。最近幾年物聯(lián)網(wǎng)的發(fā)展,可穿帶設(shè)備的流行,使人們的生活方式、居家思維發(fā)生了一些轉(zhuǎn)變,人們對家居生活的質(zhì)量要求越來越高。最近市場上也出現(xiàn)了一些智能化的家用設(shè)備,如智能電視、無線溫度檢測等。將智能化這個概念引入到家庭生活,不僅是要使家居生活智能化,網(wǎng)絡(luò)化,自動化,還要,達(dá)到節(jié)約資源,提高生活效率的目標(biāo)。本著這樣的思想,智能家居控制系統(tǒng)開始一點(diǎn)點(diǎn)的形成了。智能家居控制系統(tǒng)的基本功能如下:家電統(tǒng)一管理:通過一個控制平臺,如手持設(shè)備,電腦等可以對所有的家用電器進(jìn)行控制;環(huán)境監(jiān)測:通過傳感器實(shí)時監(jiān)測環(huán)境的溫度、濕度、光照強(qiáng)度等信息;自動控制:檢測到周圍光照強(qiáng)度變化是能自動調(diào)節(jié)燈光,根據(jù)溫度、濕度信息自動控制空調(diào)的開關(guān),達(dá)到節(jié)能的目的;報警:當(dāng)檢測到可燃?xì)怏w濃度達(dá)到可引起危害的濃度時,家中無人值守又檢測到有外來人員入侵時發(fā)出警報,并以短信形式通知戶主;遠(yuǎn)程控制:可以通過網(wǎng)絡(luò)對該系統(tǒng)進(jìn)行控制;1.1 智能家居的發(fā)展背景世界上第一座智能建筑是位于美國康涅狄格州哈特佛市的CityBuilding,是美國聯(lián)合科技公司1984年的作品。該建筑體現(xiàn)了建筑設(shè)備信息化,整合化概念。從此以后便拉開了全世界爭相建造智能家居的序幕。1.2 國外發(fā)展?fàn)顩r首棟智能建筑出現(xiàn)后,智能家居的方案在西方多了起來,智能家居開始在經(jīng)濟(jì)發(fā)達(dá)的地區(qū)廣發(fā)應(yīng)用。1998年5月,新加坡發(fā)布了新加坡模式的家庭智能化系統(tǒng)。這套系統(tǒng)功能完善,具有抄表、安防、對講、監(jiān)控、智能控制等功能。國外電子技術(shù)較為發(fā)達(dá),智能家居控制系統(tǒng)產(chǎn)品也較為成熟,主要產(chǎn)品有美國的X-10系統(tǒng)、德國的EBI系統(tǒng)、西家破的X8系統(tǒng),但是由于國外的生活環(huán)境和生活理念與國內(nèi)人民不同,并且其靈活性和可選擇性有局限,不適合我國應(yīng)用。1. 國內(nèi)發(fā)展?fàn)顩r智能家居在中國發(fā)展較晚,主要經(jīng)歷了四個階段:萌芽期(1994年-1999年):概念熟悉,但沒有專業(yè)的智能家居的生產(chǎn)廠商,主要代理國外的產(chǎn)品從事零售業(yè)務(wù)。開創(chuàng)期(2000年-2005年):國內(nèi)智能家居企業(yè)逐漸發(fā)展、完善,國內(nèi)企業(yè)逐漸占據(jù)國內(nèi)市場。徘徊期(2006年-2010年):由于市場的不良生長和惡性競爭導(dǎo)致智能家居行業(yè)造成了很多的負(fù)面影響,一些廠家夸大產(chǎn)品點(diǎn)的功能、廠商只顧營銷而忽略了技術(shù)培訓(xùn)和研發(fā),導(dǎo)致產(chǎn)品不穩(wěn)定,用戶投訴率過高,用戶和媒體開始對該行業(yè)持懷疑態(tài)度。大約有20多家企業(yè)退出智能家居行業(yè)。融合演變期(2011年-2020年):由于房地產(chǎn)受調(diào)控,智能家居行業(yè)有增長的勢頭。隨著物聯(lián)網(wǎng)的額發(fā)展,可穿戴設(shè)備的流行,智能家居行業(yè)的技術(shù)性難題也隨之攻克。就目前市場來看,大多數(shù)企業(yè)提供的是整棟樓房的智能家居解決方案,而面向個人家庭的智能家居解決方案也開始展露頭腳。1. 智能家居的發(fā)展展望結(jié)合現(xiàn)在非常成熟的互聯(lián)網(wǎng)技術(shù),物聯(lián)網(wǎng)技術(shù),智能家居的發(fā)展方向?qū)梢韵聨c(diǎn):網(wǎng)絡(luò)化?,F(xiàn)在人們的生活已經(jīng)與網(wǎng)絡(luò)密不可分,人們通過智能手機(jī)鏈接到互聯(lián)網(wǎng)獲取信息。無論是短距離無線,還是移動網(wǎng)絡(luò)、互聯(lián)網(wǎng)等傳輸方式,智能家居的網(wǎng)絡(luò)化是必然的。模塊化。模塊化設(shè)計師智能家居控制系統(tǒng)變得更加靈活,方便日后的維護(hù)。標(biāo)準(zhǔn)化。當(dāng)市場智能家居控制系統(tǒng)標(biāo)準(zhǔn)統(tǒng)一后,不同廠家的產(chǎn)品兼容性可以大大增強(qiáng),豐富系統(tǒng)功能。人性化。智能家居控制系統(tǒng)的目的就是讓人們的日常生活更加的方便、舒適、快捷、高效。綠色化。智能家居控制系統(tǒng)原則上應(yīng)當(dāng)做到節(jié)能、環(huán)保。 1. 課題的研究內(nèi)容及安排本課題設(shè)計的智能家居控制系統(tǒng)主要面向一般家庭用戶,使用戶對設(shè)備的控制精良的簡單,靈活,同時達(dá)到節(jié)能的效果,為用戶創(chuàng)造一個安全舒適,高效的生活環(huán)境。本文第一章緒論主要介紹智能家居行業(yè)的發(fā)展背景和情況;第二章主要介紹系統(tǒng)的總體設(shè)計方案,各種技術(shù)及其原理;第三章對硬件設(shè)計進(jìn)行分析,第四章介紹軟件的開發(fā)環(huán)境及各種軟件的開發(fā)流程;第五章進(jìn)行系統(tǒng)的測試;第六章進(jìn)行總結(jié)。第二章 智能家居控制系統(tǒng)的總體設(shè)計2.1 系統(tǒng)總體描述控制系統(tǒng)以意法半導(dǎo)體公司的32位的嵌入式控制芯片作為主控芯片,外接溫度/濕度傳感器、紅外熱釋電傳感器、煙霧傳感器來對家居環(huán)境進(jìn)行檢測,主控芯片接收數(shù)據(jù)并進(jìn)行分析處理,若有警報事件發(fā)生,主控芯片便通過GSM模塊TC35發(fā)送相關(guān)信息到用戶手機(jī)上,通知用戶。數(shù)據(jù)通過2.4G方式發(fā)射,接收端接收到數(shù)據(jù)后傳輸給STM8單片機(jī),單片機(jī)處理數(shù)據(jù)后通過串口傳給上位機(jī)。Labview開發(fā)的上位機(jī)收到數(shù)據(jù)后進(jìn)行處理、顯示。利用Labview的WEB發(fā)布功能,用戶可以通過互聯(lián)網(wǎng)對該系統(tǒng)進(jìn)行控制。用戶也可以通過上位機(jī)對該系統(tǒng)進(jìn)行控制。本系統(tǒng)模塊圖如圖 1所示。圖 1智能家居控制系統(tǒng)模塊圖 上位機(jī)USB轉(zhuǎn)串口STM8微控制器NRF24L01NRF24L01紅外傳感器煙霧傳感器光強(qiáng)傳感器濕度傳感器溫度傳感器RS232STM32微控制器家電控制模塊電燈空調(diào)洗衣機(jī)加濕器電視GSM圖智能家居控制系統(tǒng)模塊圖2.2系統(tǒng)的結(jié)構(gòu)體系本智能家居控制系統(tǒng)的結(jié)構(gòu)體系有下位機(jī)、上位機(jī)和通訊模塊三部分組成。上位機(jī)運(yùn)行于用戶計算機(jī)上,基于Labview開發(fā),需要NI-VISA驅(qū)動支持。本上位機(jī)軟件通過串口與用戶設(shè)備進(jìn)行通訊,將采集到的數(shù)據(jù)實(shí)時顯示到軟件界面上,并提供數(shù)據(jù)警報和一些簡單的控制功能。 下位機(jī)是用戶設(shè)備,負(fù)責(zé)信息的采集、設(shè)備的控制、信息的收發(fā)等。該部分是本設(shè)計最為核心的部分,采用了32位單片機(jī)作為主控芯片,并配合各種傳感器進(jìn)行協(xié)同工作。通訊部分包括2.4GHz無線通訊,GSM無線通訊、WEB遠(yuǎn)程控制三個部分。其中2.4GHz模塊使用NRF24L01,主要用于單片機(jī)和上位機(jī)接收端單片機(jī)進(jìn)行通訊;GSM模塊使用TC35,用與單片機(jī)和用戶手機(jī)之間進(jìn)行通訊;WEB端基于Labview,用于實(shí)現(xiàn)用戶的遠(yuǎn)程控制。2.3 系統(tǒng)的主要功能本智能家居控制系統(tǒng)設(shè)計主要對家庭的信息進(jìn)行采集,然后以無線形式傳送數(shù)據(jù)到PC端控制器,PC端控制器通過串口將采集的信息發(fā)送給上位機(jī)。系統(tǒng)的主要功能如下:(1)溫度和濕度的檢測功能:檢測室內(nèi)溫濕度信息,當(dāng)溫度或適度不合適時自動打開空調(diào)或加濕器。(2)煙霧報警功能:利用煙霧傳感器檢測室內(nèi)可燃?xì)怏w濃度,當(dāng)濃度超過警報值時發(fā)出報警。(3)入侵檢測功能:當(dāng)無人看守且發(fā)現(xiàn)指定區(qū)域有可疑紅外光時發(fā)出警報。(4)光照強(qiáng)度檢測:根據(jù)光照強(qiáng)度自動調(diào)節(jié)燈光亮度。(5)遠(yuǎn)程控制功能:通過GSM實(shí)現(xiàn)發(fā)送室內(nèi)狀態(tài)到用戶手機(jī),用戶也可以通過手機(jī)對室內(nèi)硬件進(jìn)行控制。(6)WEB遠(yuǎn)程控制:通過網(wǎng)絡(luò)瀏覽器對家居信息進(jìn)行監(jiān)控。第三章智能家居控制系統(tǒng)的硬件設(shè)計.智能家居控制系統(tǒng)的主控芯片 8位單片機(jī)價格便宜,供貨穩(wěn)定,不同廠家的產(chǎn)品兼容性較好,但是8位單片機(jī)功能單一,功耗較大,速度越來越不適應(yīng)現(xiàn)在的各種信號處理;32位單片機(jī)功能強(qiáng)大,功耗低,相關(guān)的數(shù)據(jù)資料也非常豐富,對于開發(fā)和后期的維護(hù)都非常的方便?,F(xiàn)在的一部分中高端32位單片機(jī)已經(jīng)具備了基本的數(shù)字信號處理的功能,所以本次設(shè)計選擇使用32位單片機(jī)作為主控芯片。本智能家居控制系統(tǒng)的主控芯片為基于ARM CROTEX-M3架構(gòu)的32位單片機(jī)STM32F103ZET6。該芯片具有以下特點(diǎn):基于ARM32位的CROTEX-M3 CPU;最高72MHz的工作頻率;單周期乘法和硬件除法;512KROM,64KRAM,可驅(qū)動SRAM、NAND FLASH、NOR FLASH,并行LCD接口。有睡眠、停機(jī)、待機(jī)模式,有高速內(nèi)部晶振和低俗內(nèi)部晶振。本設(shè)計采用220V交流電進(jìn)行供電。由于主控芯片和一些傳感器的標(biāo)準(zhǔn)工作電壓在5V和3.3V左右,所以需要對220V電源進(jìn)行轉(zhuǎn)換。本設(shè)計使用一個變壓器完成降壓工作,將220V交流電降為12V交流電,然后經(jīng)過橋式整流電路進(jìn)行整流,用一個50uf的電容進(jìn)行濾波,使用1N4733穩(wěn)壓得到5V電壓。本設(shè)計使用ASM1117-3.3來完成5V轉(zhuǎn)3.3V電壓的工作。ASM1117-3.3輸入電壓5V,輸出電壓3.3V,可驅(qū)動低于1A的負(fù)載,足以驅(qū)動本設(shè)計的各種電子器件。該芯片穩(wěn)定工作溫度在-65-150,所以無需散熱即可滿足設(shè)計要求。本設(shè)計供電電路如圖 2所示。圖 2智能家居控制系統(tǒng)的供電電路電子產(chǎn)品工作是容易受周圍環(huán)境的干擾,在出現(xiàn)受到干擾工作不穩(wěn)定的情況的時候,需要通過復(fù)位來實(shí)現(xiàn)系統(tǒng)的重新運(yùn)行。通過參考ST公司的官方數(shù)據(jù)手冊,采用按鍵的方式進(jìn)行系統(tǒng)的復(fù)位設(shè)計。通過對RESET引腳輸入一個足夠?qū)挼南陆笛孛}沖,系統(tǒng)將重新開始運(yùn)行。本系統(tǒng)復(fù)位電路如圖 3所示。圖 3 主控單片機(jī)的復(fù)位電路IO口資源的分配:STM32F103ZET6共有144個引腳,7組通用輸入輸出端口,出去一些用作特殊功能的IO口外,有70多個引腳可以供我們自由使用。為了軟件上設(shè)計的方便,可以將使用各種通訊協(xié)議的傳感器與單片機(jī)對應(yīng)的引腳相聯(lián)。NRF24L01使用SPI協(xié)議進(jìn)行數(shù)據(jù)傳輸,可以將其連接到單片機(jī)的SPI2口上;BH1750使用IIC總線協(xié)議進(jìn)行數(shù)據(jù)傳輸,可以將其連接到單片機(jī)的IIC接口上。但是由于ST公司設(shè)計的IIC接口控制過于復(fù)雜,低速率、中斷低優(yōu)先級情況下Bug較多,所以現(xiàn)使用軟件模擬IIC與BH1750進(jìn)行通訊;紅外熱釋電傳感器與煙霧報警器以高低電平來指示工作的狀態(tài),所以可以使用普通IO口與其直接相連。LCD接口使用8086通訊的標(biāo)準(zhǔn),與FMSC控制SRAM的方式非常類似,所以可以LCD的16位數(shù)據(jù)線連接到FMSC相應(yīng)的接口上。.串行通訊電路設(shè)計: 串行通訊是應(yīng)用的比較廣泛的一種通訊協(xié)議,不管是8位的單片機(jī)還是32位的單片機(jī),或者是DSP都有串行通訊接口。串行通訊具有接線少,協(xié)議簡單,使用廣泛的特點(diǎn)。由于現(xiàn)在的計算機(jī)大多數(shù)都已取消串口,而以USB2.0接口替代,所以本設(shè)計用USB轉(zhuǎn)串口TTL電路使單片機(jī)與計算機(jī)之間進(jìn)行通訊。 CH340一款USB轉(zhuǎn)串口芯片,電腦上安裝好驅(qū)動后,計算機(jī)便可以識別出該芯片并分配一個串口。 CH340外圍器件只需要晶體和電容,支持本設(shè)計采用的3.3V電壓源,成本低,兼容性強(qiáng)。該芯片可以工作在全雙工模式下,也可工作與異步模式下,而且內(nèi)部具有數(shù)據(jù)存儲器作為緩沖區(qū),可以用常用的波特率與單片機(jī)通訊。;支持多種類型的數(shù)據(jù)位,支持奇偶校驗(yàn)位,空白、標(biāo)志、以及無校驗(yàn)位。圖 4 轉(zhuǎn)串口電路當(dāng)我們使用CH340T與單片機(jī)進(jìn)行通訊時,我們只需要提供芯片的工作電源,晶振和一些電容即可。芯片內(nèi)部已經(jīng)接有USB上拉電阻,無需外接。參考官方的數(shù)據(jù)手冊,芯片所需外部晶振為12MHz,兩個對地小電容的容量應(yīng)為20p。在電源線和地線之間應(yīng)連接一個0.1uf的電容來抵抗電源波動,提高芯片的穩(wěn)定性。CH340T的串口數(shù)據(jù)輸入端、串口數(shù)據(jù)輸出端應(yīng)直接連到單片機(jī)的串口的發(fā)送與接收端。該芯片外圍電路如圖 4所示。.溫度濕度傳感器的硬件設(shè)計溫度與濕度的采集有多種方式,根據(jù)其信號的輸出方式可分為模擬類和數(shù)字累兩塊。模擬類的采集原件常見的有電阻式溫濕度傳感器,這類的傳感器原件一般用于工業(yè)設(shè)備的自動控制,通過配合一些模擬電路來實(shí)現(xiàn)自動控制的效果,易受周圍的環(huán)境干擾,不適合用來做顯示方面;而數(shù)字式傳感器將要采集的信息直接轉(zhuǎn)換為數(shù)字信號,通過特定的協(xié)議與單片機(jī)或數(shù)字信號處理器進(jìn)行通訊,處理器可以非常方便的使用這些信號進(jìn)行處理、顯示。對于家庭溫度和濕度的采集,精度要求不高,實(shí)時性要求也不強(qiáng),所以可以選取一般的、性價比較高的原件來進(jìn)行溫度和濕度的測量。DHT11數(shù)字溫度濕度傳感器是一款復(fù)合溫度和濕度的傳感器原件,每個DHT11出廠前都在極為精確的溫濕度校驗(yàn)室中進(jìn)行校準(zhǔn),校準(zhǔn)參數(shù)保存在芯片內(nèi)部的存儲芯片上,傳感器在檢測信號時會調(diào)用這些參數(shù),以確保傳感器的高度可靠性和長期穩(wěn)定性。該芯片測量濕度范圍在20%-90%,溫度范圍0-50,足以滿足家庭測溫的需要。該器件單價4.5人民幣,性價比非常高,所以本次設(shè)計采用DHT11來采集溫度與濕度信息。DHT11只需要一根數(shù)據(jù)線便可以和單片機(jī)進(jìn)行通訊。一次通訊獲得5字節(jié)的數(shù)據(jù),2字節(jié)的溫度數(shù)據(jù)2字節(jié)的適度數(shù)據(jù)。若前4字節(jié)的和的最后8位與校驗(yàn)和相等,則數(shù)據(jù)正確;若不相等,則應(yīng)舍棄本次讀數(shù)。DHT11與單片機(jī)的連接如圖 5所示。圖 5 DHT11與單片機(jī)接口.光照強(qiáng)度傳感器的設(shè)計本次設(shè)計使用BH1750來檢測室內(nèi)的光照強(qiáng)度,單片機(jī)獲取到光照強(qiáng)度數(shù)據(jù)后進(jìn)行處理,通過PWM波驅(qū)動可控硅來控制LED燈的發(fā)光強(qiáng)度。BH1750FVI是光照強(qiáng)度傳感器的集成電路,使用IIC協(xié)議與單片機(jī)進(jìn)行通訊,可探測的光照強(qiáng)度的范圍為1lx-65535lx。無需其他外部器件,它可與單片機(jī)直接拿進(jìn)行連接。該芯片對光源的依賴性弱,可檢測白熾燈、熒光燈、白光LED和日光燈等。該芯片工作于2.4V-3.6V電源電壓下,工作溫度-40-80,受紅外光影響較小,適合家庭環(huán)境下光照強(qiáng)度的采集。BH1750FVI進(jìn)行光照轉(zhuǎn)化的框圖如圖 6所示:圖 6 BH1750內(nèi)部結(jié)構(gòu)圖當(dāng)外界的光照強(qiáng)度改變時,接近人眼反應(yīng)的光敏二極管PD的電流也隨之改變,運(yùn)算放大器AMP將流經(jīng)光敏二極管的電流轉(zhuǎn)換為電壓,然后將該電壓進(jìn)行模數(shù)轉(zhuǎn)換并獲取16位數(shù)字?jǐn)?shù)據(jù),通過IIC接口電路將這16位數(shù)據(jù)發(fā)送出去。BH1750HVI的測量方式分為單次測量和連續(xù)測量兩種,可以通過寫入相應(yīng)的控制命令來進(jìn)行控制。本設(shè)計使用的是單次測量的模式。該芯片還可以設(shè)置不同的測量分辨率,但是需要注意的是,不同分辨率下芯片的測量時間又有所不同,在測量的時候一定要等待足夠的時間,以免讀出錯誤數(shù)據(jù)。單片機(jī)讀取到光照強(qiáng)度據(jù)后進(jìn)行處理,然后設(shè)置不同的PWM波的占空比,來讓燈光穩(wěn)定在一定能的范圍內(nèi)。.火險預(yù)警模塊現(xiàn)在家庭中廣泛使用液化石油氣和天然氣,這些氣體發(fā)生泄露時往往不宜被人覺察,碰到明火或靜電引起的火花時便容易引起爆炸,發(fā)生火災(zāi);即使沒有發(fā)生火災(zāi),這些氣體也容易使人中毒,陷入昏迷狀態(tài)。MQ-2氣體傳感器可以對家庭生活中的多種可燃?xì)怏w進(jìn)行檢測,其原理是根據(jù)其氣敏材料的導(dǎo)電率在不同濃度的可燃?xì)怏w下變化。通過模數(shù)轉(zhuǎn)化,可以得到可燃?xì)怏w濃度。表1 標(biāo)準(zhǔn)工作條件符號參數(shù)名稱技術(shù)條件 Vc 回路電壓24V VH加熱電壓5.0V0.2V RL負(fù)載電阻可調(diào) RH加熱電阻313 PH加熱功耗900mW敏感體功耗(Ps)的計算: Ps=Vc2Rs/(Rs+RL)2傳感器電阻(Rs)的計算:Rs=(Vc/VRL-1)RL本次設(shè)計主要注重于報警功能,當(dāng)室內(nèi)可燃?xì)怏w濃度達(dá)到一定值時,直接發(fā)出警報即可,可用以下電路實(shí)現(xiàn)。如圖 7所示,MQ-2的第4引腳輸出模擬信號到運(yùn)算放大器的反相輸入端,通過調(diào)節(jié)RP的阻值可以調(diào)節(jié)運(yùn)算放大器同相輸入端的電壓,當(dāng)MQ-2輸出的模擬信號電壓大于運(yùn)算放大器的同相端輸出電壓時,該模塊便輸出低電平,LED燈亮,MCU檢測到低電平后向上位機(jī)發(fā)出報警信號。圖 7 煙霧傳感器報警電路.入侵警告模塊當(dāng)無人在家而又有其他人員進(jìn)入房間時,系統(tǒng)需要能發(fā)出警報,并以短信形式通知戶主。本次設(shè)計選用對人體紅外光較為敏感的紅外熱釋電傳感器進(jìn)行信息采集,在系統(tǒng)開啟入侵檢測的情況下,當(dāng)傳感器感應(yīng)到有人時,向主控單片機(jī)發(fā)出信號,單片機(jī)收到信號以后驅(qū)動蜂鳴器報警,并通過GSM模塊發(fā)送報警短信到指定的手機(jī)號碼。本設(shè)計采用BIS0001這款專門處理傳感器信號的集成電路芯片來處理紅外熱釋電傳感器信號。BIS0001內(nèi)部框圖如圖 8所示:圖 8 BIS0001內(nèi)部框圖從芯片的內(nèi)部框圖可以看到,BIS0001是有比較器,運(yùn)放,狀態(tài)控制器和封鎖定時器,定時器構(gòu)成的數(shù)模混合的集成電路。VC的值決定了芯片是否進(jìn)入延時周期 。A端為可重復(fù)觸發(fā)和不可重復(fù)觸發(fā)的選擇端。本次設(shè)計的入侵警報系統(tǒng)使用的是該芯片的可重復(fù)觸發(fā)方式,所以將A端接高電平即可。電路原理圖如圖11所示。紅外熱釋電傳感器的信號經(jīng)過運(yùn)放放大和再經(jīng)過鑒幅器處理,當(dāng)檢測到有效觸發(fā)信號是,Vs啟動延時時間定時器,由第二引腳輸出有效信號。JP1與1端聯(lián)通時工作于可重復(fù)觸發(fā)狀態(tài)。電位器RL2可以用來調(diào)節(jié)運(yùn)算放大器的增益,電位器RT1用來調(diào)節(jié)觸發(fā)封鎖時間,值為:Ti=24*RT1*CY1;輸出延遲時間有R33和CY2共同決定,值為:Tx=24576*R33*CY2;本紅外熱釋電報警電路如圖 9所示。當(dāng)有人在紅外熱釋電傳感器模塊的檢測范圍時,立刻觸發(fā)該模塊持續(xù)輸出高電平,當(dāng)紅外信號消失后,該高電平持續(xù)一段時間后變?yōu)榈碗娖?。該電路設(shè)計使BIS0001工作在可重復(fù)觸發(fā)的模式下。圖 9 紅外熱釋電電路.GSM模塊設(shè)計與應(yīng)用現(xiàn)在GSM技術(shù)已經(jīng)非常成熟,在遠(yuǎn)程監(jiān)控、移動電話、POS機(jī)等移動領(lǐng)域都能見到它的應(yīng)用。TC35是西門子公司的一款GSM模塊,支持短信的收發(fā),語音和傳真的發(fā)送和收受。具有音頻接口,并通過RS232接口提供控制功能。GSM模塊與單片機(jī)接口電路如圖 10所示。單片機(jī)只需用一組串口與之相連,通過發(fā)送簡單的AT指令便可以實(shí)現(xiàn)短信的收發(fā)。圖 10 GSM與單片機(jī)接口對于AT指令,現(xiàn)對本設(shè)計中使用到的幾條作簡單介紹(1)AT:用于檢測TC35模塊是否就緒。若該模塊就緒,則該模塊收到指令后應(yīng)答“OK”;(2)AT+ISP=XXXX:設(shè)置單片機(jī)與該模塊通訊的波特率,默認(rèn)是9600;(3)AT+CMGF=1:設(shè)置GSM模塊的短信模塊為TEXT模式,在該模式下只可發(fā)送英文,但是無需編碼;(4)AT+CMGS=:設(shè)置短信接收號碼若GSM模塊工作正常,則該模塊應(yīng)答“”;確認(rèn)模塊得到應(yīng)答之后,則可輸入短信內(nèi)容。(5)1A:短信結(jié)束符,必須以十六進(jìn)制方式發(fā)送。模塊接收到結(jié)束符后,把短信發(fā)送到指定號碼。.2.4G無線通訊模塊為了使智能家居控制系統(tǒng)布線方便,現(xiàn)使用NRF24L01模塊進(jìn)行下位機(jī)和上位機(jī)之間的數(shù)據(jù)傳輸。NRF24L01是挪威設(shè)計的一款工作于2.4GHz頻段下的短距離無線收發(fā)芯片。該芯片有五個通道,支持一對多通訊,具有自動應(yīng)答功能。該芯片一次可以發(fā)送最大32個字節(jié)的數(shù)據(jù)。該芯片使用SPI通訊協(xié)議與單片機(jī)進(jìn)行通訊,只需通過單片機(jī)配置該芯片的相關(guān)寄存器,便能實(shí)現(xiàn)無線發(fā)送與接收。該芯片與單片機(jī)的接口電路如圖 11。圖 11 NRF24L01與單片機(jī)接口使用該芯片進(jìn)行數(shù)據(jù)發(fā)送時,需要按一下步驟對芯片進(jìn)行初始化:(1)寫發(fā)送的節(jié)點(diǎn)地址;(2)寫發(fā)送端的節(jié)點(diǎn)地址;(3)使能芯片的自動應(yīng)答功能;(4)配置芯片的自動重發(fā)次數(shù);(5)設(shè)置芯片的通信頻率;(6)配置發(fā)射參數(shù);(7)配置接收通道0有效數(shù)據(jù)寬度;(8)切換芯片的工作模式;圖 12 NRF24L01模塊原理圖初始化完成之后,將制定數(shù)據(jù)寫入到發(fā)送緩沖器中,拉高CE,芯片將進(jìn)行數(shù)據(jù)的發(fā)送。將該模塊配置為接受模式的初始化過程:(1)寫接收端的節(jié)點(diǎn)地址;(2)寫發(fā)送端的節(jié)點(diǎn)地址;(3)使能芯片的自動應(yīng)答功能;(4)配置芯片的自動重發(fā)次數(shù);(5)設(shè)置芯片的通信頻率;(6)配置發(fā)射參數(shù);(7)配置接收通道0有效數(shù)據(jù)寬度;(8)切換芯片的工作模式;配置完成后,芯片將工作在接受模式下。一旦捕獲到有效的數(shù)據(jù)包,芯片的中斷輸出引腳輸出低電平,單片機(jī)檢測到低電平后讀狀態(tài)寄存器的值,判斷是否接收到有效數(shù)據(jù),若接收到數(shù)據(jù),則讀出接收到的數(shù)據(jù)。第四章 軟件開發(fā)4.1 LabVIEW上位機(jī)軟件設(shè)計LabVIEW是美國國家儀器公司開發(fā)一款圖形化編程軟件。LabVIEW容易上手,有C基礎(chǔ)的人員只需學(xué)習(xí)幾個相關(guān)的例程,便可以快速的進(jìn)行簡單的軟件開發(fā)。軟件內(nèi)置豐富的圖形控件,包括多種多樣的數(shù)學(xué)函數(shù),并且支持多種操作系統(tǒng),實(shí)時操作系統(tǒng)和嵌入式設(shè)備。串口是現(xiàn)在大部分MCU都具有的硬件功能,串行口的使用也比較方便,只需要設(shè)置好數(shù)據(jù)長度,波特率,等相關(guān)參數(shù)兩個硬件設(shè)備便能進(jìn)行通訊。在此設(shè)計中使用串行口將數(shù)據(jù)發(fā)送到上位機(jī),LabVIEW接收到串口發(fā)來的數(shù)據(jù)后進(jìn)行分析處理,顯示。4.1.1 LabVIEW基本控件介紹LabVIWE有豐富的圖形控件和函數(shù),可以滿足程序開發(fā)人員的基本需要。下面對本設(shè)計所用到的部分控件作簡要介紹。LabVIWE布爾控件主要用來輸出和顯示布爾值。控件外形見圖 13。按鈕、開關(guān)類控件只有在外形上有所不同,功能上都是一致的,用于輸出“T(1)”或“F(0)”,該類控件在程序圖中只有一個輸出端;指示燈類控件用于指示所連接數(shù)據(jù)的布爾值,該類控件在程序圖中只有一個輸入端。圖 13 布爾控件LabVIWE的數(shù)值輸入控件用來輸入指定精度的數(shù)值。該類控件在前面板上有一個輸入框或滑塊,用來調(diào)整數(shù)值大小,在程序框圖里面只有一個輸出端,由于輸出指定的數(shù)值,如圖 14所示。圖 14 數(shù)值控件LabVIEW的字符串控件包括字符串顯示控件、字符串輸入控件、文件路徑控件等,如圖 15所示。本設(shè)計主要用了字符串輸出與顯示兩類控件。字符串輸入控件用于用戶輸如字符串,字符串顯示控件則用于顯示指定的字符串。圖 15 字符串控件LabVIEW的數(shù)組、矩陣和簇控件用于創(chuàng)建新的數(shù)組、矩陣、簇,如圖 16所示。本設(shè)計中主要使用了數(shù)組控件。使用數(shù)組控件可以方便的創(chuàng)建某一數(shù)據(jù)類型的一維或多維數(shù)組,配合程序上提供的多種數(shù)據(jù)處理函數(shù),以及豐富多彩的顯示控件,可以方便的開發(fā)出功能強(qiáng)大的應(yīng)用程序。 圖 16 數(shù)組控件4.1.2 LabVIEW的基本函數(shù)介紹LabVIEW雖然編程上沒有像使用高級語言那么靈活,但是其豐富的函數(shù)足以滿足自動控制需要。更重要的是,LabVIEW提供了多種硬件的驅(qū)動程序,比如GPIB、以太網(wǎng)、串口等,有了這些驅(qū)動程序,我們便可以通過圖形化程序控制這些硬件。但是無論是圖形化編程還是高級語言編程,都必須了解硬件的參數(shù)。下面對本設(shè)計中使用的函數(shù)作簡要介紹。編程結(jié)構(gòu)函數(shù):和C語言一樣,LabVIEW中也有循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)、順序結(jié)構(gòu)等、甚至還有延時函數(shù)如圖 17所示。其用法和C語言基本上保持一致,F(xiàn)or循環(huán)框內(nèi)有兩個重要參數(shù)i和n,當(dāng)i等于0事終止循環(huán),n為循環(huán)計數(shù);While循環(huán)中有一個重要參數(shù),即While循環(huán)框內(nèi)的紅點(diǎn)。通過控制與該點(diǎn)相連的值的真假來決定循環(huán)是否進(jìn)行。圖 17 編程結(jié)構(gòu)函數(shù)數(shù)組函數(shù):數(shù)組函數(shù)用于處理數(shù)組和矩陣數(shù)據(jù),功能包括數(shù)組的拆分、替換、索引、大小等,以及矩陣的轉(zhuǎn)制、矩陣與數(shù)組之間的轉(zhuǎn)化、數(shù)組與簇之間的轉(zhuǎn)化等,如圖 18所示。本設(shè)計中使用了多個數(shù)組函數(shù),用于處理傳感器的數(shù)據(jù)以及上位機(jī)發(fā)送控制數(shù)據(jù)。圖 18 數(shù)組函數(shù)數(shù)值函數(shù):數(shù)值函數(shù)用于數(shù)據(jù)的處理,功能包括基本的加、減、乘、除,編程常用的自加、自減運(yùn)算,還有一些去整、平方函數(shù),數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)操作函數(shù),如圖 19所示。圖 19 數(shù)值函數(shù)布爾函數(shù):布爾類型的數(shù)據(jù)在編程中有著重要的地位,它經(jīng)常被用來指示一個狀態(tài)或用來控制開關(guān)量。本設(shè)計中大量的使用了布爾控件,也用到了一些布爾函數(shù)。對于不同功能的函數(shù)其輸入端的個數(shù)也不同。編程時只需要將需要處理的數(shù)據(jù)連接至相應(yīng)的輸入端,輸出端便會輸出指定類型的結(jié)果。利用輸出端輸出的結(jié)VISA串口函數(shù):VISA串口函數(shù)用于控制串口。本設(shè)計使用了串口作為單片機(jī)與上位機(jī)的通訊接口,所以該串口函數(shù)在本次上位機(jī)程序中有著重要的作用。串口函數(shù)主要有以下幾個,如圖 20所示:圖 20 VISA函數(shù)VISA配置串口:用于配置串口的波特率、數(shù)據(jù)長度、停止位、奇偶校驗(yàn)、流控制等。該部分設(shè)置需要與單片機(jī)的串口設(shè)置保持一致。VISA寫入串口緩沖區(qū):將制定的數(shù)據(jù)寫入串口緩沖區(qū)。寫入完成后,串口將發(fā)送寫入的數(shù)據(jù)。VISA讀取串口緩沖區(qū):讀取串口接收到的數(shù)據(jù)。VISA關(guān)閉串口:釋放串口資源。當(dāng)應(yīng)用程序結(jié)束時需要調(diào)用這個函數(shù),否則會造成計算機(jī)串口工作不正常。4.1.2 LabVIEW程序設(shè)計本上位機(jī)程序設(shè)計依托于串口通信,上位機(jī)驗(yàn)證口令后監(jiān)視串口緩沖區(qū)數(shù)據(jù),接收到數(shù)據(jù)后按照流程對數(shù)據(jù)進(jìn)行處理、顯示。當(dāng)上位機(jī)發(fā)送控制命令時,開始運(yùn)行登陸?等待輸入用戶口令口令正確?收到數(shù)據(jù)?等待處理顯示發(fā)送命令?寫串口數(shù)據(jù)關(guān)閉串口初始化串口是否是否否是是否否是程序便向串口緩沖區(qū)寫入指定的數(shù)據(jù)發(fā)給單片機(jī)。程序工作流程如圖 21所示:圖 21 上位機(jī)工作流程圖(1)登陸系統(tǒng):利用輸入控件,比較控件與顯示對話框控件來實(shí)現(xiàn)用戶輸入的用戶名和密碼的驗(yàn)證,若輸入錯誤則不可以獲取家居信息并進(jìn)行控制,并在屏幕上顯示;若正確則可以獲取家居信息并進(jìn)行控制;點(diǎn)擊“退出”按鈕則退出智能家居控制系統(tǒng),程序圖如圖 22所示。圖 22 登陸系統(tǒng)程序圖(2)初始化串口::利用labview控件選項(xiàng)卡中的VISA資源名控件來制定進(jìn)行通訊的串口號,利用函數(shù)選項(xiàng)卡中的儀器IO/VISA配置串口函數(shù)來設(shè)置串口的波特率、數(shù)據(jù)比特、奇偶校驗(yàn)、停止位和流控制。這些數(shù)據(jù)需要和發(fā)送數(shù)據(jù)的硬件設(shè)置保持一致。程序圖如圖 23所示。圖 23 初始化串口和彈出式對話框圖 24 判斷是否收到數(shù)據(jù)程序圖(3)接收數(shù)據(jù):判斷串口緩沖區(qū)數(shù)據(jù)是否為零,若不為零則表示接收到數(shù)據(jù)。程序圖如圖 24所示。圖 25 數(shù)據(jù)處理(4)數(shù)據(jù)處理:對串口緩沖區(qū)的數(shù)據(jù)進(jìn)行判斷,分析,得到各個傳感器的數(shù)據(jù),然后進(jìn)行數(shù)據(jù)轉(zhuǎn)換,顯示到前面板上;若數(shù)值超過報警值則顯示報警信息。程序圖如圖 25所示。(5)串口關(guān)閉:數(shù)據(jù)處理完成,關(guān)閉串口,減少資源的占用;(6)控制系統(tǒng):點(diǎn)擊布爾型控件按鈕,寫入指定數(shù)據(jù)到串口緩沖區(qū),串口發(fā)送數(shù)據(jù);程序圖如圖 26所示。4.1.3 前面板設(shè)計利用labview自定義控件的功能可以制作出很多漂亮的控件。同時,該軟件還內(nèi)置了多種前面板修飾工具,我們可以很方便的在前面板上設(shè)置背景,放置字體。以美化一個按鈕為例:右鍵單擊前面板空白區(qū)域,選擇:新式-布爾-按鈕開關(guān),將此按鈕放置到前面板;圖 26 寫控制命令到串口右鍵單擊該按鈕,選擇“制作自定義類型”,再次右鍵單擊該按鈕,選擇“制作自定義類型”,彈出一個單獨(dú)的編輯窗口;單擊“切換至自定義模式”,將按鈕的各狀態(tài)的圖標(biāo)用自己制作好的圖標(biāo)替換,保存;這樣,一個自定義的按鈕便完成了。如圖 27所示。圖 27 自定義的布爾開關(guān)和布爾指示燈前面板設(shè)計完成后的界面如圖 28所示。圖 28 軟件完成界面4.1.5 WEB發(fā)布設(shè)置Labview中已經(jīng)集成了一個連接好的web服務(wù)器,利用這個功能,我們可以快速的時已經(jīng)完成的項(xiàng)目鏈接到互聯(lián)網(wǎng)上。利用Labview的web發(fā)布工具生成的網(wǎng)頁視圖與前面板樣式保持一致,控制方式也與軟件的控制方式相同。利用Labview發(fā)布web服務(wù)需要以下幾個步驟:()單擊工具web發(fā)布工具,打開相關(guān)設(shè)置的對話框;()選擇已經(jīng)編寫好的VI項(xiàng)目,設(shè)置web查看方式,單擊“下一步”;()輸入網(wǎng)頁標(biāo)題,單擊“完成”,軟件將生成一個用于內(nèi)網(wǎng)的網(wǎng)址;這樣,我們就可以通過web方式來控制這個系統(tǒng)了。4.2 嵌入式系統(tǒng)開軟件開發(fā)4.2.1 STM32CubeMX開發(fā)環(huán)境介紹STM32CubeMX是意法半導(dǎo)體公司開發(fā)的一款可視化編程軟件,該軟件提供了非常直接的硬件配置方式,使使用者只通過鼠標(biāo)的操作即可完成芯片的所有的硬件初始化設(shè)置。該軟件支持意法半導(dǎo)體公司的所有基于ARM的32位處理器。該軟件主要包括四個部分,如圖 29所示。圖 29 STM32CubeMX的四部分配置GPIO功能的配置:單擊相應(yīng)的芯片的管腳,在彈出的下拉菜單里選擇對應(yīng)的模式,如圖 30所示。圖 30 STM32CubeMX的GPIO配置時鐘配置:選擇系統(tǒng)的時鐘源,配置系統(tǒng)各個硬件模塊的時鐘來源,選擇倍頻器和分頻器的分頻系數(shù),可以直接的觀測到各個硬件模塊的工作頻率,如圖 31所示。系統(tǒng)配置:配置芯片的各種硬件功能如IIC、SPI、TIM等功能是否開啟;配置系統(tǒng)中斷及硬件功能寄存器相關(guān)參數(shù);電源設(shè)置:配置單片機(jī)的電源模式;選擇單片機(jī)外置電源的類型;設(shè)置單片機(jī)在不同模式下時鐘的頻率、喚醒方式。在所有的外設(shè)配置完成后,點(diǎn)擊“生成用戶指定的程序按鈕”,便可以在指定目錄生成MDK或IAR的工程文件。要注意的一點(diǎn)是,生成的工程文件所依賴的庫文件是意法半導(dǎo)體公司提供的HAL(硬件抽象層)庫,該庫文件與以往的標(biāo)準(zhǔn)庫文件有較大不同,而且意法半導(dǎo)體公司也已經(jīng)停止了標(biāo)準(zhǔn)庫的更新。圖 31 利用STM32CubeMX配置時鐘4.2.2 MDK軟件開發(fā)環(huán)境目前支持ARM CORTEX芯片的開發(fā)環(huán)境較多,其中MDK-ARM和IAR FOR ARM使用的人群較為廣泛。MDK-ARM是國內(nèi)開發(fā)ARM芯片的主流軟件,而IAR FOR ARM是瑞典的一家公司開發(fā),被國外的廣大工程師廣泛使用。本設(shè)計使用MDK-ARM作為嵌入式系統(tǒng)的開發(fā)環(huán)境。MDK可以編譯、軟硬件仿真工程,支持眾多的ARM器件。系統(tǒng)上電或復(fù)位后,嵌入式控制器首先進(jìn)行初始化工作:初始化系統(tǒng)時鐘、設(shè)置堆棧地址、初始化中斷向量表、初始化GPIO管腳等,然后根據(jù)主程序?qū)σ恍┩庠O(shè)進(jìn)行初始化操作,如串口、SPI、定時器、IIC等。初始化工作完成以后,微控制器便據(jù)主程序去驅(qū)動外設(shè)進(jìn)行工作。為了使單片機(jī)能夠穩(wěn)定、搞笑的運(yùn)行,程序設(shè)計本著一下的原則:可讀性:函數(shù)名稱、數(shù)組名稱、各個文件名稱要與實(shí)際功能相對應(yīng),按照統(tǒng)一規(guī)則進(jìn)行命名;便于調(diào)試:程序中在容易出錯的地方加入有提示功能的代碼,如利用串口輸出數(shù)據(jù)、設(shè)置指示變量等;可維護(hù)性:程序中有詳細(xì)的注釋說明程序的功能,所占用的資源;模塊化:用來驅(qū)動不同硬件的函數(shù)進(jìn)行獨(dú)立封裝成一個文件,這樣也提高的程序的可移植性;4.2.3 光照強(qiáng)度傳感器BHV1750程序設(shè)計BH1750使用IIC總線協(xié)議進(jìn)行通訊。IIC協(xié)議的通訊過程為主機(jī)先發(fā)送啟動信號,然后緊跟著發(fā)送地址信號+讀寫控制位信號,然后從機(jī)應(yīng)答,主機(jī)和從機(jī)開始進(jìn)行數(shù)據(jù)通訊。數(shù)據(jù)通訊完成后,主機(jī)發(fā)送停止信號停止通訊。BH1750程序設(shè)計流程圖如圖 32所示:圖 32 光強(qiáng)檢測流程圖開始BH1750上電BH1750復(fù)位設(shè)置工作模式讀取數(shù)值數(shù)據(jù)轉(zhuǎn)換結(jié)束4.2.4 DHT11溫度濕度傳感器程序設(shè)計DHT11通過單總線協(xié)議與單片機(jī)進(jìn)行通訊,單總線協(xié)議只需要一根數(shù)據(jù)線便可以實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接收。單總線協(xié)議開始時主機(jī)先輸出一個一個低電平并保持480us以上,作為復(fù)位脈沖;緊接著主機(jī)釋放總線,延時40us,進(jìn)入接收模式,從器件拉低總線100us,作為應(yīng)答信號,數(shù)據(jù)傳輸開始。數(shù)據(jù)傳輸時,主機(jī)要發(fā)送“1”時,主機(jī)拉低總線并延時2us釋放,在延時60us;主機(jī)要發(fā)送“0”時,主機(jī)輸出低電平延時60us釋放總線,延時2us。當(dāng)主機(jī)需要讀取器件的數(shù)據(jù)的時候,需要進(jìn)入讀時序:主機(jī)首先拉低單總線1us以上后釋放總線,延時12us后讀取到的狀態(tài)值,就是元件輸出的信號。;然后延時50us,準(zhǔn)備下一次的讀取。DHT11程序設(shè)計流程圖如圖 33所示。4.2.5 NRF24L01無線發(fā)射模塊程序設(shè)計NRF24L01是一款工作于2.4GHz頻段下的無線收發(fā)芯片,該芯片通過SPI協(xié)議與單片機(jī)進(jìn)行通訊。單片機(jī)通過六根線與該芯片相連其中三根是用于SPI通訊的數(shù)據(jù)總線,一根片選信號線,一根使能信號線,一根狀態(tài)信號線。SPI通訊中SCK信號線用于傳輸時鐘信號,MOSI信號線是主機(jī)發(fā)送數(shù)據(jù),從機(jī)接收數(shù)據(jù);MISO信號線是主機(jī)接收數(shù)據(jù)從機(jī)發(fā)送數(shù)據(jù)。單片機(jī)通過對NRF24L01寄存器的寫操作來控制NRF24L01的工作模式,通過對NRF24L01的讀操作來獲取模塊的狀態(tài)和收到的數(shù)據(jù)。與本設(shè)計相關(guān)的該芯片的主要指令和寄存器如下:開始單片機(jī)發(fā)送起始信號DHT11應(yīng)答DHT11輸出數(shù)據(jù)單片機(jī)讀取數(shù)據(jù)達(dá)到5字節(jié)單片機(jī)校驗(yàn)并處理數(shù)據(jù)結(jié)束是否圖 33 溫濕度采集流程圖指令1:000AAAAA:讀取AAAAA寄存器的值;指令2:001AAAAA:對AAAAA寄存器進(jìn)行寫操作;指令3:01100001:讀取接收道德有效數(shù)據(jù) ;指令4:10100000:寫要發(fā)射的數(shù)據(jù);指令5:11100001:清除發(fā)射緩沖寄存器數(shù)據(jù);指令6:11100010:清除接受緩沖寄存器數(shù)據(jù);指令7:11111111:空操作,用于讀取狀態(tài)寄存器;寄存器CONFIG:地址0x00,用于配置該芯片的工作模式;寄存器EN_RXADDR:地址0x02,用于開關(guān)接收數(shù)據(jù)通道;寄存器RF_CH,地址0x05,用于設(shè)置芯片的工作頻率;寄存器STATUS:地址0x07,用于讀取和控制模塊狀態(tài);該模塊初始化時設(shè)置基本參數(shù),包括功率、信道、自動應(yīng)答、重發(fā)次數(shù)、數(shù)據(jù)發(fā)射速率、接收通道地址、發(fā)射通道地址等,然后設(shè)置芯片工作模式為接收模式。當(dāng)單片機(jī)采集一次數(shù)據(jù)后,便驅(qū)動該芯片進(jìn)入發(fā)射模式,數(shù)據(jù)發(fā)射完成后繼續(xù)停留在接受模式等待接受數(shù)據(jù)。無線信息傳輸流程圖如圖 34所示。圖 34 無線信息傳輸流程圖上電初始化芯片收到數(shù)據(jù)?發(fā)射采集到的數(shù)據(jù)進(jìn)入接收模式讀取數(shù)據(jù)進(jìn)入發(fā)射模式是否4.2.6 TFTLCD程序設(shè)計單片機(jī)通過16位數(shù)據(jù)接口與主控為ILI9325的TFTLCD相連,另外接其他5跟信號線:CS:顯示屏的片選信號線;WR:向顯示屏寫入數(shù)據(jù);RD:向顯示屏讀取數(shù)據(jù);RST:復(fù)位信號線;RS:命令/數(shù)據(jù)標(biāo)志;ILI9325控制器自帶顯存,當(dāng)我們把要顯示的數(shù)據(jù)寫入到顯存里面時,屏幕上便顯示出相應(yīng)的內(nèi)容。ILI9326控制器的顯存大小為320*240*18/8,即該控制器驅(qū)動的TFT像素為240*320,每個像素的顏色用十八位表示,紅色R占8位,綠色G占8位,藍(lán)色B占8位,也就是十八位模式。但是我們十六跟數(shù)據(jù)線DB1-DB8,DB10-DB17進(jìn)行驅(qū)動,即565模式。ILI9325的操作時序與SRAM的操作時序十分類似,所以本設(shè)計使用STM32的FMSC來驅(qū)動TFTLCD。FMSC是STM32F103ZET6上的片上外設(shè),用來驅(qū)動SRAM,NAND FLASH,NOR FLAS等硬件??刂艶MSC工作的參數(shù)和步驟較多,下面只介紹本設(shè)計重點(diǎn)使用的內(nèi)容。本設(shè)計實(shí)用FMSC的異步突發(fā)訪問模式A,即SRAM的選通時序控制TFT。本設(shè)計把TFT的RS信號線接FMSC的A10,當(dāng)FMSC寫不同的地址控制A10的電平的高低,對于TFT來說就是不同的讀、寫命令。要使用FMSC控制TFT,需要根據(jù)TFT的相關(guān)參數(shù)計算得到FMSC的初始化參數(shù)。本設(shè)計中將FMSC初始化為配置存儲器類型為SRAM、用存儲塊1區(qū)4號、16位數(shù)據(jù)寬度、寫使能、讀寫不同時序使能等。配置完成FMSC后,就需要對TFT的各種參
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度城市配送蘋果產(chǎn)銷合同模板
- 2025標(biāo)準(zhǔn)獨(dú)家買賣合同范本
- 餐飲業(yè)信息化建設(shè)與系統(tǒng)集成服務(wù)合同
- 餐飲場所桌椅翻新與采購服務(wù)協(xié)議
- 2025精簡版商業(yè)店鋪裝修合同
- 建筑工程質(zhì)量策劃方案編制指導(dǎo)手冊 2025
- 疼痛診療學(xué)(醫(yī)學(xué)高級):運(yùn)動系統(tǒng)疾病考點(diǎn)鞏固
- 凝血四項(xiàng)測試題目及答案
- 干洗服務(wù)合同協(xié)議書范本
- 氧艙維護(hù)試題及答案
- DB31/T 976-2016公共停車場(庫)智能停車管理系統(tǒng)建設(shè)技術(shù)導(dǎo)則
- 餐飲行業(yè)組織架構(gòu)及其部門職能
- Unit 8 Once upon a Time單元重點(diǎn)單詞變形短語語法句型精練(原卷版)
- 保潔臺賬管理制度
- 2024年下半年寧夏公路橋梁建設(shè)有限公司公開招聘25人筆試參考題庫附帶答案詳解
- 2025年水利工程專業(yè)考試試卷及答案
- 2025年醫(yī)療器械專業(yè)考試試題及答案
- 佛山公務(wù)員試題及答案
- 《缺血性視神經(jīng)病變》教學(xué)課件
- 鼓脹中醫(yī)護(hù)理
- 2025年安徽高考?xì)v史模擬預(yù)測試卷(含答案解析)
評論
0/150
提交評論