智能窗簾報告[谷風(fēng)行業(yè)]_第1頁
智能窗簾報告[谷風(fēng)行業(yè)]_第2頁
智能窗簾報告[谷風(fēng)行業(yè)]_第3頁
智能窗簾報告[谷風(fēng)行業(yè)]_第4頁
智能窗簾報告[谷風(fēng)行業(yè)]_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Hefei University 2015年合肥學(xué)院電子設(shè)計競賽項目報告項目名稱: 智能臥室窗簾系統(tǒng) 作者姓名: 梁波 1205022039 12通信(二)班 毛會磊 1205022002 12通信(二)班 朱春松 1305011019 13電子(一)班 指導(dǎo)教師: 完成時間: 2015年3月16日 技巧jq#摘要本電路根據(jù)辦公和生活環(huán)境需要,采用AT89C51單片機控制系統(tǒng),利用P3口的特殊功能與P1口的空閑模式和掉電模式,根據(jù)其不同控制模式,實現(xiàn)半自動控制、自動控制、定時控制的相互轉(zhuǎn)換控制窗簾機。該設(shè)計包括光電開關(guān)電路、系統(tǒng)主控模塊、電源轉(zhuǎn)換電路、保護電路等組成,可實現(xiàn)窗簾自動升降。關(guān)鍵詞

2、單片機;定時控制;光電開關(guān);步進電機技巧jq#1 引言51.1 系統(tǒng)設(shè)計的背景及意義51.2 設(shè)計的基本內(nèi)容51.3設(shè)計思想及基本功能62 總體電路設(shè)計與原理說明72.1方案選取72.2 方案介紹82.2.1 自動控制窗簾基本功能92.2.2控制器總體結(jié)構(gòu)設(shè)計93 系統(tǒng)硬件設(shè)計103.1 89C51單片機及相關(guān)電路113.1.1 89C51單片機概述113.1.2 晶振電路113.1.3 復(fù)位電路123.1.4 顯示電路133.2 光敏傳感器電路143.3 A/D轉(zhuǎn)換電路163.4 步進電機電路163.5鍵盤接口電路173.6 紅外控制電路184系統(tǒng)軟件設(shè)計204.1主程序軟件設(shè)計214.2

3、光控電機程序設(shè)計224.3 LCD1602顯示程序設(shè)計224.4光照采集程序設(shè)計235 總結(jié)25參考文獻25附錄 1:原理圖26附錄 2:部分子程序271 引言1.1 系統(tǒng)設(shè)計的背景及意義當(dāng)今時代,科技的發(fā)展和人們生活水平顯著提高,人們對居住環(huán)境方便快捷的要求越來越高,智能家居系統(tǒng)應(yīng)運而生。智能家居是現(xiàn)代電子技術(shù)、通訊技術(shù)及自動化技術(shù)相結(jié)合的產(chǎn)物。隨著高新技術(shù)及電子器件的發(fā)展,光控、溫控及遙控窗簾應(yīng)運而生,給人們生活帶來很多方便。同時,也為人們的生活環(huán)境及智能 家居的實現(xiàn)提供了依據(jù),為此,研究和設(shè)計智能窗簾控制系統(tǒng)具有深遠的現(xiàn)實意義。窗簾機的控制方式大體上有三種:聲控、光控、時控,聲控和遙控屬

4、于半自動類而光控雖屬全自動式,但因光敏器件的靈敏度,冬夏等不同季節(jié)的光照度的不同,以及人們對開閉窗簾在時間上的要求不同,而難以實施和普及。因此,設(shè)計一款價格低廉,結(jié)構(gòu)簡單,靈敏度高,抗干擾能力強,實現(xiàn)紅外線遙控控制、時間控制、手動控制三種功能的為一體的智能窗簾,具有十分重要的意義。在歐美等發(fā)達國家,電動窗簾已經(jīng)廣泛應(yīng)用。在十多年前,電動窗簾就已經(jīng) 進入我國,可一直沒有大的推廣,這兩年,隨著電控技術(shù)的不斷提高及價格的不 斷下降,電動窗簾熱才又卷土重來。據(jù)了解,全國共有170 多種電動窗簾器獲得 了國家專利,但就其技術(shù)本身而言,還是大同小異,但銷價卻有了很大的差別,貴的要數(shù)千元,便宜的只有幾百元。

5、盡管遙控自動窗簾系統(tǒng)在國內(nèi)是一個新興的行業(yè),但是,它也正以不可抵擋之勢迅速崛起。遙控自動窗簾系統(tǒng)走進中國以來,再短短四年的時間里,遙控自動窗簾系統(tǒng)生產(chǎn)商由最初的幾家公司增加到如今的百余家企業(yè),其行業(yè)發(fā)展之迅 速是目前國內(nèi)任何其他行業(yè)所無法比擬的。目前,我國遙控自動窗簾系統(tǒng)生產(chǎn)廠商、分銷商、集成商與裝飾公司都形成了相當(dāng)規(guī)模,不少國內(nèi)知名企業(yè)紛紛涉足遙控自動窗簾系統(tǒng)行業(yè)。隨著自動窗簾熱潮在世界范圍內(nèi)的日漸興起,隨著中國電子技術(shù)的飛速發(fā)展、人們生活水平的不斷提高以及智能電子技術(shù)在生活中的廣泛應(yīng)用,自動窗簾已經(jīng)成為未來家居裝飾潮流發(fā)展的最新方向。從目前的發(fā)展趨勢來看,在未來的20 年時間里,自動窗簾行

6、業(yè)將成為中國的主流行業(yè)之一,其市場的發(fā)展前景是非常廣闊的。1.2 設(shè)計的基本內(nèi)容本設(shè)計通過分析電動窗簾的發(fā)展和現(xiàn)狀來規(guī)劃電動窗簾的智能功能,從而對電動窗簾控制器進行設(shè)計。采用步進電機作為執(zhí)行元件,以光敏電阻作為傳感元件的傳感器作為檢測元件,89C51單片機作為控制芯片,輔助鍵盤和顯示,最終實現(xiàn)了電動窗簾控制器的多項智能項目。主要章節(jié)分為:(1)引言:介紹系統(tǒng)設(shè)計的背景及意義,設(shè)計的基本內(nèi)容。(2)總體設(shè)計方案:給出了電動窗簾控制器的總體方案設(shè)想,智能項目,和設(shè)計結(jié)構(gòu)規(guī)劃。(3)軟件設(shè)計:選用選用匯編語言作為本次軟件設(shè)計的編程語言。(4)總結(jié)與展望。1.3設(shè)計思想及基本功能該器具有一般的窗簾控制

7、器的最基本的功能,即通過電動按鈕來開閉窗簾,在此基本功能的前提下,本設(shè)計根據(jù)需求還設(shè)計了可以根據(jù)光照強度和設(shè)定時間自動開閉窗簾的功能,在選取設(shè)計方案和采用元器件方面,該器本著簡單實用經(jīng)濟的思想,盡量簡化電路設(shè)計,用最簡單的電路布線和選用最經(jīng)濟實用的器件來達到設(shè)計要求。自動窗簾控制器具有以下幾個基本功能: 1.手動控制該功能使電動窗簾具有手動正傳、手動反轉(zhuǎn) 和手動停止的功能。用戶可以通過遙控器對窗簾的開合進行控制,避免了手動拉動窗簾的麻煩。 2.半自動手動控制半自動手動控制是在需要關(guān)閉或打開窗簾的時候,只需要人工按一下“正轉(zhuǎn)”或“反轉(zhuǎn)”按鍵后,窗簾到位自動停止。3.光控調(diào)節(jié)功能 當(dāng)用戶無暇顧及窗

8、簾的開合程度時可以打開光控調(diào)節(jié)功能,窗簾的關(guān)閉和開啟通過環(huán)境亮度自動完成窗簾的開啟或關(guān)閉操作控制,“天黑關(guān)閉,天亮打開”單片機會自動獲取信息調(diào)節(jié)室內(nèi)光照強度,使室內(nèi)一直處于舒適的光照環(huán)境。具有智能管理,不產(chǎn)生誤動作。4.定時控制功能 根據(jù)設(shè)置輸入的開啟或關(guān)閉時間,來控制窗簾的關(guān)閉和打開。窗簾的正轉(zhuǎn)、反轉(zhuǎn)和停止功能可由單片機輸出電平來控制步進電機的運轉(zhuǎn)以實現(xiàn)。環(huán)境亮度的控制通過光敏電阻和運放組成的電路來控制單片機輸出電平繼而控制電機的正轉(zhuǎn)和反轉(zhuǎn)。時間自動控制可以由定時器來控制。2 總體電路設(shè)計與原理說明2.1方案選取單片機在各種電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,很多的電子產(chǎn)品利用單片機所取得的便利

9、性得到了人們的好評,針對單片機控制的自動窗簾控制器的智能化要求,實現(xiàn)其自動控制的方案有兩種:方案(一)基于溫度檢測以及聲控檢測器件的自動控制方案(二)基于光照強度器件的自動控制這二個方案都是基于單片機控制的,采用步進電機控制以及液晶顯示,不同的設(shè)計部分在于檢測器件的選取上。方案一的原理圖如圖一:方案(二)的器框圖如圖2:方案(一)與方案(二)的區(qū)別主要在于檢測器件的應(yīng)用,方案(一)采用溫度采集和聲音檢測元件,通過設(shè)定的溫度來控制窗簾的開閉,以減少光照對室內(nèi)的溫度影響,利用聲音控制雖然方便性有所提高,但是其誤差較大。方案(二)采用的時鐘模塊實用性更強。綜合考慮以上因素,器設(shè)計采用方案(二)。2.

10、2 方案介紹 方案:基于光照檢測的自動控制。 原理框圖如下: 光控模塊 紅外遙控模塊 蜂鳴器 單片機系統(tǒng) 鍵盤 LCD顯示屏 2.2.1 自動控制窗簾基本功能(1) 手動控制:該功能使電動窗簾具有手動正傳、手動反轉(zhuǎn) 和手動停止的功能。而且增加了工作狀態(tài)指示,電機工作在正傳、反轉(zhuǎn)和停止狀態(tài)的時候,數(shù)碼管均有不同工作狀態(tài)指示。(2)半自動手動控制:半自動手動控制是在需要關(guān)閉或打開窗簾的時候,只需要人工按一下“正轉(zhuǎn)”或“反轉(zhuǎn)”按鍵后,窗簾到位自動停止。(3)環(huán)境亮度控制:窗簾的關(guān)閉和開啟通過環(huán)境亮度自動完成窗簾的開啟或關(guān)閉操作控制,“天黑關(guān)閉,天亮打開”具有智能管理,不產(chǎn)生誤動作。(4)時間自動控制

11、:根據(jù)設(shè)置輸入的開啟或關(guān)閉時間,來控制窗簾的關(guān)閉和打開。窗簾的正轉(zhuǎn)、反轉(zhuǎn)和停止功能可由單片機輸出電平來控制步進電機的運轉(zhuǎn)以實現(xiàn)。環(huán)境亮度的控制通過光敏電阻和運放組成的電路來控制單片機輸出電平繼而控制電機的正轉(zhuǎn)和反轉(zhuǎn)。時間自動控制可以由定時器來控制。2.2.2控制器總體結(jié)構(gòu)設(shè)計自動窗簾控制器設(shè)計的總體框圖如圖3所示:由光電傳感器來探測外界的光強,從傳感器出來的信號經(jīng)過信號調(diào)理電路的放大,濾波調(diào)理后輸入到A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換器件完成一個轉(zhuǎn)換過程需要一定時間,如果在這段時間內(nèi)信號的幅度發(fā)生變化,轉(zhuǎn)換結(jié)果將會受到影響,所以期間要用到采樣保持電路。轉(zhuǎn)換后的信號由單片機控制器,來實現(xiàn)電機的運行與停止。

12、顯示部件用來顯示電動窗簾控制器的各種狀態(tài)信息。鍵盤是主要的輸入設(shè)備,控制單片機的各種參量。3 系統(tǒng)硬件設(shè)計3.1 89C51單片機及相關(guān)電路3.1.1 89C51單片機概述AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單 個芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。3.1.

13、2 晶振電路電路中的晶振即石英晶體震蕩器。由于石英晶體震蕩器具有非常好的頻率穩(wěn)定性和抗外界干擾的能力,所以,石英晶體震蕩器是用來產(chǎn)生基準頻率的。通過基準頻率來控制電路中的頻率的準確性。同時,它還可以產(chǎn)生振蕩電流,向單片機發(fā)出時鐘信號。圖4是單片機的晶振電路。電路中的電容C1和C2的典型值通常選擇為30PF左右,該電容的大小會影響振蕩電路頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶體振蕩頻率的范圍通常在1.212MHz。晶體的頻率越高,系統(tǒng)的時鐘頻率越快,單片機的運行速度越快。但反過來,運行速度對于存儲器的速度要求就越高,對印刷電路板的工藝要求也就越高,即要求線間的寄生電容要小。晶體和電容應(yīng)該盡

14、可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。89C51常選擇振蕩頻率12MHz的石英晶體。圖4.晶振電路3.1.3 復(fù)位電路復(fù)位是單片機的初始化操作,只需要給89C51的復(fù)位引腳RST加上大于2個機器周期(即24個時鐘振蕩周期)的高電平就可以使89C51復(fù)位。復(fù)位時,單片機初始化為0000H,從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)程序運行錯誤(如程序跑飛)或操作錯誤使系統(tǒng)處于鎖死狀態(tài)時,也需要復(fù)位鍵使RST腳為高電平,使89C51擺脫“跑飛”或“死鎖”狀態(tài)而重新啟動。下圖是復(fù)位電路圖。圖5.復(fù)位電路3.1.4 顯示電路顯示部分則主要顯示

15、時間,用于設(shè)置時間。采用LED數(shù)碼管進行顯示是一種經(jīng)濟實用的方法。每位數(shù)碼管由7個筆畫加上小數(shù)點共8個發(fā)光二極管組成;有共陰極和共陽極兩種類型,公共端用來進行位控制,筆畫端用來進行字符控制;數(shù)碼管顯示有靜態(tài)顯示和動態(tài)顯示兩種方法。在數(shù)碼管顯示中,有2個技術(shù)問題需要解決,這就是整數(shù)高位和閃爍顯示問題。雖然某些新型LED驅(qū)動芯片本身具有閃爍控制和熄滅控制功能,但通過合理的軟件設(shè)計,采用廉價芯片組成的驅(qū)動電路同樣可以實現(xiàn)整數(shù)高位滅零和閃爍顯示功能,達到降低系統(tǒng)硬件成本的目的。本設(shè)計采用的就是4位LED數(shù)碼管的串行驅(qū)動電路來達到顯示時間和消除閃爍顯示的目的。采用LED數(shù)碼管進行顯示是因為LED數(shù)碼管具

16、有以下幾個優(yōu)點:(1)能在低電壓、小電流條件下驅(qū)動發(fā)光,能與CMOS、ITL電路兼容。(2)發(fā)光響應(yīng)時間極短(0.1s),高頻特性好,單色性好,亮度高。(3)體積小,重量輕,抗沖擊性能好。驅(qū)動器采用74LS164,74LS164是8 位串行輸入,并行輸出的移位寄存器。其引腳及各個引腳的作用如下圖所示:符號引腳說明DSA1數(shù)據(jù)輸入DSB1數(shù)據(jù)輸入Q0Q336輸出GND7地 (0 V)CP8時鐘輸入(低電平到高電平邊沿觸發(fā))/MR9中央復(fù)位輸入(低電平有效)Q4Q71013輸出VCC14正電源圖6.74LS164引腳及說明由89C51的P3.0和P3.1來控制LED數(shù)碼管的顯示。顯示電路圖如3.3

17、.2所示。圖7.顯示電路3.2 光敏傳感器電路光敏傳感器是最常見的傳感器之一,它的種類繁多,主要有:光電管、光電倍增管、光敏電阻等。光敏電阻又稱光導(dǎo)管,常用的制作材料為硫化鎘,另外還有硒、硫化鋁、硫化鉛和硫化鉍等材料。這些制作材料具有在特定波長的光照射下,其阻值迅速減小的特性。這是由于光照產(chǎn)生的載流子都參與導(dǎo)電,在外加電場的作用下作漂移運動,電子奔向電源的正極,空穴奔向電源的負極,從而使光敏電阻器的阻值迅速下降。圖8.光敏傳感器當(dāng)光敏電阻受到脈沖光照射時,光電流要經(jīng)過一段時間才能達到穩(wěn)定值,而在停止光照后,光電流也不立刻為零,這就是光敏電阻的時延特性。由于不同材料的光敏,電阻時延特性不同,所以

18、它們的頻率特性也不同,硫化鉛的使用頻率比硫化鎘高得多,但多數(shù)光敏電阻的時延都比較大,所以,它不能用在要求快速響應(yīng)的場合。應(yīng)用光控原理工作,天亮窗簾自動打開,天黑窗簾自動關(guān)閉。由運放組成比較電路,同向輸入端有兩個電阻分壓得到一個電壓值,作為基準電壓進行比較,而反相輸入端用一個光敏電阻對外部環(huán)境的光線進行采集,利用光敏電阻暗時電阻大,亮?xí)r電阻小的特點,來確定反向輸入端的電壓值。再兩者進行比較,比較后的信號再送入單片機89C2051的P0口,從而通過單片機來控制電機的正反轉(zhuǎn)。來實現(xiàn)天亮窗簾自動打開,天黑窗簾自動關(guān)閉這一自動控制功能。3.3 A/D轉(zhuǎn)換電路PCF8591是一個單片集成、單獨供電、低功耗

19、、8-bit CMOS數(shù)據(jù)獲取器件。PCF8591具有4個模擬輸入、1個模擬輸出和1個串行IC總線接口。PCF8591的3個地址引腳A0, A1和A2可用于硬件地址編程,允許在同個IC總線上接入8個PCF8591器件,而無需額外的硬件。在PCF8591器件上輸入輸出的址、控制和數(shù)據(jù)信號都是通過雙線向IC總線以串行的方式進行傳輸。PCF8591的功能包括多路模擬輸入、內(nèi)置跟蹤保持、8-bit模數(shù)轉(zhuǎn)換和8-bit數(shù)模轉(zhuǎn)換。PCF8591的最大轉(zhuǎn)化速率由IC總線的最大速率決定。PCF8591 特性:單獨供電;PCF8591的操作電壓范圍2.5V-6V;低待機電流;通過I2C總線串行輸入/輸出;PCF

20、8591通過3個硬件地址引腳尋址;PCF8591的采樣率由I2C總線速率決定;4個模擬輸入可編程為單端型或差分輸入;自動增量頻道選擇;PCF8591的模擬電壓范圍從VSS到VDD;PCF8591內(nèi)置跟蹤保持電路;8-bit逐次逼近A/D轉(zhuǎn)換器;通過1路模擬輸出實現(xiàn)DAC增益。3.4 步進電機電路步進電機為一種數(shù)字伺服執(zhí)行元件,具有結(jié)構(gòu)簡單、運行可靠、控制方便、控制性能好等優(yōu)點,廣泛應(yīng)用在數(shù)控機床、機器人、自動化儀表等領(lǐng)域。為了實現(xiàn)步進電機的簡易運動控制,一般以單片機作為控制系統(tǒng)的微處理器,通過步進電機專用驅(qū)動芯片實現(xiàn)步進電機的速度和位置定位控制。單片機在本次試驗中對步進電機的控制從而達到對轉(zhuǎn)角

21、和位移的控制的方法。本次設(shè)計采用兩個型號為130HZ308-450的三相反應(yīng)式步進電機對旋轉(zhuǎn)角度和位移進行控制,該步進電機力矩大、耐負載沖擊、精度高。其步距角為1.2,即=1.2,即本次設(shè)計的測控系統(tǒng)對回轉(zhuǎn)臺轉(zhuǎn)角的控制精度可以達到1.2。步進電機的驅(qū)動電路是根據(jù)控制信號工作的。而本次測控系統(tǒng)是以單片機位控制中心的,下面將介紹步進電機控制系統(tǒng)。步進電機控制系統(tǒng)主要由脈沖分配器,功率驅(qū)動電路,步進電機幾部分構(gòu)成的。步進電機控制系統(tǒng)的方框圖如圖9所示:圖9.步進電機電路3.5鍵盤接口電路 鍵盤在單片機應(yīng)用系統(tǒng)中能實現(xiàn)向單片機輸入數(shù)據(jù),傳送命令等功能,是人工干預(yù)單片機的主要手段。本設(shè)計中的鍵盤采用44

22、矩陣鍵盤。16個鍵分別為:0-9十個數(shù)字鍵,用于時間設(shè)定輸入;設(shè)定鍵,設(shè)定自動窗簾開和關(guān)的時間;復(fù)位鍵,在程序出錯或者有誤操作的時候;正轉(zhuǎn)鍵,使步進電機正轉(zhuǎn),窗簾打開;反轉(zhuǎn)鍵,使步進電機反轉(zhuǎn),窗簾關(guān)閉;停止鍵,步進電機停止運轉(zhuǎn);確定鍵,時間設(shè)定完成后確定輸入。由于按鍵比較多,加上減少所戰(zhàn)占用的端口,可以將按鍵組成一個矩陣,如圖10所示。圖10.鍵盤接口電路3.6 紅外控制電路紅外通信基本原理:紅外通信是利用950nm近紅外波段作為傳遞信息的媒體,即通信信道。發(fā)送端將基帶二進制信號調(diào)制為一系列的脈沖串信號,通過紅外發(fā)射管發(fā)射信號。接收端將接收到的信號裝成電信號,再經(jīng)過放大、濾波等處理后送給解調(diào)電

23、路進行解調(diào),還原為二進制信號后輸出。常用的有通過脈沖寬度來實現(xiàn)信號調(diào)制(PWM)和通過脈沖串之間的時間間隔來實現(xiàn)信號調(diào)制的脈時調(diào)制(PPM)兩種方法。簡而言之,紅外通信的實質(zhì)就是對二進制數(shù)字信號進行調(diào)制與解調(diào),以便利用紅外信道進行傳輸;紅外通信接口就是針對紅外信道的調(diào)制解調(diào)。紅外遙控系統(tǒng)主要由遙控發(fā)射器、一體化接收頭、單片機、接口電路組成。遙控器用來產(chǎn)生遙控編碼脈沖,驅(qū)動紅外發(fā)射管輸出紅外遙控信號,遙控接收頭來完成對遙控信號的放大、檢波、整形、解調(diào)出遙控編碼脈沖。遙控編碼脈沖是一組串行二進制碼,對于一般的紅外遙控系統(tǒng),此串行碼輸入到微控制器,由其內(nèi)部CPU完成對遙控指令解碼,并執(zhí)行相應(yīng)的遙控功

24、能。紅外遙控控制過程:本系統(tǒng)以89C51單片機為核心,由發(fā)射和接受兩部分組成,發(fā)射部分主要完成編碼和調(diào)制,接收部分完成調(diào)解和解碼。其發(fā)射部分主要由89C51單片機完成編碼,然后由紅外發(fā)射管發(fā)射紅外線,接收部分主要由光電轉(zhuǎn)換,放大,解調(diào),解碼組成。其中光電轉(zhuǎn)換,放大調(diào)解由紅外線一體化接頭來完成,接收單片機主要完成解碼功能。遙控器發(fā)射及其編碼:紅外線遙控采用自定義編碼方式,由發(fā)送單片機來完成。遙控發(fā)射器專用芯片很多,根據(jù)編碼格式可以分為脈沖寬度調(diào)制和香味調(diào)制兩大類。當(dāng)發(fā)射器案件按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同,這碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為0.26ms、間隔0.

25、26ms、周期為0.52ms的組合表示二進制的“1”(如圖11A),其特征是脈沖中高電平的寬度等于0.26ms,相當(dāng)于10個26s的寬度;以脈寬為0.26ms、間隔為0.52ms、周期為0.78ms的組合表示二進制的“0”(如圖11B),其特征是脈沖中而低電平的寬度是高電平的二倍,等于0.52ms,相當(dāng)于20個26s的寬度??梢愿鶕?jù)傳輸數(shù)據(jù)的不同來調(diào)節(jié)脈沖的寬度。圖11.二進制信號二進制信號的調(diào)制:二進制信號的調(diào)制由發(fā)送單片機來完成,它把編碼后的二進制信號調(diào)制成頻率為38KHz的間斷脈沖串,相當(dāng)于用二進制信號的編碼乘以頻率為38KHz的脈沖信號得到的間斷脈沖串,即是調(diào)制后用于紅外發(fā)射二極管發(fā)送

26、的信號。如圖3所示,A是二進制信號的編碼波形,B是頻率為38KHz(周期為26s)的連續(xù)脈沖串,C是經(jīng)調(diào)制后的間斷脈沖串(相當(dāng)于C=AB),用于紅外發(fā)射二極管發(fā)送的波形。 二進制信號的解調(diào):二進制信號的調(diào)制仍由發(fā)送單片機來完成,它把編碼后的二進制信號調(diào)制成頻率為38KHz的間斷脈沖串,相當(dāng)于用二進制信號的編碼乘以頻率為38KHz的脈沖信號得到的間斷脈沖串,即是調(diào)制后用于紅外發(fā)射二極管發(fā)送的信號。如圖3.3所示,是二進制信號的編碼波形,B是頻率為38KHz(周期為26s)的連續(xù)脈沖串,C是經(jīng)調(diào)制后的間斷脈沖串(相當(dāng)于C=AB),用于紅外發(fā)射二極管發(fā)送的波形。二進制信號的解碼:二進制信號的解碼由接

27、收單片機來完成,它把紅外接收頭送來的二進制編碼波形通過解碼,還原出發(fā)送端發(fā)送的數(shù)據(jù)。基于字節(jié)傳輸?shù)募t外遙控數(shù)據(jù)格式:在發(fā)送字節(jié)的開始先通過單片機發(fā)送20個脈沖寬度(每個脈沖周期26s)的高電平作為傳輸開始,接著發(fā)送8位數(shù)據(jù)(字節(jié)高位在前,低位在后),最后發(fā)送10個脈沖寬度的低電平作為傳輸結(jié)束,如圖14所示。技巧jq#4系統(tǒng)軟件設(shè)計4.1主程序軟件設(shè)計主程序的流程圖如圖15所示。圖15 主程序流程圖主程序構(gòu)成無限循環(huán),主要完成單片機初始化,關(guān)中斷,菜單顯示內(nèi)容初始化,按鍵掃描,電機運行,計時等功能。啟動主程序,先關(guān)中斷并且設(shè)置堆棧,接著初始化寄存器,初始化顯示內(nèi)容;然后執(zhí)行按鍵查詢,執(zhí)行相應(yīng)的操

28、作。如果是設(shè)定鍵,則設(shè)定時間,開始計時;到時間后電機開始相應(yīng)的工作,工作完成后停機。如果是電機控制鍵,則也執(zhí)行相應(yīng)的工作。如果都不是,返回顯示。檢測室內(nèi)是否開燈,如果開燈,返回顯示,如果無開燈,判斷當(dāng)前光照是否大于800LX,如果大于800LX,電機正轉(zhuǎn),窗簾打開。在窗簾打開的前提下,判斷光照是否小于400LX,如果小于400LX,電機反轉(zhuǎn),窗簾閉合,如果大于400LX,電機停止,返回顯示,重新進行判斷。4.2 光控電機程序設(shè)計光控電機程序設(shè)計流程圖如圖16所示。圖16 光控電機程序設(shè)計流程圖光控電機程序的設(shè)計是本設(shè)計的關(guān)鍵部分,根據(jù)光照強度的變化,單片機控制電機的正反轉(zhuǎn),實現(xiàn)窗簾的開閉。當(dāng)執(zhí)

29、行到該子程序入口時,首先進行初始化,判斷當(dāng)前光強是否大于800LX,若果條件不成立,返回重新初始化,如果符合條件,電機正轉(zhuǎn),窗簾打開。如果傳送器觸到安裝在軌道上的形成開關(guān),電機停止轉(zhuǎn)動,如果沒觸到,電機繼續(xù)正轉(zhuǎn),直到觸到形成開關(guān)電機才停止。在窗簾打開的前提下,光電傳感器檢測到當(dāng)前的光強小于400LX時,電機反轉(zhuǎn),窗簾閉合。如果傳送器觸到安裝在軌道上的形成開關(guān),電機停止轉(zhuǎn)動,如果沒觸到,電機繼續(xù)反轉(zhuǎn),直到觸到形成開關(guān)電機才停止。4.3 LCD1602顯示程序設(shè)計當(dāng)LCD1602的寄存器選擇信號RS為1時,選擇數(shù)據(jù)寄存器;當(dāng)LCD1602的讀寫選擇線RW為0時,進行寫操作;當(dāng)LCD1602的使能信

30、號EN置高電平后再過兩個時鐘周期至低電平,產(chǎn)生一個下降沿信號,往LCD寫入顯示數(shù)據(jù),LCD執(zhí)行命令,判斷執(zhí)行是否完畢,如果沒有執(zhí)行完畢,返回到選擇指令寄存器。如果執(zhí)行命令完畢,顯示數(shù)據(jù),子程序返回。寫數(shù)據(jù)到LCD子程序流程圖如圖17所示。圖17 寫數(shù)據(jù)到LCD子程序流程圖4.4光照采集程序設(shè)計光電傳感器采用的是光電池,其輸出的是線性電壓,線性度良好。光照采集程序設(shè)計流程圖如圖18所示。圖18 光照采集程序設(shè)計流程圖 5 總結(jié)該設(shè)計通過分析自動窗簾系統(tǒng)的現(xiàn)狀和人們對自動窗簾系統(tǒng)功能的需求,對自動窗簾系統(tǒng)控制器進行總體設(shè)計??傮w設(shè)計采用步進電機為單片機控制元件,執(zhí)行窗簾開閉的主要任務(wù);以光敏電阻為

31、檢測元件,提供單片機外界光照變化;以紅外檢測電路,實現(xiàn)手動控制;以89C51單片機為主控制芯片,控制整個系統(tǒng)運行;此外輔助以按鍵和顯示電路,在各模塊的配合下,最終實現(xiàn)自動窗簾控制系統(tǒng)的智能化要求。自動窗簾控制系統(tǒng)具有以下幾個基本功能:光照控制:根據(jù)光照強度值,通過感光器采集,自動打開或關(guān)閉窗簾。即當(dāng)早晨光照強度增強到設(shè)定值,通過感光器采集,單片機控制步進電機打開窗簾;當(dāng)夜晚光照強度減弱到設(shè)定值,通過感光器采集,單片機控制步進電機關(guān)閉窗簾。紅外控制:當(dāng)光照強度未達到設(shè)定值,手動操作紅外遙控器,由紅外接收系統(tǒng)接收信號,單片機控制步進電機打開或關(guān)閉窗簾。參考文獻1閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版) 北

32、京:高等教育出版社,20062李哲英.電子技術(shù)及其應(yīng)用基礎(chǔ)(數(shù)字部分)北京:高等教育出版社,20033郭天祥.十天學(xué)會單片機和C語言編程 北京;電子工業(yè)出版社,20094 李廣第. 單片機基礎(chǔ). 北京:北京航空航天大學(xué)出版社,20015 瞿貴榮.電動窗簾紅外遙控電路.家庭電子,2005,2:35-366 王麗君,楊偉豐. 電機無線遙控系統(tǒng)設(shè)計的研究大眾科技,2009,11:124-1257 張培志,陸偉. 仇芝基于單片機技術(shù)的無線遙控家居照明系統(tǒng).儀器儀表用戶,2008附錄 1:原理圖附錄 2:部分子程序/*主函數(shù)*/void main()beep = 0; /開機叫一聲 delay_1ms(

33、150);P0 = P1 = P2 = P3 = 0xff;/單片機IO口初始化為1init_time0(); /初始化定時器init_ds1302(); /ds1302初始化init_eeprom(); /開始初始化保存的數(shù)據(jù)init_1602(); /lcd1602初始化init_1602_dis_csf(); /lcd1602初始化顯示temperature = read_temp(); /讀溫度delay_1ms(650);temperature = read_temp(); /讀溫度while(1)key(); /按鍵程序if(key_can = 99)temperature = 9

34、9;guanxian = ad0832read(1,0) * 99.0 / 255;if(menu_1 = 0)read_time(); /讀時間init_1602_ds1302(); /顯示時鐘write_sfm2(1,13,guanxian);/顯示溫度write_sfm2_18B20(2,13,temperature);/顯示溫度if(temperature = t_high)beep =beep; /蜂鳴器溫度報警else beep = 1; if(menu_1 = 0)shoudong_kaiguan(); /手動開關(guān)窗簾zinengchuanglian_dis(); /智能窗簾定時

35、處理函數(shù)tiaoshi_dianji();/調(diào)試窗簾電機bujindj(); /步進電機函數(shù)delay_1ms(1);/*獨立按鍵程序*/void key() /獨立按鍵程序static uchar key_new;key_can = 20; /按鍵值還原P3 |= 0xf0; /對應(yīng)的按鍵IO口輸出為1if(P3 & 0xf0) != 0xf0)/按鍵按下delay_1ms(1); /按鍵消抖動if(P3 & 0xf0) != 0xf0) & (key_new = 1)/確認是按鍵按下key_new = 0;switch(P3 & 0xf0)case 0x80: key_can = 1; b

36、reak; /得到按鍵值 case 0x40: key_can = 2; break; /得到按鍵值 case 0xb0: key_can = 3; break; /得到按鍵值 case 0x70: key_can = 4; break; /得到按鍵值 flag_lj_en = 1;beep = 0;delay_1ms(80);beep = 1;else key_new = 1;flag_lj_en = 0;/*設(shè)置函數(shù)*/void key_with()if(menu_1 = 0)if(key_can = 2)/設(shè)置手動還是自動模式flag_zd_sd +;if(flag_zd_sd = 3)

37、flag_zd_sd = 0;if(flag_zd_sd = 0) /手動write_string(1,0, sd); if(flag_zd_sd = 1) /定時模式write_string(1,0, ds); if(flag_zd_sd = 2) /光線控制write_string(1,0, gx); write_eeprom(); /保存flag_kaig_moshi = 0;if(key_can = 1)/設(shè)置鍵menu_1+;if(menu_1 = 1) /設(shè)置時間menu_2 = 1;write_string(1,0, : : W: );write_string(2,0, 20 -

38、 - );if(menu_1 = 2) /設(shè)置開關(guān)窗簾時間menu_2 = 1;write_string(1,0, kai 00:00 ); write_string(2,0,guan 00:00 );if(menu_1 = 3) /設(shè)置報警光線報警menu_2 = 1;write_string(1,0, Set Guanxian );write_string(2,0, 00% );if(menu_1 = 4) /設(shè)置報警溫度menu_2 = 1;write_string(1,0, Set Wendu ); write_string(2,0, 00 );write_zifu(2,9,0xdf)

39、; /顯示度if(menu_1 = 5) /手動把窗簾歸0menu_2 = 1;write_string(1,0, tiaoshi dianji ); write_string(2,0, 0 );write_guanbiao(2,6,0);if(menu_1 2) /回到正常顯示menu_1 = 0;write_guanbiao(1,2,0); /關(guān)閉光標init_1602_dis_csf(); /初始化液晶顯示if(key_can = 2)/選擇鍵flag_200ms = 1;if(menu_1 = 1) /設(shè)置時間menu_2 +;if(menu_2 5)menu_2 = 1;if(men

40、u_1 = 2) /設(shè)置開關(guān)的時間menu_2 +;if(menu_2 4)menu_2 = 1;if(menu_1 = 1)if(menu_2 = 1) /設(shè)置時if(key_can = 3)/加shi+=0x01;if(shi & 0x0f) = 0x0a)shi = (shi & 0xf0) + 0x10;if(shi = 0x24)shi = 0;if(key_can = 4)/減if(shi = 0x00)shi = 0x24;if(shi & 0x0f) = 0x00)shi = (shi | 0x0a) - 0x10;shi - ; if(menu_2 = 2) /設(shè)置分if(k

41、ey_can = 3)/加fen+=0x01;if(fen & 0x0f) = 0x0a)fen = (fen & 0xf0) + 0x10;if(fen = 0x60)fen = 0;if(key_can = 4)/減 if(fen = 0x00)fen = 0x5a;if(fen & 0x0f) = 0x00)fen = (fen | 0x0a) - 0x10;fen - ;if(menu_2 = 3) /設(shè)置秒if(key_can = 3)/加miao+=0x01;if(miao & 0x0f) = 0x0a)miao = (miao & 0xf0) + 0x10;if(miao = 0

42、x60)miao = 0;if(key_can = 4)/減 if(miao = 0x00)miao = 0x5a;if(miao & 0x0f) = 0x00)miao = (miao | 0x0a) - 0x10;miao - ;if(menu_2 = 4) /設(shè)置星期if(key_can = 3)/加 week+=0x01;if(week & 0x0f) = 0x0a)week = (week & 0xf0) + 0x10;if(week = 0x08)week = 1;if(key_can = 4)/減 if(week = 0x01)week = 0x08;if(week & 0x0f

43、) = 0x00)week = (week | 0x0a) - 0x10;week - ;if(menu_2 = 5) /設(shè)置年if(key_can = 3)/加a nian+=0x01;if(nian & 0x0f) = 0x0a)nian = (nian & 0xf0) + 0x10;if(nian = 0x9a)nian = 1;if(key_can = 4)/減 if(nian = 0x01)nian = 0x9a;if(nian & 0x0f) = 0x00)nian = (nian | 0x0a) - 0x10;nian - ;if(menu_2 = 6) /設(shè)置月if(key_c

44、an = 3)/加 yue+=0x01;if(yue & 0x0f) = 0x0a)yue = (yue & 0xf0) + 0x10;if(yue = 0x13)yue = 1;if(key_can = 4)/減 if(yue = 0x01)yue = 0x13;if(yue & 0x0f) = 0x00)yue = (yue | 0x0a) - 0x10;yue - ;if(menu_2 = 7) /設(shè)置日if(key_can = 3)/加 ri+=0x01;if(ri & 0x0f) = 0x0a)ri = (ri & 0xf0) + 0x10;if(ri = 0x32)ri = 0;i

45、f(key_can = 4)/減 if(ri = 0x01)ri = 0x32;if(ri & 0x0f) = 0x00)ri = (ri | 0x0a) - 0x10;ri - ;write_sfm2_ds1302(1,2,shi); /顯示時write_sfm2_ds1302(1,5,fen); /顯示分write_sfm2_ds1302(1,8,miao); /顯示秒write_sfm1(1,14,week); /顯示星期write_sfm2_ds1302(2,3,nian); /顯示年write_sfm2_ds1302(2,6,yue); /顯示月write_sfm2_ds1302(2

46、,9,ri); /顯示日switch(menu_2) / 光標顯示case 1: write_guanbiao(1,2,1); break;case 2: write_guanbiao(1,5,1); break;case 3: write_guanbiao(1,8,1); break;case 4: write_guanbiao(1,14,1); break;case 5: write_guanbiao(2,3,1); break;case 6: write_guanbiao(2,6,1); break;case 7: write_guanbiao(2,9,1); break;write_time(); /把時間寫進去/*設(shè)置開關(guān)窗簾時間*/if(menu_1 = 2)if(menu_2 = 1) /設(shè)置開窗簾時間時if(key_can = 3)/加set_ds1302time(1,&k_shi,0x24);if(key_can = 4)/減 set_ds1302time(0,&k_shi,0x24);if(menu_2 = 2) /設(shè)置開窗簾時間分if(key_can = 3)/加set_ds1302ti

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論