智能家居系統畢業設計_第1頁
智能家居系統畢業設計_第2頁
智能家居系統畢業設計_第3頁
智能家居系統畢業設計_第4頁
智能家居系統畢業設計_第5頁
已閱讀5頁,還剩43頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、智能家居控制系統(軟件)設計摘 要 本文通過對現有的家居智能控制系統功能以及實際情況分析,設計了一種安全、實用、方便的智能家居控制系統。本文首先闡述了智能家居控制系統的研究狀況和發展現狀,以及一般家居控制系統所要檢測的物理量。根據家居控制系統常用的檢測信號類型,選取了紅外信號、溫度信號、光線強度信號和密碼輸入等作為本設計的檢測依據。本設計選取紅外信號、溫度信號和光線強度信號作為監測信號。密碼驗證是否通過作為整個電路是否工作的依據。當密碼驗證通過之后,整個系統同時監測紅外信號、溫度信號和光線強度信號,紅外信號達到閾值則開始報警。溫度信號實時顯示。光線強度信號控制步進電機的動作。關鍵字:智能控制;

2、光強度;紅外;溫度;步進電機intelligent home control system (software) designabstract smart home control systems also emerged. this paper designs a practical and convenient smart home control system based on the existing smart home control system and the actual situation.this paper describes the intelligent home

3、control system research and development, as well as detected physical signals of the home control system. this design chooses the infrared signal, the temperature signal, the light intensity signal and the password input signals as the detection signal types.the design selected infrared signal, the

4、temperature signal and the light intensity signal as the monitoring signals. password authentication is as the basis situation if the circuit works. when password authentication is passed, the entire system monitors the infrared signal, the temperature signal and the light intensity signal. the syst

5、em alarms when the infrared signal reaches the threshold. temperature signal real-time displays on the lcd1602. light intensity signal controls the stepper motor movements.keywords: intelligent control; light intensity; infrared technology; temperature control; stepper motor 目 錄1 緒 論11.1 課題背景及研究意義11

6、.2 智能家居控制系統的發展概況21.3 本設計研究的主要內容22 智能家居控制系統的總體介紹32.1 整體系統的原理32.2 系統各個模塊介紹32.2.1 系統中adc0832的介紹32.2.2 電機驅動電路介紹42.2.3 矩陣鍵盤電路介紹42.2.4 聲光報警電路介紹53 智能家居控制系統的軟件設計63.1 系統功能結構圖63.2 軟件設計主程序63.3 軟件系統構成83.4 顯示子程序83.5 溫度數據讀取程序93.6 中斷程序113.7 光線檢測與步進電機控制子程序113.8 報警條件子程序124 智能家居控制系統軟件調試環境與分析結果144.1 開發環境簡介144.1.1 編程軟件

7、介紹144.1.2 程序的工程建立144.2 程序的調試154.2.1 主程序的調試154.3 調試結果展示165 結論及展望18附錄一 程序清單19附錄二 實物圖43參考文獻44致 謝451 緒 論1.1 課題背景及研究意義 在信息化技術日益發展的21世紀的世紀,各種電子和互聯網新技術是了人類文明的取得巨大進步主要途徑。而智能化家居控制系統的出現使得人們可以通過手機或者互聯網互聯網絡在任何時候、任何地方遠程的對家中的任何電器(空調、加熱器、電飯煲、燈光、音響、dvd影碟機)進行控制;也可以在下班途中,讓熱水器提前燒好熱水、預先將家中的空調機打開、讓電飯煲煮好香噴噴的米飯而這一切都僅僅只需要輕

8、輕的點幾下鼠標鍵盤,或者打一個簡單的電話就能夠實現。此外,還有些家庭可以通過智能家居系統對家里的東西具有遠程監聽、多途徑報警、數字留言等多種便捷功能。現今追求舒適、時尚和便捷的家居生活是社會進步的日趨表現,因為系統可以能夠在不改變家中任何家電的情況下,遠程的控制家中的電器、燈光、電源及家里環境,使人們可以方便的快捷的生活。現今我們常用的密碼鎖是一種利用輸入密碼的正確與否判斷與他相聯系的機械開關的閉合的電子產品。由于他的嚴密性和可靠性,使它的種類很多。有基于芯片的性價 比較高的產品,也有簡易方便的電子產品。通過密碼鎖的加入可以防止一些設備被非法開啟。提供安全性。 隨著社會信息化技術的不斷更新,紅

9、外傳感技術也隨之前進。目前已在多個領域發揮它巨大的作用。紅外不是可見光,具有良好的隱蔽性,白天和夜里都能用,而且抗干擾能力強,我們利用紅外線的特性來制作功能性器件,所以主要被用來制作防盜報警系統。我們為了防止社會上日益泛濫的偷盜現象,常將紅外技術運用各大商場、博物館及有關嚴密的場所。而本設計綜合研究了現有的光電防盜報警裝置的優缺點,本身具有實用性強、安裝操作簡易,價格低廉,誤報率低等特點,并且在其原有基礎上進行設計的。設計通過查找資料,采用紅外對沖管的無線發射與接收來控制是否進入報警模式,通過紅外線判讀信號,通過電路傳輸給并由89c52單片機進行處理,所以報警電路是否進行觸發將由單片機根據檢測

10、模塊輸入的信號來決定。 現代家居生活是追求舒適、方便的自動化的生活。而自動窗簾可是我們的生活發生實質性變化,利用全自動窗簾的感應基礎是根據日照光線和溫度來控制的,設計時可以預先設定的光線強度和溫度,用來自動開啟窗簾和關閉窗簾; 溫度是人們日常生活中經常遇到的一個基礎變量,現今市場上能測量溫度值的傳感器有很多種,很多控制系統對溫度的測量也是的功能之一。而本設計中運用的是經典的溫度傳感器ds18b20來檢測溫度。1.2 智能家居控制系統的發展概況 我國的智能家居技術共歷經了概念、研發、實驗、推廣以及普及四個大階段,大概時間是從2000年的概念年到2007年普及年之間的7年左右的時間。由于硬件和軟件

11、間的協調有很大的困難,所以我們中國在推行智能化家居的難度更加之大。這些問題在國外往往需要更長的時間來完成。而自2003年開始的實驗,一些國外的成熟的智能家居計算開始流向中國,這就給我的研發及實驗帶來了非常之大的幫助,極大地縮短了時間,是我們在追趕國外的步伐更加迅速。在隨后的兩年里,我國的智能家居技術與歐美國家相比差距并不大,只是國外的相關技術的種類非常多,這是我們國家所不能比的。例如:微軟公司開發的“夢幻之家”ibm公司開發的“家庭主任”等均以完善而且成熟的技術強占了大部分家居市場。自2008年奧運會開始,我國的智能化家居技術已經在整個家具市場上占有很大的比重,而國外的智能化技術由于不適應中國

12、認得生活方式所以占到的比例反而小了許多。相比較而言,智能化家居更能體現出科技的力量在我們生活中的重要性。很難再預測在2016年的時候,全球化的智能家居技術將達到怎樣的地步,但是可以清楚家居智能化正在走進千家萬戶。1.3 本設計研究的主要內容 本設計的內容主要是基于89c51單片機的智能家居控制系統,利用單片機獲取各個傳感器的數據并處理,從而執行相應的控制與有關功能。設計中采用模塊化設計原則,利用多種集成傳感器芯片,將硬件模塊和軟件系統相組合,初步設計了一個簡易的智能控制系統,并可以完成簡單的防盜報警、溫度顯示、自動控制等功能。根據設計原則,設計中選用性能價格比較高的單片機stc89c52。溫度

13、數據的采集系統,本設計中選用ds18b20這一典型的溫度傳感器。而對于距離的感應,設計方案選用了紅外傳感器。本文通過對光線的檢測是采用光敏電阻與模數轉換adc0832相結合的方案。之外還可以對步進電機進行控制。為了滿足密碼功能,用液晶屏lcd1602和矩陣鍵盤來完成密碼驗證功能。當密碼輸入錯誤或是紅外的遮擋時間大于閾值時,啟動報警電路來報警。本文個章節安排如下: 第一章緒論,主要分析課題提出的背景意義,及智能家居系統的發展概況。 第二章是本文對系統硬件部分的簡單介紹。 第三章家居智能控制系統的軟件部分的設計,對系統主程序與子程序的流程圖的設計 進行分析論述。第四章是調試部分,介紹編程環境與分析

14、軟件可能出現的問題,進一步提高軟件的操作行。第五章是結論部分,總結了本設計的成果意義,并對本課題的相關展望。2 智能家居控制系統的總體介紹2.1 整體系統的原理 一個完美的家居控制系統可以提供一個家用電器的控制,照明控制,窗簾控制,電話遠程控制,室內和室外的遠程控制,防盜報警,并為你的各種編程時間控制功能和方法。本系統設計充分利用了已軟件代替有關硬件進行設計的原理。在設計中為了簡化處理,對于家居系統中幾個關鍵的量進行處理。家居室內溫度和光線強度是舒適度的一個重要指標,本系統中對溫度進行實時檢測和顯示,對光線值實時檢測并通過步進電機來控制窗簾自動調整室內的光線強度。除了溫度和光線強度的檢測為,本

15、系統還可以滿足簡易的防盜防盜功能。通過密碼驗證避免非法啟用設備,通過紅外檢測可以避免人員非法進入。整個系統的總體原理框圖如圖2-1所示。 圖2-1 智能控制系統總體原理框圖2.2 系統各個模塊介紹 2.2.1 系統中adc0832的介紹經過adc0832模數轉換之后,單片機讀的數據就是光敏電阻上的分壓值。單片機對讀到的數據判斷就可以知道當前光線強度的情況了從而提高轉換的寬度。因為adc0832有兩個通道,本設計中只需要對分壓值進行判斷,所以選用其中一路就可以了。有關資料表明,選用ch0通道,將ch1通道懸空,作為單通道模擬信號輸入時adc0832的輸入電壓是05v且8位分辨率時的電壓精度為19

16、.53mv。而如果是由in+與in-輸入的輸入時,可以將電壓值設定在某一個較大范圍之內,使其上下浮動。但值得注意的是,在進行in+與in-的輸入時,如果in+的電壓小于in-的電壓則轉換后的數據結果始終是00h。從圖上可以看出,光敏電阻r9與電阻r8構成分壓電路。光線強度會改變r9的阻值,當r9的阻值發生變化之后,r9上的電壓值隨之改變,而模數轉換器adc0832的2管腳ch0上的電壓值也跟著改變。光敏電阻控制電路部分的原理圖如圖2-2。 圖2-2 光敏電阻控制電路原理圖 2.2.2 電機驅動電路介紹由于驅動步進電機需要較大的功率,所以單片機輸出接口需要通過uln2003放大再連接到相應的電機

17、接口用于帶動電機的轉動。步進電機的電路圖如圖2-3所示。圖2-3中,j2是步進電機的接口。r4r7是串聯限流電阻。圖2-3 步進電機驅動電路圖 2.2.3 矩陣鍵盤電路介紹在本設計中,當處于密碼處于輸入狀態時,通過鍵盤輸入密碼,可以通過lcd顯示輸入時的密碼狀態。在正常工作狀態下,lcd顯示實時的溫度值和紅外值。矩陣鍵盤及顯示電路如圖2-4所示。圖2-4 矩陣鍵盤及顯示電路 2.2.4 聲光報警電路介紹當達到報警條件時,要有報警信號發出。這種報警信號通常有三類:閃光報警,鳴音報警和語音報警。本設計的報警電路包括燈光報警和蜂鳴器報警兩種方式。實現聲光報警電路比較簡單,如圖2-5所示。 圖2-5

18、聲光報警電路3 智能家居控制系統的軟件設計3.1 系統功能結構圖家居智能控制系統的軟件設計分為2個工作狀態:等待密碼輸入狀態和正常工作狀態。在等待密碼輸入狀態下,電路等待矩陣鍵盤的數據輸入。當輸入的數據和定義的密碼一致時,系統進入到正常工作狀態。如果輸入的數據和密碼不一致,則提示密碼錯誤并報警1秒,然后轉入等待密碼輸入狀態。直到密碼輸入正確為止。 在正常工作狀態下,系統實時檢測溫度值、光線值、矩陣鍵盤值和紅外值。將檢測的值顯示到液晶屏上。如果光線值發生改變則相應轉動電機,模擬自動窗簾。整個系統的功能結構框圖如圖3-1所示。等待密碼輸入狀態 正 常 工 作 狀 態矩陣鍵盤溫度傳感器光敏電阻紅外傳

19、感器步進電機led顯示 圖3-1系統功能結構圖3.2 軟件設計主程序 系統的程序燒錄到stc89c52內部的flash內存中,有主程序、溫度讀取程序、中斷延時程序、紅外遮擋時間判定程序、光線強度判定程序、由光線強度值控制電機程序、鍵盤輸入、lcd顯示程序和報警子程序等組成。為了方便編程,使程序完成后條理清晰,就必須對數據存儲器的存儲空間進行規劃。stc89c52提供用戶的ram有256字節。 主程序的功能是完成開機界面和對單片機所進行的初始化,初始化就是設置各個變量的初始值、進行相關的中斷設置等。各部分的地址分配如下:lcd1602的數據端口:p0口;lcd1602的控制端口:p2.5p2.7

20、;ds18b20溫度傳感器接口:p1.0;矩陣鍵盤接口:p1.1p1.7;紅外接口:p3.2;報警器接口:p3.3;步進電機接口:p3.4p3.7。主程序的流程圖如圖3-2所示。初始化設置定時器0打開定時器中斷讀取密碼值讀取溫度值報警顯示密碼錯誤顯示溫度值讀取光線強度主程序密碼是否正確紅外值是否大于閥值ynyn圖3-2 主程序流程圖3.3 軟件系統構成本系統的軟件部分主要包含五個文件即clock.h文件、lcd1602.h文件、ds18b20.h文件、motor.h文件、ultrasonic.h文件和main.c文件。由于項目文件并不太大,所以用五個頭文件的形式將一些必要的時鐘設置、宏定義和一

21、些簡單的驅動程序包含在主函數中,這樣,既可以實現程序設計的模塊化,又不影響程序編譯的效率。其中main.c文件主要完成系統初始化以及紅外檢測、模數轉換功能,同時,它還包含了單片機應用中最重要的定時器設置、定時器中斷、端口中斷等內容。3.4 顯示子程序 lcd1602典型應用和本設計一致,可以參看原理圖。其基本操作時序如下: 讀狀態:輸入:rs=l,rw=h,e=h 輸出:d0d7=狀態字 寫指令:輸入:rs=l, rw=l,d0d7=指令,e=高脈沖 輸出:無 讀數據:輸入:rs=h, rw=h, e=h 輸出:dod7=數據 寫數據:輸入:rs=h, rw=l,d0d7=數據,e=高脈沖 輸

22、出:無顯示子程序負責狀態的顯示,在輸入密碼狀態負責提示語的顯示,和輸入密碼過程的顯示,當密碼輸入完畢之后將密碼判斷的結果顯示出來。在系統進入正常工作狀態后,顯示當前的溫度值和紅外值。(1)lcd1602的讀操作時序如圖3-5所示。圖3-3 1602讀操作時序(2) lcd1602的寫操作時序如圖3-6所示 圖3-4 1602寫操作時序 3.5 溫度數據讀取程序 溫度檢測模塊本設計選用了ds18b20元件。ds18b20元件是由dallas設計生產的一款單總線方式訪問的數字溫度計。該元件具有體積小,外圍電路簡單等特點。因此本設計選擇該元件為基礎組建一個溫度檢測系統。由于該元件遵循單總線協議,即只

23、要使用一個引腳就可以進行數據的傳輸,所以它對讀/寫操作的時序要求比較嚴格。在進行此操作時為保證數據的可靠性,需要關閉總中斷。此外該元件上電后默認精度為9位,在寫完讀取溫度指令后,會在該器件內部的兩個8位的ram中獲取有效數據。其中前8位用來表示測得數據的正負,即為數據的符號位,后面的8位用于表示數據值。由于測量精度為9位,所以當測得溫度為正數時,實際溫度值為數據值乘以0.5。當測得值為負數時,實際溫度應為數據值的補碼乘以0.5。例如,對應于-25的數據格式為: msb lsb1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 (符號位“-”) (溫度值“ ”) 11001110的補

24、碼00110010,即,被測溫度值為: t=-(125 +124 +12)0.5=-25 表3-1 9位ds18b20溫度與數據的對應關系溫度/二進制數據輸出十六進制數據輸出+12500000000 1111101000fah+2500000000 001100100032h+0.500000000 000000010001h-0.511111111 11111111ffffh-2511111111 11001110ffceh-5511111111 10010010ff92h當系統處于正常工作狀態時,要循環的對溫度數據采集、顯示和判定。對溫度值的讀取由ds18b20來完成。ds18b20是一線

25、式的器件,數據的讀寫都通過一個數據端口來完成。所以對ds18b20的控制時序就要求比較高。讀取和寫入數據的過程中無法被中斷,所以在ds18b20的讀寫的情況下關閉中斷。 ds18b20的控制是典型的控制類程序。共享4個函數來完成。初始化、讀數據、寫數據和得到溫度4個函數。ds18b20控制程序的流程圖如圖3-7所示。初始化ds18b20寫溫度轉換命令等待溫度轉換命令讀取溫度值溫度程序結束圖3-5 ds18b20流程圖3.6 中斷程序在ds18b20的程序中,當啟動ds18b20溫度轉換之后,需要等待750ms以上,才能從ds18b20端口上讀到當前的溫度值。而紅外的數據什么時候到來是不確定的,

26、為了平衡二者的關系。使用定時器中斷,來產生5ms的中斷。沒當中斷到來讀取紅外的端口,當紅外有輸出時,打開內部計數器來記錄紅外被遮擋的時間。通過定時器中斷不僅滿足的ds18b20的讀取問題,也兼顧了紅外數據的讀取和顯示的問題。定時器中斷流程圖如圖3-9所示。進入中斷、定時存數據保護現場取數據指向下一地址請標志位開始退出現場結束圖3-6 定時器中斷子程序流程圖3.7 光線檢測與步進電機控制子程序根據本設計的模擬量轉換要求,系統采用的adc083是8位分辨率的a/d轉換芯片,其最高分辨可達256級,轉換時間僅為32s,轉換速度快且穩定性能強,完全可以達到要求。因其內部參考電壓的復用與電源的輸入,使得

27、芯片的模擬電壓輸入保持在05v之間,達到穩定的工作狀態。芯片還具有雙數據輸出可作為數據校驗,能夠有效地減少數據誤差。選用獨立的芯片使能輸入,通過數據輸入,我們可以很容易地實現信道選擇功能。光線檢測主要是通過adc0832來完成的。通過讀取adc0832的值,并與上一個讀取的值相比較,來判斷光線是變暗了還是變亮了。根據本次讀取的值和上次讀取的值取差值,用差值來控制電機的正反轉以及電機的轉動幅度。光線檢測與步進電機控制子程序的流程圖如圖3-10所示。初始化ds18b20開始讀取模數轉換值 保存檢測值,計算初始值或上一值的差值取反轉程序及轉動幅度 判斷差值的大小取正轉程序及轉動幅度結束小于0大于0等

28、于0圖3-7 光線檢測與步進電機控制程序流程圖3.8 報警條件子程序報警條件說明 :(1)密碼輸入:當密碼輸入錯誤時報警,密碼輸入正確則進行下一步操作;(2)紅外傳感器:紅外被遮擋5秒以上為達到報警條件,以下為未達到報警條件。因為所要監測的傳感器主要是溫度傳感器和紅外傳感器,任何一個傳感器如果達到報警條件,都可以發出報警信號。在硬件設計方面已經對每個傳感器的報警條件進行了設置。程序流程圖如圖3-11所示。 讀取密碼值初始化進入報警狀態讀取紅外值判斷密碼是否正確紅外值是否達到閥值報警是否解除開始結束ynny 圖3-8 報警條件子程序流程圖4 智能家居控制系統軟件調試環境與分析結果本次系統調試,是

29、以硬件模塊為準,先模塊后整合的方式進行的。當然,單片機的基本時鐘和引腳設置必不可少。在系統聯調時,出現了許多實際問題。現將主要方面闡述如下。4.1 開發環境簡介 4.1.1 編程軟件介紹 在本設計中,由于用的是c語言編程,所以我選用的軟件開發環境是美國keil software公司出品的51系列兼容單片機。keil vision可以方便的使用并且利用其強大的仿真功能進行軟硬件的調試工作。目前最新版的keil系統提供了包括于c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的一整套完善的開發方案,并可以通過一個集成開發環境(uvision)將這些部分嚴密的組合在一起共同工作。win

30、98、nt、win2000、winxp等操作系統都可以有效的運行keil軟件進行編程。 實際使用keil 51時,干集成環境既可用于c語言開發也可用于匯編語言開發。它內部集成了文件編輯、項目管理、編譯鏈接和仿真調試等多種功能。用戶可以在這里用文件編輯器編寫自己的程序,用多種方法來調試和修改程序。編譯程序也能幫助用戶檢查錯誤,提示用戶修改錯誤,直至程序無誤。 為了使軟件編程環境更加靈活多樣,所以在2009年2月發布了引入靈活的窗口管理系統的uvision4編程環境,能夠使用更多的監視器,視覺上可以對窗口位置的任何地方進行完全控制是本次軟件更新的最大亮點,并且充分利用屏幕空間和更有效地組織多個窗口

31、是新的用戶界面顯著地特點,它為我們提供一個整潔的、高效的環境來開發應用程序以提高工作效果。 4.1.2 程序的工程建立 (1)先建立一個名為“hyx”的空文件夾,把工程文件放到里面,防止和其它文件相混。開始工作并啟動keil uvision4軟件。 (2)點擊“project-new uvision project”新建一個系統工程。 (3)在彈出的對話框中,選擇剛剛建立的“hyx”的文件夾,保存該項目的名稱,不需要填寫,默認的工程后綴與uvision3及uvision2版本不同了,為uvporj。(4)彈出一個對話框后,就可以根據設計中所需要的單片機。可以在找到并選中“hyx”下的at89c

32、52,用于開始編譯程序。 (5)編程完畢之后,開始建立一個源程序文本: (6)找一個空白的文檔開始寫入源程序。 (7)輸入源程序文件名名稱,因為是c語言,則是“hyx.c”然后保存。 (8)在項目設置中,可以編譯、鏈接,選擇菜單項目建立目標,連接到單一的工程項目,生成代碼。如下圖3-3所示:圖4-1 基于keil的編程說明圖4.2 程序的調試在對工程成功的進行匯編、連接后,要進入軟件調試狀態,只要選擇菜單中的debugstart/stop debug session即可,并建立了一個仿真cpu用來模擬執行該程序。 4.2.1 主程序的調試 因為本設計中采用的模塊較多所以系統采用了實時多任務系統

33、,實行逐個分任務進行調試。當逐個子程序調試好以后,再觀察各個任務同時運行時操作系統中有沒有錯誤。等調試全部完成后,為了調試效果應反復運行多次,其中如發現錯誤時部分程序作了適當修正后系統才能夠正常運行。利用單步運行的的性質,可以對一些多次循環重復的程序進行檢查。而這樣的調試可以選用keil vision開發環境來進行調試,既方便又快捷。從中找到程序出錯的環節及故障點進行修改,直到程序完全正常。如下圖3-4所示: 圖4-2 keil程序的調試 4.2.2 軟件抗干擾措施當單片機受到干擾,不再按照一定的規律執行,被改變了的程序指針(pc)的值后,使程序而跑飛到其它非程序區,此后它不僅執行了一系列毫無

34、意義的指令,而且還可能破壞數據存儲器的內容,造成難以預料的后果。激活看門狗的程序其工作指令如下程序: sfr wdtrst = 0xa6 _nop_(); wdtrst = 0x1e ;先送1e wdtrst = 0xe1 ;后送e14.3 調試結果展示設計中的要求基本完成,如下圖4-1和4-2所示:(1) 開機畫面,需輸入正確密碼(2) 密碼正確后,會顯示當前室內溫度 (3)紅外,光敏,步進電機都能實現且運行良好圖4-3 開機畫面圖4-4 溫度及其他顯示畫面5 結論及展望 智能家居控制系統的核心任務是數據的采集、運算和處理,對于實際物理量的采集必須要有傳感器。傳感器是一種檢測裝置,它能夠直接

35、將物理量轉換為電信號的量,現今的傳感器還能直接將物理量轉換為單片機可以接收的數字量。傳感器的工作指標與運行性能是能否圓滿完成檢測和控制的重要環節,如果沒有對原始物理量精確可靠的反應,那么就無法進行最佳檢測和控制。 本設計的控制系統是基于stc89c52單片機為核心,進行必要的計算技術,以軟件代替很多傳統的控制系統的硬件,多種功能完美的將多種系統功能集于一身。用本文設計的智能家居控制系統具有如下特點: (1)通過矩陣鍵盤輸入密碼,當密碼正確電路進入正常工作狀態。 (2)系統實時監測紅外傳感器的值,可以對非法進入的情況進行報警。 (3)實時采集溫度值,將室內的溫度值實時的顯示出來。 (4)實時采集

36、光線強度值,通過光線強度值來控制窗簾的開合,來保持室內光線的穩定。 (5)單片機及接口電路的設計使i/o接口線利用率高。電路簡單、成本降低、外接器件少、性能可靠。 展望,家居環境的實際情況比較復雜,需要測量的參數一般都比較多,本設計主要采集了溫度參數,紅外參數以及光線強度參數等。溫度是家庭室內舒適度的一個重要參數。為了防止人員的非法進入紅外參數也是一個比較重要的參數,為了能夠控制室內的光線強度,對光線強度的檢測和對窗簾電機的控制也是必不可少的。為了提高一些設備使用的安全性,進行簡單的密碼認證也是很必要的。本課題所設計的智能家居控制系統可以用來檢測非法進入、溫度值、光線強度以及密碼認證。 本設計

37、也有許多不足之處,最明顯的是所涉及的家居家電太少,以及智能化的操作行不高,如果有可能我會在原方案上加入以下的系統: (1)在原模塊上加上萬年歷以及煙霧報警系統。 (2)在原來的設計上加入遠程控制系統(gsm),是整個設計更加體現智能化家具的價值。 現在基于各種因素限制,所以本系統設計只能做到這樣。附錄一 程序清單#include#include #include #definetime_length10000/us#defineinf_length5/s#definetemp_max40/度#definel1602_dbp0sbit l1602_rs=p27;sbit l1602_rw=p26

38、; sbit l1602_e=p25;sbit ds18b20_bit = p10;sbit inf_bit= p32;sbit key_la=p11;sbit key_lb=p12; sbit key_lc=p13;sbit key_ld=p14;sbit key_l1=p15; sbit key_l2=p16;sbit key_l3=p17;sbit adc0832_cs=p20;sbit adc0832_clk=p21;sbit adc0832_di=p23; sbit adc0832_do=p22;sbit setp_1=p34;sbit setp_2=p35;sbit setp_3=

39、p36; sbit setp_4=p37;sbit beep_bit=p33;unsignedcharbdatastatus;sbitnormal_work= status0;sbitflag_alarm= status1;sbitflag_1820= status2;sbitflag_inf= status3;unsigned char code time_num_h = (unsigned char)(65536-time_length)/256);unsigned char code time_num_l = (unsigned char)(65536-time_length)%256)

40、;unsigned char code ticks_second = (unsigned char)(1000000/time_length);unsignedchartemperature=30;unsignedcharseconds=0;unsignedcharadc_value=0;unsignedcharworkstate = 0;unsigned char psd6;staticcode unsigned chardpy_tab16 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79

41、,0x71,;static code unsigned char motor_step8 = 0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90;unsigned char lcd_data16=key: *;/*延時函數 */voiddelayms(unsigned char ms)unsigned chari,j;while(ms-)for(i=0;i3;i+)for(j=0;j107;j+);/*延時函數 */voiddelay100us(unsignedcharcnt)unsignedchari,j;for(i=0;icnt;i+)for(j=0;j22;j

42、+)_nop_();/*延時函數 */voiddelay10us(void)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/*按鍵狀態判定函數 */unsigned charkey_station(void)unsigned chari,key;key_la=0;key_lb=0;key_lc=0;key_ld=0;i=p1;i&=0xe0;if(i = 0xe0)key=0;elsedelayms(10);i=p1;i&=0xe0;if(i = 0xe0)key=0;elsekey_la=0;key_lb=1;key_lc=1;key_ld=

43、1;i=p1;i&=0xe0;i=i;if(i & 0x80)key = 0x31;if(i & 0x40)key = 0x32;if(i & 0x20)key = 0x33;key_la=1;key_lb=0;key_lc=1;key_ld=1;i=p1;i&=0xe0;i=i;if(i & 0x80)key = 0x34;if(i & 0x40)key = 0x35;if(i & 0x20)key = 0x36;key_la=1;key_lb=1;key_lc=0;key_ld=1;i=p1;i&=0xe0;i=i;if(i & 0x80)key = 0x37;if(i & 0x40)ke

44、y = 0x38;if(i & 0x20)key = 0x39;key_la=1;key_lb=1;key_lc=1;key_ld=0;i=p1;i&=0xe0;i=i;if(i & 0x80)key = 0x08;if(i & 0x40)key = 0x30;if(i & 0x20)key = 0x0d;key_la=0;key_lb=0;key_lc=0;key_ld=0;while(1)i=p1;i&=0xe0;if(i = 0xe0)delayms(10);i=p1;i&=0xe0;if(i = 0xe0)break;key_la=1;key_lb=1;key_lc=1;key_ld=

45、1;returnkey;/* ds18b20 程序 *voidinit_ds18b20(void)unsignedchari;ds18b20_bit=1;_nop_();ds18b20_bit=0;delay100us(5);ds18b20_bit=1;delay10us();delay10us();delay10us();delay10us();delay10us();delay10us();if(ds18b20_bit=0)for(i=0;i250;i+)if(ds18b20_bit = 1)delay100us(3);flag_1820= 1;elseflag_1820=0; /*讀18

46、b20函數 */unsignedcharread_18b20(void)unsignedchari;unsigned charc;for(i=0;i=1; if(ds18b20_bit = 1) c |= 0x80; else c &= 0x7f; delay10us();delay10us();delay10us();delay10us();delay10us();ds18b20_bit = 1;returnc;/*寫18b20函數 */voidwrite_18b20(unsigned char cnt)unsignedchari;for(i=0;i=1;/*得到溫度值函數 */unsigned intget_number_18b20(void)unsigned char temp=0;unsignedchar h,l;init_ds18b20();if(flag_1820 = 1)ea=0;write_18b20(0xcc);write_18b20(0x44);ea=1;delayms(200);delayms(200);delayms(200);delayms(200); init_ds18b20();ea=0;wri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論