基于單片機(jī)的自動(dòng)窗控制系統(tǒng)設(shè)計(jì)_第1頁
基于單片機(jī)的自動(dòng)窗控制系統(tǒng)設(shè)計(jì)_第2頁
基于單片機(jī)的自動(dòng)窗控制系統(tǒng)設(shè)計(jì)_第3頁
基于單片機(jī)的自動(dòng)窗控制系統(tǒng)設(shè)計(jì)_第4頁
基于單片機(jī)的自動(dòng)窗控制系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

[20]。圖2-9JDY-33藍(lán)牙通信模塊實(shí)物圖2.8AD轉(zhuǎn)換器的選擇方案1:ADC0832ADC0832采樣率最高為200kHz,輸入電壓范圍為0-5V。它適用于低速采樣的應(yīng)用場景,例如溫度、光照度等模擬量信號(hào)的數(shù)字化轉(zhuǎn)換。方案2:AD6620ASZAD6620ASZ采樣率可高達(dá)1MHz,輸入電壓范圍為-10V~10V。其適用于高速采樣和高精度數(shù)字化轉(zhuǎn)換的應(yīng)用場景,例如音頻、視頻、雷達(dá)等信號(hào)的數(shù)字化轉(zhuǎn)換。對(duì)比兩種方案,在本設(shè)計(jì)中需要對(duì)雨量和光照進(jìn)行數(shù)模轉(zhuǎn)化,所以選擇方案1。ADC0832實(shí)物圖如圖2-10所示。圖2-10ADC0832實(shí)物圖2.9本章小結(jié)本章對(duì)系統(tǒng)的總體方案設(shè)計(jì)做了詳細(xì)闡述,從多方面比較了該系統(tǒng)所要用到的器件,最后根據(jù)是否能實(shí)現(xiàn)要求確定了器件的選擇。第3章系統(tǒng)硬件設(shè)計(jì)3.1單片機(jī)最小系統(tǒng)的設(shè)計(jì)3.1.1STC89C52RC單片機(jī)介紹STC89C52RC是以8051為核心的微控制器,其性能價(jià)格比高,功耗低,程序設(shè)計(jì)簡單。在工業(yè)控制、家用電器、電子儀器、汽車電子等方面有廣泛的應(yīng)用。主要功能如表3-1所示。單片機(jī)有一個(gè)低功率運(yùn)行方式,使得待機(jī)狀態(tài)下的功率消耗更小,從而提高了電池的續(xù)航能力。STC89C52RC是一款具有高性價(jià)比、功能豐富、易于編程的單片機(jī),其DIP封裝如圖3-1所示。在P0、P1、P2、P3端口中,一共有32個(gè)可編程的輸入/輸出管腳,每一個(gè)端口中都有8位(8個(gè)管腳)。表3-1STC89C52RC主要功能主要功能特性兼容MCS51指令系統(tǒng)4K可反復(fù)擦寫FlashROM32個(gè)雙向I/O口256x8bit內(nèi)部RAM3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz2個(gè)串行中斷可編程UART串行通道2個(gè)外部中斷源共6個(gè)中斷源2個(gè)讀寫中斷口線3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能圖3-1STC89C52RCDIP封裝圖3.1.2晶振電路STC89C52RC單片機(jī)的時(shí)鐘信號(hào)能以兩種方式產(chǎn)生。第一,內(nèi)部時(shí)鐘方式是利用單片機(jī)內(nèi)部的振蕩電路,在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。第二,由外部電路產(chǎn)生。為了穩(wěn)定頻率和快速起振,電路中使用了電容C1和C2,晶振CYS的振蕩頻率可根據(jù)需要選擇,常用的典型值為12MHz和6MHz。電路圖如圖3-2所示。圖3-2晶振電路設(shè)計(jì)圖3.1.3復(fù)位電路STC89C52RC單片機(jī)的復(fù)位電路包含外部復(fù)位電路和內(nèi)部復(fù)位電路。在外部復(fù)位電路中按下復(fù)位按鍵時(shí),電容開始充電,同時(shí)給單片機(jī)提供一個(gè)低電平信號(hào),將單片機(jī)復(fù)位。內(nèi)部復(fù)位電路通過監(jiān)測芯片的電源電壓狀態(tài)來實(shí)現(xiàn)復(fù)位功能。當(dāng)引腳RST的電壓從高電平變?yōu)榈碗娖綍r(shí),內(nèi)部復(fù)位電路會(huì)被觸發(fā),它將清空所有寄存器,并從地址為0的位置開始執(zhí)行程序。在這個(gè)過程中,必須保證引腳RST的電平不能一直處于低電平狀態(tài),否則會(huì)導(dǎo)致芯片無法正常工作。具體電路如圖3-3所示。圖3-3復(fù)位電路設(shè)計(jì)圖3.1.4單片機(jī)最小系統(tǒng)電路圖STC89C52RC是一款非常出色的最小系統(tǒng)電路,具有廣泛的應(yīng)用前景,電路圖如圖3-4所示。STC89C52RC單片機(jī)采用5V電源供電,單片機(jī)復(fù)位引腳高電平有效,圖中采用C2,R1和SW5構(gòu)成了復(fù)位電路。單片機(jī)時(shí)鐘端口18和19腳為時(shí)鐘輸入腳,采用11.0592MHz晶振和兩顆22pF電容組成了時(shí)鐘電路,給單片機(jī)提供工作脈沖。STC89C52RC單片機(jī)具有4組IO口,P0、P1、P2、P3,其中P0口驅(qū)動(dòng)能力最弱,屬于三態(tài)門,所以在最小系統(tǒng)中通過上拉電阻,來提高端口的驅(qū)動(dòng)能力,P3口的驅(qū)動(dòng)能力最強(qiáng),并且P3端口具有第二功能,包括計(jì)數(shù)器脈沖輸入,外部中斷輸入和串口功能。圖3-4單片機(jī)最小系統(tǒng)3.2電源電路該設(shè)計(jì)使用的是USB接口做供電口,將USB線直接插入到電源插座或者充電寶上就能供電,線必須能承受輸出5V,2A。USB接開關(guān)和指示燈,通電后,開關(guān)負(fù)責(zé)電的通斷,指示燈亮。電路圖如圖3-5所示。圖3-5電源電路設(shè)計(jì)3.3LCD1602顯示電路LCD1602顯示電路是一種基于液晶顯示技術(shù)的電路,其可以用來顯示文字、數(shù)字和符號(hào)等信息。在該設(shè)計(jì)中第一排顯示窗戶開閉狀態(tài)、光照強(qiáng)度、是否有人、溫度,第二排是顯示當(dāng)前風(fēng)速和雨量。電路圖如圖3-6所示。圖3-6顯示模塊電路設(shè)計(jì)3.4A/D轉(zhuǎn)換電路A/D轉(zhuǎn)換電路的作用是把雨和光兩種傳感器收集到的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)。在本次設(shè)計(jì)中用的是AD0832,芯片僅在CS管腳處于低值時(shí),方可啟動(dòng),以完成變換動(dòng)作。引腳CLK,作為該芯片的一個(gè)時(shí)鐘輸入端。DI/DO引腳分別實(shí)現(xiàn)了通道的選擇與變換后的數(shù)據(jù)的輸出。CH0、CH1為與降水量、光照傳感器相連的兩個(gè)信號(hào)輸入端。采用DO/DI雙管腳分別選取兩個(gè)通道,從而實(shí)現(xiàn)對(duì)各種傳感器信號(hào)的讀出。電路圖如圖3-7所示。圖3-7ADC0832電路圖3.5按鍵電路設(shè)計(jì)該設(shè)計(jì)用到了三個(gè)獨(dú)立按鍵,按鍵電路主要由按鍵,電源和單片機(jī)接口組成,其一端接地,一端接入單片機(jī)中,當(dāng)觸發(fā)時(shí)單片機(jī)獲取端口狀態(tài),然后執(zhí)行相應(yīng)程序。SW2是用來換頁選擇溫度、光、降水的,SW3是增加閾值的,SW4是減少閾值的。電路圖如圖3-8所示。圖3-8按鍵電路圖3.6電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)在該設(shè)計(jì)中使用L289N驅(qū)動(dòng)模塊驅(qū)動(dòng)電機(jī),其是一款雙路全橋式驅(qū)動(dòng)芯片,工作電壓最高可達(dá)到46V,輸入信號(hào)可為高低電平信號(hào)或PWM信號(hào)。在本設(shè)計(jì)中沒有采用PWM信號(hào),只需控制一個(gè)電機(jī)。引腳IN1、IN2連接單片機(jī),引腳OUT1、OUT2連接電機(jī),如果給IN1輸入一個(gè)信號(hào),電機(jī)正轉(zhuǎn),給IN2輸入一個(gè)信號(hào),電機(jī)反轉(zhuǎn)。原理圖如圖3-9所示。圖3-9電機(jī)驅(qū)動(dòng)原理圖3.7傳感器電路設(shè)計(jì)3.7.1光照傳感器模塊設(shè)計(jì)本模塊主要用于對(duì)光照進(jìn)行采集,通過轉(zhuǎn)換器變換后,將數(shù)據(jù)傳輸?shù)絾纹瑱C(jī),光照才會(huì)在顯示屏上顯示數(shù)值。原理圖如圖3-10所示。圖3-10光照傳感器模塊原理圖3.7.2溫度傳感器模塊設(shè)計(jì)相比于傳統(tǒng)的模擬溫度傳感器,DS18B20溫度傳感器輸出的是數(shù)字信號(hào),可以直接被微處理器等數(shù)字設(shè)備讀取;DS18B20溫度傳感器可以通過熱插拔方式直接連接到電路板上,并且不需要外部元器件;誤差低,可實(shí)現(xiàn)高精度的溫度測量。原理圖如圖3-11所示。圖3-11溫度傳感器模塊原理圖3.7.3人體熱釋電感應(yīng)模塊設(shè)計(jì)RCWL-0515模塊是一款微波雷達(dá)運(yùn)動(dòng)傳感器,采用射頻微波電路技術(shù),其核心為RCWL-9196芯片,可以用于探測人體、動(dòng)物或其他移動(dòng)物體的運(yùn)動(dòng)。當(dāng)有物體進(jìn)入檢測范圍時(shí),微波信號(hào)會(huì)被反射回來并被接收天線接收,這個(gè)反射信號(hào)可以被傳感器接收并轉(zhuǎn)換成電信號(hào)輸出。廣泛應(yīng)用于安防、智能家居、燈光開關(guān)等領(lǐng)域。原理圖如圖3-12所示。圖3-12人體熱釋電感應(yīng)模塊原理圖3.7.4風(fēng)速傳感器模塊設(shè)計(jì)霍爾傳感器通過磁場變化來測得風(fēng)速。具體來說,當(dāng)氣流穿過磁場時(shí),會(huì)引起磁場的擾動(dòng)。這個(gè)擾動(dòng)會(huì)被轉(zhuǎn)換成電信號(hào),然后通過霍爾元件進(jìn)行檢測和放大。此模塊采用霍爾傳感器檢測風(fēng)扇葉片上的磁鐵,每當(dāng)葉片旋轉(zhuǎn)一周時(shí),霍爾傳感器輸出一個(gè)高電平信號(hào)。單片機(jī)使用外部中斷引腳和定時(shí)器測量高電平脈沖的周期,一旦達(dá)到所需的轉(zhuǎn)速,指示燈將點(diǎn)亮。單片機(jī)接收并解析數(shù)據(jù),并在LCD1602液晶屏上顯示風(fēng)扇的轉(zhuǎn)速。原理圖如圖3-13所示。圖3-13風(fēng)速傳感器模塊原理圖3.7.5雨量傳感器模塊設(shè)計(jì)本模塊主要是對(duì)降水量進(jìn)行采集,從傳感器的輸出口連接轉(zhuǎn)換器。在轉(zhuǎn)換器中數(shù)模轉(zhuǎn)換后數(shù)據(jù)會(huì)傳送給單片機(jī),最后在顯示屏上顯示出示數(shù)。原理圖如圖3-14所示。圖3-14雨量傳感器模塊原理圖3.8PCB板圖設(shè)計(jì)原理圖繪制完成后,首先根據(jù)電路原理圖確定需要使用的器件清單,并記錄其名稱、封裝類型、引腳數(shù)目等信息。然后通過軟件對(duì)所有電路進(jìn)行封裝,連接線接好,再對(duì)比電路原理圖,查看是否錯(cuò)接,最后完成PCB的布局,如圖3-15所示。圖3-15PCB板圖3.9系統(tǒng)原理圖通過A/D軟件將各個(gè)模塊的接口連接到一起,構(gòu)成了整個(gè)系統(tǒng)的硬件電路,并繪制了系統(tǒng)的原理圖。電路原理圖包括STC89C52單片機(jī)、晶振電路、復(fù)位電路、各個(gè)傳感器電路、顯示電路、驅(qū)動(dòng)電路,報(bào)警電路。如圖3-16所示。圖3-16系統(tǒng)原理圖3.10本章小結(jié)本章主要介紹了自動(dòng)窗的總體硬件設(shè)計(jì)方案,包括單片機(jī)最小系統(tǒng)、A/D轉(zhuǎn)換模塊、按鍵模塊、電機(jī)驅(qū)動(dòng)模塊、傳感器模塊、顯示模塊、PCB版圖的設(shè)計(jì)。第4章系統(tǒng)軟件設(shè)計(jì)4.1編譯工具簡介Keil4是一種基于C語言的嵌入式系統(tǒng)開發(fā)環(huán)境,由德國Keil公司推出。Keil4支持各種比較流行的微控制器和開發(fā)板,例如ARM系列的芯片,STC單片機(jī)等。Keil4還提供了各種軟件開發(fā)工具和組件,如編譯器、匯編器、仿真器等,方便開發(fā)人員進(jìn)行嵌入式系統(tǒng)的設(shè)計(jì)、測試和調(diào)試。主要特點(diǎn)包括:全面支持各種微處理器,如ARM、8051等;提供了易于使用的編譯器和集成開發(fā)環(huán)境;支持多種調(diào)試模式,如仿真器、硬件調(diào)試器等;支持開發(fā)板或外部設(shè)備的驅(qū)動(dòng)程序開發(fā)和測試。4.2主程序設(shè)計(jì)系統(tǒng)通電后,首先開始進(jìn)行初始化,然后檢測是否有藍(lán)牙信號(hào),有藍(lán)牙信號(hào)的話就調(diào)用藍(lán)牙控制程序。沒有的話就開始檢測按鍵是否按下,如果按下就為手動(dòng)模式,然后調(diào)用手動(dòng)模式程序,沒有按下的話則為自動(dòng)模式。在自動(dòng)模式下系統(tǒng)會(huì)持續(xù)不斷地檢測傳感器模塊輸出的溫度、光照、雨量、風(fēng)速以及人體信號(hào),并將它們實(shí)時(shí)顯示在液晶屏上。同時(shí)如果測得當(dāng)前溫度超過設(shè)定閾值,則系統(tǒng)通過單片機(jī)驅(qū)動(dòng)電機(jī)來開窗。在開窗的狀態(tài)下,如果測得當(dāng)前光照、雨量、風(fēng)速和是否有人任意一項(xiàng)滿足要求,系統(tǒng)就會(huì)通過單片機(jī)驅(qū)動(dòng)電機(jī)進(jìn)行關(guān)窗并發(fā)起警報(bào)??偝绦蛄鞒虉D如圖4-1所示。4.3藍(lán)牙控制模塊程序設(shè)計(jì)該模塊在通電后,首先初始化,然后判斷藍(lán)牙是否連接,連接后發(fā)出控制信號(hào),流程圖如圖4-2所示。4.4按鍵程序設(shè)計(jì)系統(tǒng)通電后,首先初始化,接著進(jìn)行判斷按鍵1是否按下,如果按下則更換行數(shù),會(huì)從總頁面依次跳轉(zhuǎn)到溫度、風(fēng)速、雨量、光照頁面,跳轉(zhuǎn)后接著判斷按鍵2、按鍵3是否按下,如果按鍵2按下則增加閾值,按鍵3按下則減少閾值。如圖4-3所示。4.5LCD1602顯示程序設(shè)計(jì)如圖4-4所示為LCD1602顯示流程圖,系統(tǒng)通電后,首先初始化,然后判斷是否對(duì)液晶進(jìn)行讀寫,是的話就選擇顯示的位置,最后在正確的位置顯示所接收的數(shù)據(jù)。圖4-1主程序流程圖圖4-2藍(lán)牙控制模塊流程圖圖4-3按鍵流程圖圖4-4LCD1602顯示屏流程圖4.6傳感器程序設(shè)計(jì)該傳感器啟動(dòng)后首先進(jìn)行初始化,然后對(duì)溫度進(jìn)行采集,存儲(chǔ)到寄存器中,數(shù)模轉(zhuǎn)換后,讀取溫度值,最后傳送給單片機(jī)。如圖4-5所示。圖4-5溫度傳感器程序流程圖光照傳感器需要在初始化后進(jìn)行數(shù)據(jù)采集,并將采集到的數(shù)據(jù)發(fā)送給ADC0832轉(zhuǎn)換器進(jìn)行處理,處理后的數(shù)據(jù)才能夠被傳輸?shù)絾纹瑱C(jī)中使用。具體過程如圖4-6所示。圖4-6光照傳感器程序流程圖雨量傳感器在初始化后,然后采集數(shù)據(jù),將數(shù)據(jù)發(fā)給AD0832轉(zhuǎn)換器,轉(zhuǎn)換成數(shù)字量,最后傳輸給單片機(jī),如圖4-7所示。風(fēng)速傳感器在初始化后,然后判斷磁極的變化,有變化則輸出高電平信號(hào),最后測得風(fēng)速傳給單片機(jī),如圖4-8所示。圖4-7雨量傳感器程序流程圖圖4-8風(fēng)速傳感器程序流程圖人體熱釋電傳感器發(fā)射微波并分析反射波以檢查是否有任何變化,當(dāng)檢測到運(yùn)動(dòng)時(shí),傳感器的TTL電平輸出引腳將從低電平切換到高電平,然后給單片機(jī)最后在液晶屏上顯示,如圖4-9所示。圖4-9人體熱釋電傳感器程序流程圖4.7本章小結(jié)本章首先闡述了編譯工具的特點(diǎn),然后完成了本系統(tǒng)中主程序、顯示程序、傳感器程序、轉(zhuǎn)換器程序、按鍵程序、藍(lán)牙控制程序的設(shè)計(jì),同時(shí)闡述了各個(gè)程序所實(shí)現(xiàn)的功能。第5章系統(tǒng)硬件調(diào)試5.1硬件調(diào)試硬件電路焊接完畢后,要按照所設(shè)計(jì)的軟體電路原理圖來核對(duì)線路的連結(jié)是否準(zhǔn)確。在進(jìn)行硬體電路板的焊接過程中,會(huì)出現(xiàn)很多問題,比如虛焊、引腳損壞、串接等。出現(xiàn)上述問題時(shí),要按照標(biāo)準(zhǔn)的方式,利用萬用表對(duì)故障進(jìn)行檢測,找到故障產(chǎn)生的原因,然后重新焊接解決問題。由于本系統(tǒng)的應(yīng)用范圍較廣,必須獲得穩(wěn)定的適用于單片機(jī)工作的電壓。當(dāng)電力供應(yīng)完成后,首先要做的就是檢測一下,測試元器件是否有問題,如果有問題,零件就會(huì)被破壞,整個(gè)系統(tǒng)就會(huì)崩潰。所以,在給硬件送電前,必須對(duì)電流加以控制,從而達(dá)到對(duì)線路的過流保護(hù)。在給線路上供電以后,要檢查線路上的各種元件的狀況,如果有一個(gè)元件發(fā)生了異常,就要立刻切斷電源。沒有問題后應(yīng)當(dāng)將程序通過下載器下載程序以反接的方式插到藍(lán)牙接口上,傳輸給單片機(jī)。然后重新啟動(dòng)系統(tǒng),對(duì)各個(gè)傳感器進(jìn)行操作,查看是否能實(shí)現(xiàn)預(yù)設(shè)功能,在所有的功能都滿足要求的情況下,軟件程序傳輸順利完成,硬件實(shí)物圖如圖5-1所示。圖5-1硬件焊接圖5.2軟件調(diào)試對(duì)實(shí)物進(jìn)行了各種測試之后,接下來要對(duì)軟件展開了一系列的檢測工作,這些檢測工作是按照整個(gè)系統(tǒng)中每個(gè)模塊所需要的功能來展開的。在進(jìn)行調(diào)試的時(shí)候,要對(duì)每個(gè)模塊的軟件功能進(jìn)行檢測,如果在檢測過程中出現(xiàn)了一些問題,那么就可以按照當(dāng)時(shí)存在的問題來改寫程序修改,在每個(gè)模塊的軟件測試完成之后,就可以對(duì)整個(gè)系統(tǒng)展開一次全面的檢測。這次的軟件測試在系統(tǒng)功能實(shí)現(xiàn)中起到了很大的作用,此次軟件是對(duì)各個(gè)模塊分別進(jìn)行了設(shè)計(jì),從而降低了各模塊之間的耦合程度,降低了軟件測試中出現(xiàn)錯(cuò)誤的可能性。在進(jìn)行檢測時(shí),將相應(yīng)的每個(gè)模塊的軟件程序分別進(jìn)行檢測,檢測每個(gè)模塊的軟件是否能夠正常地工作。如果在設(shè)計(jì)的軟件程序中或者是在程序結(jié)構(gòu)中,發(fā)現(xiàn)了一個(gè)錯(cuò)誤,就要去找到問題發(fā)生的位置,對(duì)問題產(chǎn)生的原因進(jìn)行分析,并對(duì)其進(jìn)行改正。假如不是邏輯和制作方面的問題,那么就要對(duì)測試環(huán)境中沒有設(shè)置相關(guān)參數(shù)的方面進(jìn)行分析,可以在網(wǎng)上查資料,或者和老師交流,直到軟件程序不會(huì)發(fā)生問題為止。在軟件測試結(jié)束后,要對(duì)各個(gè)模塊性能進(jìn)行檢測,要考慮到軟件編制時(shí)沒有錯(cuò)誤,模塊自身會(huì)發(fā)生功能無法全部實(shí)現(xiàn)的情況,而各個(gè)模塊的性能都可以實(shí)現(xiàn),在多次測試后也沒有出現(xiàn)錯(cuò)誤的情況,則本次軟件測試完成。5.3系統(tǒng)調(diào)試在對(duì)系統(tǒng)進(jìn)行了硬件焊接和軟件測試后,系統(tǒng)實(shí)體就可以進(jìn)行上電測試了。在整個(gè)設(shè)計(jì)中,系統(tǒng)是否能夠?qū)崿F(xiàn)預(yù)定的功能,這是非常重要的一步。如果在上電測試的過程中,產(chǎn)生了按鍵不靈、受氣候影響的問題,那么就要對(duì)這些問題進(jìn)行分析和解決。在解決了問題之后,需要進(jìn)行多次測試,直到不在會(huì)出現(xiàn)問題,功能都能實(shí)現(xiàn),那么該系統(tǒng)的測試就完成了。5.3.1系統(tǒng)功能演示系統(tǒng)通過USB插口上電后,LCD1602顯示屏就會(huì)顯示數(shù)據(jù)。同時(shí),傳感器會(huì)實(shí)時(shí)采集數(shù)據(jù),LCD1602顯示屏上就會(huì)實(shí)時(shí)更新數(shù)據(jù)。第一頁第一行顯示的依次是窗戶狀態(tài)、光照、是否有人、溫度,第二行顯示的是風(fēng)速、雨量;第二頁為光照設(shè)定的上閾值,第三頁為雨量設(shè)定的下閾值,第四頁為溫度設(shè)定的上閾值,第五頁為風(fēng)速設(shè)定的下閾值。如果窗戶在關(guān)閉的狀態(tài)下,測得溫度的數(shù)值大于設(shè)定的下限時(shí),電機(jī)就會(huì)工作,反之電機(jī)靜止。當(dāng)前測得溫度的數(shù)值超過設(shè)定的閾值19,電機(jī)就會(huì)進(jìn)行轉(zhuǎn)動(dòng),窗戶呈現(xiàn)打開的狀態(tài),如圖5-2所示。圖5-2窗戶打開示意圖在窗戶打開的情況下,當(dāng)前測得光照的數(shù)值超過設(shè)定閾值50的時(shí)候,電機(jī)就會(huì)進(jìn)行轉(zhuǎn)動(dòng),窗戶呈現(xiàn)關(guān)閉的狀態(tài)顯示如下圖5-3所示。窗戶關(guān)閉的情況還有風(fēng)速超過設(shè)置閾值、雨量超過設(shè)置閾值、檢測到有人。圖5-3光照條件下窗戶關(guān)閉示意圖在窗戶打開的情況下,如果測得的風(fēng)速數(shù)值大于預(yù)先設(shè)置的閾值8,電機(jī)就會(huì)進(jìn)行轉(zhuǎn)動(dòng),窗戶就會(huì)呈現(xiàn)關(guān)閉的狀態(tài),如圖5-4所示。圖5-4風(fēng)速條件下窗戶關(guān)閉示意圖在窗戶打開的情況下,如果測得的降水量數(shù)值大于預(yù)先設(shè)置的閾值50,電機(jī)就會(huì)進(jìn)行轉(zhuǎn)動(dòng),窗戶呈現(xiàn)關(guān)閉的狀態(tài),如圖5-5所示。圖5-5雨量條件下窗戶關(guān)閉示意圖在窗戶打開的情況下,如果要檢測到有人時(shí),電機(jī)就會(huì)進(jìn)行轉(zhuǎn)動(dòng),窗戶呈現(xiàn)關(guān)閉的狀態(tài),如圖5-6所示。圖5-6有人條件下窗戶關(guān)閉示意圖5.3.2調(diào)試分析進(jìn)行硬件測試的調(diào)試時(shí),要注意元件和線路之間的連接是否正常,比如線路連接的部位有沒有缺焊、連焊等問題,這個(gè)時(shí)候就需要通過萬用表來進(jìn)行檢測來判斷。在軟件調(diào)試的時(shí)候,簡潔正確的軟件程序?yàn)樵O(shè)備運(yùn)行、后期改進(jìn)、測試功能提供了方便。實(shí)物測試是本次設(shè)計(jì)的最后一步,需要在調(diào)試過程中,耐心地、仔細(xì)地檢查系統(tǒng)功能,確保所有功能都能完全實(shí)現(xiàn)。5.4實(shí)驗(yàn)結(jié)果在室內(nèi)溫度超過舒適溫度23°C情況下,窗戶是打開的狀態(tài),這樣方便收集相關(guān)傳感器數(shù)據(jù),采集的數(shù)據(jù)記錄于表5-1中。在窗戶打開的狀態(tài)下,第一行中光照、雨量、風(fēng)速?zèng)]有超過閾值并且沒有人,窗戶不會(huì)關(guān)閉。第二行是光照超過閾值50,窗戶關(guān)閉。第三行是風(fēng)速超過閾值8,窗戶關(guān)閉。第四行是雨量超過閾值50,窗戶關(guān)閉。第五行是檢測到有人,窗戶關(guān)閉。最后一行是所有傳感器都不滿足要求,所以窗戶關(guān)閉。表5-1實(shí)驗(yàn)數(shù)據(jù)室內(nèi)溫度(°C)光照(lx)雨量(%)風(fēng)速(m/s)人窗戶狀態(tài)254503無開2652203無關(guān)2449189無關(guān)2648564無關(guān)2745302有關(guān)2551559有關(guān)5.5本章小結(jié)本章對(duì)系統(tǒng)的硬件測試、軟件調(diào)試和實(shí)物測試做了詳細(xì)的闡述。在測試的時(shí)候,做了多次測試實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明該系統(tǒng)能實(shí)現(xiàn)所有預(yù)設(shè)的功能。結(jié)論在科技高速發(fā)展的今天,智慧家居已越來越多地融入到了生活中。而基于單片機(jī)的自動(dòng)窗控制系統(tǒng)設(shè)計(jì),正是智能家居中的一種,其可以讓人們通過手機(jī)或電腦控制窗戶的開啟和關(guān)閉,這既給人們的生活帶來了便利,又提升了居住的舒適性。因此,設(shè)計(jì)智能化的家居系統(tǒng)有重要意義。該控制系統(tǒng)設(shè)計(jì)由硬件和軟件兩個(gè)部分組成。硬件部分用到了溫度傳感器DS18B20、液晶顯示屏LCD1602、STC89C52單片機(jī)、藍(lán)牙、霍爾傳感器、雨滴傳感器、光敏電阻、RCWL-0515微波感應(yīng)模塊、直流電機(jī)。其中,傳感器可以檢測環(huán)境的溫度、風(fēng)速、雨量、光照和是否有人等信息,電機(jī)可以控制窗戶的開啟和關(guān)閉,單片機(jī)控制器可以對(duì)傳感器和電機(jī)進(jìn)行控制。軟件部分包括程序設(shè)計(jì)編寫,是為了控制窗戶的開啟和關(guān)閉。該系統(tǒng)設(shè)計(jì)了三種控制模式:手動(dòng)控制、自動(dòng)控制、藍(lán)牙控制?;趩纹瑱C(jī)的自動(dòng)窗控制系統(tǒng)設(shè)計(jì)具有以下優(yōu)點(diǎn):首先可以自動(dòng)檢測環(huán)境信息,實(shí)現(xiàn)智能化控制;其次,安全可靠,該系統(tǒng)配有防盜報(bào)警措施,確保了用戶的財(cái)產(chǎn)安全和人身安全。但是,也存在一些缺點(diǎn),比如不能實(shí)現(xiàn)遠(yuǎn)程控制,只能近距離操控,測試點(diǎn)單一,未來隨著技術(shù)發(fā)展可能會(huì)實(shí)現(xiàn)。參考文獻(xiàn)常淑英.基于單片機(jī)的自動(dòng)控制窗戶系統(tǒng)設(shè)計(jì)[J].中國科技信息,2014,(7):17-18.李碩,賈子慶,張明瑋.基于多傳感器的智能窗系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,(4):10-16.XiaX,ChenF,LeiW,etal.DesignofAutomaticClosingWindowDeviceBasedonSingleChipMicrocomputer[J].ScienceMosaic,2014,(9):8-13吳昌隆,陳美玲,趙興雷.基于單片機(jī)的智能百葉窗硬件設(shè)計(jì)[J].通信電源技術(shù),2019,36(7):12-20.高素萍,李旭斌.智能窗控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].深圳:深圳職業(yè)技術(shù)學(xué)院,2010.薛春虎.國外節(jié)能門窗現(xiàn)狀及發(fā)展趨勢[D].北京:中國工業(yè)大學(xué),2005.金發(fā)慶.傳感器技術(shù)與應(yīng)用[M],北京:北京機(jī)械工業(yè)出版社,2002,17-40王茵,李明.基于物聯(lián)網(wǎng)信息平臺(tái)的智能窗戶設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2017,(15):17-25.張仁朝,蔡小蘭.基于STC89C52單片機(jī)的智能窗戶設(shè)計(jì)[J].電子制作,2018,12(1):12-23.JunBingHE,PeiXiangHE,ZhangJ.WindowofTalkSystemBasedonPICSinglechipMicrocomputer[J].ChineseAgriculturalMechanization,2007,(3):7-9郭天祥.新概念51單片機(jī)C語言教程第2版[M].電子工業(yè)出版社,2018,20-30秦嘉嶸,陳云龍.基于單片機(jī)的智能窗戶控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國市場,2019,8(12):4-74.張仁朝,蔡小蘭.基于STC89C52單片機(jī)的智能窗戶設(shè)計(jì)[J].電子制作,2018,19(23):3-7.何力民.單片機(jī)高級(jí)教程[M],北京:北京航空大學(xué)出版社,2000,25-40NgongiahIsidoreKomofor,RamakrishnanBalamurali,NjitackeZericTabekoueng,KuiateGaetanFautso,KingniSifeuTakougang.DynamicalanalysisandmicrocontrollerimplementationoffractalresistivecapacitiveshuntedJosephsonjunction[J].PhysicaScripta,2022,97(12):5-40王宏剛,萬偉雄.基于C語言的自動(dòng)窗戶系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù)與信息化,2019,(3):3-7.王明秋.智能家居控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)研究[D].武漢:華中師范大學(xué),2006.秦嘉嶸,陳云龍.基于單片機(jī)的智能窗戶控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國市場,2019,8(12):4-74.董少明,單片機(jī)原理及應(yīng)用技術(shù)[M],北京:北京理工大學(xué)出版社,2009,45-60伍春霞.基于單片機(jī)雨天自動(dòng)關(guān)窗器的設(shè)計(jì)[J].電工技術(shù),2020,(20):8-9.

附錄A程序代碼#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineLCDIOP0sbitrs=P2^7;sbitrd=P2^6;sbitlcden=P2^5;sbitspeaker=P1^2;sbitmotor1=P1^0;sbitmotor2=P1^1;unsignedinttemp;unsignedinttempx_set=35;uchardatadisdata[5];sbitren=P1^3;sbitk1=P3^5;sbitk2=P3^6;sbitk3=P3^7;sbitDQ=P3^3;sbitCS=P2^2;sbitSCL=P2^3;sbitDO=P2^4;intopen;intguang,shui,guang_set=50,shui_set=50,wind_set=8,close=0;voiddelayms(intx){chari;while(x--){for(i=150;i>0;i--);}}voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}unsignedcharad0832read(bitSGL,bitODD){ unsignedchari=0,value=0,value1=0; SCL=0; DO=1; CS=0; SCL=1; SCL=0; DO=SGL; SCL=1; SCL=0; DO=ODD; SCL=1; SCL=0; DO=1; for(i=0;i<8;i++) { SCL=1; SCL=0; value<<=1; if(DO) value++; } for(i=0;i<8;i++) { value1>>=1; if(DO) value1+=0x80; SCL=1; SCL=0; } CS=1; SCL=1; if(value==value1) returnvalue; return0;}voidwrite_com(ucharcom){ rs=0; rd=0; lcden=0; LCDIO=com; delay(5); lcden=1; delay(5); lcden=0; }voidwrite_date(uchardate){ rs=1; rd=0; lcden=0; LCDIO=date; delay(5); lcden=1; delay(5); lcden=0; }voidinit(){ ucharnum; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); delay(5); write_com(0x80);}voidDisplaytwo(bitbRow,unsignedcharbtColumn,unsignedcharbtData){ uinta,b; if(bRow) write_com(0xc0+btColumn); else write_com(0x80+btColumn); a=btData/10;b=btData%10; write_date(a+0x30);write_date(b+0x30);}voidDisplayString(bitbRow,unsignedcharbtColumn,unsignedchar*pData){ while(*pData!='\0') { if(bRow)write_com(0xc0+btColumn); else write_com(0x80+btColumn); write_date(*(pData++)); btColumn++; }}voidwrite_num(ucharhang,ucharadd,uintdate){ if(hang==0) write_com(0x80+add); else write_com(0x80+0x40+add); if(date<0) { write_date(0x30+date/100%10); write_date(0x30+date/10%10); } if(date>=0) { write_date(0x30+date/100%10); write_date(0x30+date/10%10); write_date('C'); }}intset_mode=0;voidkey(){ if(k1==0) { set_mode++; if(set_mode>4)set_mode=0; write_com(0x01); while(k1==0); } if(set_mode==1) { DisplayString(0,0,"SET-LIGHT:"); Displaytwo(1,7,guang_set); if(k2==0) { guang_set++;if(guang_set>99)guang_set=99; while(k2==0); } if(k3==0) { guang_set--; if(guang_set<0)guang_set=0; while(k3==0); } } if(set_mode==2) { DisplayString(0,0,"SET-Water:"); Displaytwo(1,7,shui_set); if(k2==0) { shui_set++;if(shui_set>99)shui_set=999; while(k2==0); } if(k3==0) { shui_set--; if(shui_set<0)shui_set=0; while(k3==0); } } if(set_mode==3) { DisplayString(0,0,"SET-TEMP:"); Displaytwo(1,7,tempx_set); if(k2==0) { tempx_set++;if(tempx_set>99)tempx_set=999; while(k2==0); } if(k3==0) { tempx_set--; if(tempx_set<0)tempx_set=0; while(k3==0); } } if(set_mode==4) { DisplayString(0,0,"SET-WIND:"); Displaytwo(1,7,wind_set); if(k2==0) { wind_set++;if(wind_set>99)wind_set=999; while(k2==0); } if(k3==0) { wind_set--; if(wind_set<0)wind_set=0; while(k3==0); } } }voidTimer0_init(){ SCON=0x50; TMOD|=0x20; TH1=0xFD; TL1=0x0; TR1=1; ES=1; EX0=1; IT0=1; EA=1;}voiduart_send_byte(unsignedchardat){ SBUF=dat; while(!TI); TI=0;}voiduart_send_str(unsignedchar*s){ while(*s!='\0') { uart_send_byte(*s); s++; }}intcountx=0;voidex0_intr()interrupt0{countx=countx+1;}voidtimer0()interrupt3using1{ intcount; TH1=(65536-50000)/256; TL1=(65536-50000)%256; count++;}bitflag=0; voiddelay_t(unsignedinti){ while(i--);}voidInit_DS18B20(void){ unsignedcharx=0; DQ=1; delay_t(8); DQ=0; delay_t(80); DQ=1; delay_t(14); x=DQ; delay_t(20);}ucharRead(void) { unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--) { DQ=0; dat>>=1; DQ=1; if(DQ) dat|=0x80; delay_t(4); } return(dat);}voidWrite(unsignedchardat){ unsignedchari; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; delay_t(5); DQ=1; dat>>=1; } delay_t(4);}uintReadTemperature(void){ unsignedchara=0; unsignedcharb=0; unsignedintt=0; floatf_t=0; Init_DS18B20(); Write(0xCC); Write(0x44); Init_DS18B20(); Write(0xCC); Write(0xBE); a=Read(); b=Read(); if(b<127) { t=b;t<<=8;t=t|a; flag=0; } else { a=~a;b=~b; t=b;t<<=8;t=t|a;t=t+1; flag=1; } f_t=t*0.056; t=f_t*10+0.5; return(t);}voidmain(){intr,i,time; init(); Timer0_init();speaker=1; delay(2000); while(1) { if(set_mode==0) { if(k2==0&&close==1){motor1=1;motor2=0;delay(500);close=0;while(k2==0);} if(k3==0&&close==0){motor1=0;motor2=1;delay(500);close=1;w

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論