版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)設(shè)計(論文)</p><p> 學(xué) 院: 電子與電氣工程學(xué)院 </p><p> 專 業(yè): 自動化 </p><p> 學(xué) 生: </p><p> 指導(dǎo)教師:
2、 </p><p> 完成日期 2013 年 5 月</p><p> 紅外窗簾控制器設(shè)計與實現(xiàn)</p><p> Design and Implementation of Infrared Controller for Curtain</p><p> 總計: 畢業(yè)設(shè)計(論文) 34頁</p><
3、p> 表 格: 3 個</p><p> 插 圖: 36 幅</p><p> 紅外窗簾控制器設(shè)計與實現(xiàn)</p><p> [摘 要] 本文設(shè)計了一種基于STC89C52單片機的紅外窗簾控制器,系統(tǒng)分為兩個部分,一是紅外遙控器部分,分別設(shè)置了啟動/停止、打開、關(guān)閉、速度減小、速度增加和自動6個按鍵,當(dāng)不同的按鍵被按下時紅外
4、發(fā)射二極管便發(fā)出不同的按鍵編碼。二是接收控制器部分,其功能是用單片機通過一體化紅外接收頭接收遙控器發(fā)出的編碼并進(jìn)行解調(diào),然后根據(jù)編碼的功能來控制步進(jìn)電機的運行狀態(tài)。系統(tǒng)包括手動和自動兩種模式,在手動模式下可通過按鍵來控制窗簾的打開,關(guān)閉或停止。在自動模式下可根據(jù)室內(nèi)光線的強度自動控制窗簾的打開或關(guān)閉。從而實現(xiàn)手動和自動控制窗簾的目的。</p><p> [關(guān)鍵詞] 單片機;紅外;遙控;窗簾 </p>
5、<p> Design and Implementation of Infrared Controller for Curtain </p><p> Abstract: This design is an infrared curtain controller based on the STC89C52 single chip micro computer. The system can be
6、 divided into two parts. The first part is the IR remote control which sets the 6 buttons of start/stop, open, close, slow down, speed up and automatic. The infrared emitting diode will send different code when different
7、 button is pressed. The second part is the receiving controller which would make use of the single chip micro computer to receive the code sent by the remote</p><p> Key words: Single chip micro computer; i
8、nfrared; remote control; curtain</p><p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p> 2 單片機的介紹2</p><p> 2.1 單片機簡介3</p><p> 2.2
9、單片機的特點3</p><p> 2.3 單片機的應(yīng)用3</p><p> 2.4 單片機AT89C52的結(jié)構(gòu)原理4</p><p> 3 系統(tǒng)總體設(shè)計8</p><p> 3.1 系統(tǒng)硬件電路設(shè)計9</p><p> 3.1.1 紅外發(fā)射模塊9</p><p> 3.1
10、.2 紅外接收模塊10</p><p> 3.1.3 顯示模塊11</p><p> 3.1.4 光控模塊13</p><p> 3.1.5 步進(jìn)電機驅(qū)動模塊14</p><p> 3.1.6 窗簾框架構(gòu)造設(shè)計16</p><p> 3.2 系統(tǒng)軟件設(shè)計16</p><p>
11、; 3.2.1 紅外遙控器的編碼16</p><p> 3.2.2 二進(jìn)制信號的調(diào)制17</p><p> 3.2.3 二進(jìn)制信號的解碼18</p><p> 3.2.4 紅外遙控器模塊程序設(shè)計19</p><p> 3.2.5 紅外接收模塊程序設(shè)計21</p><p> 3.2.6 LCD160
12、2模塊程序設(shè)計24</p><p><b> 4 系統(tǒng)調(diào)試26</b></p><p><b> 結(jié)束語30</b></p><p><b> 參考文獻(xiàn)31</b></p><p><b> 附錄32</b></p><
13、;p><b> 致謝34</b></p><p><b> 1 引言</b></p><p> 近幾年來,隨著科學(xué)技術(shù)的發(fā)展和人民生活水平的日益提高,城市化建設(shè)的步伐也在不斷的加快,一棟棟居民樓、寫字樓、酒店拔地而起。智能家居已經(jīng)覆蓋家庭自動化,家庭網(wǎng)絡(luò),信息家電等幾大塊,隨著高新技術(shù)及電子器件的發(fā)展,光控,溫控,及遙控技術(shù)應(yīng)運而生
14、,給人們的生活帶來了很大的方便,同時也為人們的生活環(huán)境以及智能家居的實現(xiàn)提供了依據(jù)。</p><p> 單片機控制的紅外窗簾控制器,既能解決每天用手打開或關(guān)閉窗簾的不便,又顯示出了生活的檔次,同時還可以根據(jù)光線的明暗來自動控制窗簾的開關(guān),以調(diào)節(jié)室內(nèi)的光線,更進(jìn)一步地滿足了人們的享受要求。所以該產(chǎn)品能形成大規(guī)模生產(chǎn),很快會普及全國市場,產(chǎn)生巨大的經(jīng)濟(jì)效益;另外,該窗簾控制器除了能在廣大市民住宅區(qū)使用外,還可以廣泛
15、應(yīng)用于別墅、公寓、賓館、飯店、寫字樓、歌舞廳、影劇院、會議廳、銀行、學(xué)校、醫(yī)院等各種公共場所,因此該產(chǎn)品具有廣闊的市場前景。 </p><p> 紅外窗簾控制器在我國還剛剛興起,但其發(fā)展前景廣闊,推廣和應(yīng)用自動窗簾系統(tǒng)具有重要的現(xiàn)實意義。其一,改變?nèi)藗兊纳罘绞?。單片機控制的紅外窗簾控制器具有豐富的智能化功能,為家庭用戶營造一個高效、舒適、便利、環(huán)保的居住環(huán)境。單片機控制的紅外窗簾控制器只用一個多功能遙控器就能
16、控制住房的窗簾開關(guān)問題,給人們的日常生活帶來了極大的方便。這些都將改變?nèi)藗儌鹘y(tǒng)的生活方式,并提高了人們的生活質(zhì)量。其二,牽動一大批產(chǎn)業(yè)。單片機控制的紅外遙控窗簾產(chǎn)品面向家庭用戶,其應(yīng)用市場是龐大的,發(fā)展前景也是廣闊的,必將吸引大批有遠(yuǎn)見的各類企業(yè)介入,從而牽動一大批產(chǎn)業(yè)的發(fā)展。</p><p> 這里最先受益的應(yīng)該是房地產(chǎn)業(yè),單片機控制的紅外窗簾控制器不僅是一個很好的概念與“賣點”,同時也是直接提升住宅檔次的一
17、個條件,這將會給房地產(chǎn)商帶來新的利潤空間。在家居集成化、網(wǎng)絡(luò)化的趨勢下,家居集成也成為一種潮流,許多更專業(yè)的、美觀的、智能化的家居集成產(chǎn)品相繼出現(xiàn)。其三,開拓一個嶄新的市場。紅外窗簾控制器牽動了許多的行業(yè),它將不僅僅是目前的IT系統(tǒng)集成商或建筑弱電工程總包商的市場,而且是專業(yè)公司和智能化裝飾公司的市場。 </p><p> 在歐美等發(fā)達(dá)國家,紅外遙控窗簾已廣泛應(yīng)用。在10年前,遙控窗簾就已經(jīng)進(jìn)入我國,可一直沒有
18、大的推廣,這兩年,隨著電控技術(shù)的不斷提高及價格的不斷下降,遙控窗簾熱才又卷土重來。據(jù)了解,全國共有170多種電動窗簾器獲得了國家專利,但就其技術(shù)本身而言,還是大同小異,但售價卻有很大差別,貴的要數(shù)千元,便宜的只要500塊。</p><p> 盡管紅外窗簾控制器在國內(nèi)是一個新興的行業(yè),但是,它也正以不可抵擋之勢迅速崛起。紅外窗簾控制器走進(jìn)中國以來,在短短四年的時間里,其生產(chǎn)商由最初的幾家公司增加到如今的百余家企業(yè)
19、,其行業(yè)發(fā)展之迅速是目前國內(nèi)任何其它行業(yè)所無法比擬的。目前,我國紅外窗簾控制器生產(chǎn)廠商、分銷商、集成商與裝飾公司都形成了相當(dāng)規(guī)模,不少國內(nèi)知名企業(yè)紛紛涉足紅外窗簾控制器行業(yè),如青島海爾、清華同方、TCL等,并涌現(xiàn)出一些較具影響力的智能家居專業(yè)廠商,如上海索博智能電子有限公司、北京九州易居科技有限公司、天津瑞朗智能家居電子科技有限公司、深圳市正星特科技有限公司等。紅外遙控窗簾產(chǎn)品已開始走進(jìn)中國的家庭。具報道,我國2004年售出商品房1.9
20、億m²,如果每20m²需要一套窗簾架產(chǎn)品,僅此一項就可以年新增窗簾架產(chǎn)品近千萬套以上,年新增窗簾架產(chǎn)品市場需求將不低于2000萬套。如果單片機控制的紅外窗簾控制器的銷售占市場的5%左右,就可實現(xiàn)年產(chǎn)值上億元。</p><p> 隨著紅外遙控窗簾熱潮在世界范圍內(nèi)的日漸興起,隨著中國電子技術(shù)的飛速發(fā)展,人們生活水平的不斷提高以及智能電子技術(shù)在生活中的廣泛應(yīng)用,紅外遙控窗簾已經(jīng)成為未來家居裝飾潮流
21、發(fā)展的最新方向,在不久的將來,沒有紅外遙控窗簾系統(tǒng)的住宅肯定不合潮流。從目前的發(fā)展趨勢來看,在未來的20年時間里,紅外遙控窗簾行業(yè)將成為中國的主流行業(yè)之一,其市場的發(fā)展前景是非常廣闊的。 </p><p> 智能家居系統(tǒng)是一個大的社會系統(tǒng)工程,我們應(yīng)當(dāng)加快我國智能家居標(biāo)準(zhǔn)化進(jìn)程。遙控窗簾系統(tǒng)作為智能家居中一個很重要的部分,需要在我國智能家居這一領(lǐng)域,建立起一個具有中國特色的新興、健康的產(chǎn)業(yè)鏈,讓自動窗簾系統(tǒng)在我
22、國并不是遠(yuǎn)在天邊,而是近在眼前?,F(xiàn)有的遙控窗簾機的控制方式有固定式開關(guān)控制、遙控、光控、聲控等,其中以前兩種形式居多。就實用程度和經(jīng)濟(jì)角度來說,用遙控方式較好,因為這樣可以省去頻繁用手去拉窗簾的繁瑣,睡在床上就能控制窗簾的開關(guān),既方便又節(jié)能,所以我想利用價格相對便宜的AT89C52單片機作為主要控制器件來完成本系統(tǒng)的設(shè)計。該系統(tǒng)主要有如下幾方面的特點: </p><p> ?。?)紅外遙控器和紅外接收控制器均采用
23、價格相對便宜的AT89C52單片機作為主控芯片,這樣既方便又實惠。</p><p> ?。?)采用紅外遙控方式,控制靈活方便,不會干擾其它電器的正常工作,也不會影響鄰近的無線設(shè)備。 </p><p> ?。?)具有兩種控制方式分別為手動控制方式和自動控制方式。</p><p> ?。?)設(shè)置有位置傳感器用來檢測窗簾的打開程度,當(dāng)窗簾完全打開或完全關(guān)閉時窗簾會自動停止
24、,防止損壞電機。 </p><p> (5)體積小、結(jié)構(gòu)簡單、靈敏度高、抗干擾性強、經(jīng)濟(jì)實用、工作可靠。 </p><p><b> 2 單片機的介紹</b></p><p> 為了使紅外窗簾控制器在實際使用過程中方便快捷,能夠發(fā)揮較高的性能,為此在該系統(tǒng)上配備了液晶顯示模塊使操作具有可見性。以STC89C52單片機作為整個系統(tǒng)的核心芯片
25、,控制其它模塊來完成各種操作;紅外一體化接收頭負(fù)責(zé)接收遙控信號;ULN2003A用來驅(qū)動步進(jìn)電機;光敏電阻模塊用來檢測光照的強度,根據(jù)光線的強弱來控制窗簾的打開或關(guān)閉。</p><p><b> 2.1 單片機簡介</b></p><p> 將中央處理器(Central Processing Unit ,CPU),隨機存儲器,只讀存儲器,中斷系統(tǒng),定時器/計數(shù)器以
26、及I/O接口電路等微型計算機的主要部件集成在一塊芯片上,使其具有計算機的基本功能,即單片微型計算機(Single Chip Micro Computer,SCMC),簡稱單片機[1]。</p><p> 由于單片機的指令功能是按照工業(yè)控制的要求設(shè)計的,所以單片機又稱為微控制器(Micro Controller Unit),常用英文字母的縮寫MCU表示,單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的
27、應(yīng)用,手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電子產(chǎn)品中都有單片機的身影。</p><p> 2.2 單片機的特點</p><p> ?。?)采用面向控制的指令系統(tǒng)。為滿足控制的需要,單片機有更強的邏輯控制能力,特別是具有很強的位處理能力。</p><p> ?。?)單片機的I/O引腳通常是多功能的。由于單片機芯片上引腳數(shù)目有限為了解決實際引腳數(shù)
28、和需要的信號線的矛盾,采用了引腳功能復(fù)用的方法。引腳處于何種功能,可由指令來設(shè)置或由機器狀態(tài)來區(qū)分。</p><p> ?。?)單片機的外部擴展能力強。在內(nèi)部的各種功能部分不能滿足應(yīng)用需求時,均可在外部進(jìn)行擴展,與許多通用的微機接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計帶來極大的方便和靈活性。</p><p> ?。?)體積小,成本低,運用靈活,易于產(chǎn)品化,它能方便的組成各種智能化的控制設(shè)備和儀器,做到
29、機電一體化。</p><p> ?。?)面向控制,能有針對性的解決從簡單到復(fù)雜的各類控制任務(wù),因而能獲得最佳的性能價格比。</p><p> ?。?)抗干擾能力強,適用溫度范圍寬,在各種惡劣的環(huán)境下都能可靠的工作。</p><p> ?。?)可以方便地實現(xiàn)多機和分布式控制,使整個控制系統(tǒng)的效率和可靠性大為提高。</p><p> 2.3 單
30、片機的應(yīng)用</p><p> 可以說,二十世紀(jì)跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進(jìn)入的電腦時代。不過,這種電腦通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成。還有一類計算機,大多數(shù)人卻不怎么熟悉,這種計算機就是把智能賦予各種機械的單片機(亦稱微控制器)。顧名思義,這種計算機的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡單運算和控制,因為它體積小,通常都藏在被控機械的“肚子”里。現(xiàn)在,這種
31、單片機的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,如智能型洗衣機等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機或其它可編程邏輯器件上。</p><p> 目前單片機滲透到我們生活的各個領(lǐng)域
32、,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及遙控玩具、電子寵物等等,這些都離不開單片機,更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用與智能化控制的科學(xué)家、工程師。 </p>&
33、lt;p> 單片機廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域[2]。</p><p> 2.4 單片機AT89C52的結(jié)構(gòu)原理</p><p> AT89C52實物圖如圖1所示。</p><p> 圖1 AT89C52實物圖</p><p> (1) AT89C52的內(nèi)部結(jié)構(gòu)圖<
34、;/p><p> AT89C52的內(nèi)部結(jié)構(gòu)圖如圖2所示。</p><p> 圖2 AT89C52內(nèi)部結(jié)構(gòu)圖</p><p> (2) AT89C52的主要性能</p><p> AT89C52是ATMEL公司生產(chǎn)的帶4K字節(jié)閃速可編程可擦除只讀存儲器(EEPROM)的8位單片機,它具有如下主要特性[3]: </p><
35、;p> 與MCS-51產(chǎn)品完全兼容。 </p><p> 具有4K可在系統(tǒng)編程的Flash內(nèi)部程序存儲器,可擦/寫1000次。 </p><p> 全靜態(tài)操作:0Hz~24MHz。 </p><p> 三級程序存儲器加密。</p><p> 128字節(jié)內(nèi)部RAM。</p><p> 32根可編程I/O
36、引線。 </p><p> 兩個16位定時器/計數(shù)器。 </p><p><b> 6個中斷源。</b></p><p> 可編程串行UART通道。</p><p> 低功耗空閑模式和掉電模式。</p><p> (3) AT89C52各引腳功能</p><p&
37、gt; AT89C52單片機引腳圖如圖3所示。</p><p> 圖3 AT89C52單片機引腳圖</p><p> AT89C52是一個有40個引腳的芯片,采用雙列直插(DIP)方式[4]。</p><p><b> ?。?)電源引腳:</b></p><p> Ucc--接5V電源正端。 </p>
38、<p> Uss--接5V電源地端。 </p><p> (2)外接晶振引腳:</p><p> XTAL1(19引腳)。接外部晶振和微調(diào)電容的一端,與單片機片內(nèi)震蕩電路一起,產(chǎn)生由外部晶振決定的震蕩頻率。接內(nèi)部反向放大器的輸入端,使用外部時鐘時,該引腳輸入外部時鐘脈沖。</p><p> XTAL2(18引腳)。接外部晶振和微調(diào)電容的另一端,
39、接內(nèi)部反向放大器的輸出端,使用外部時鐘時,該引腳接地。 </p><p><b> ?。?)制信號引腳:</b></p><p> RST/Upd:復(fù)位/備用電源。 </p><p> RST(Reset)功能:復(fù)位信號輸入端,高電平有效。 </p><p> Upd功能:備用電源輸入端,保持內(nèi)部RAM中的數(shù)據(jù)不丟
40、失。 </p><p> ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖。</p><p> ALE功能:用來鎖存P0口送出的低8位地址。</p><p> PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 </p><p> PSEN:片外程序存儲器讀選通信號輸出端,每個機器周期輸出兩個負(fù)脈沖
41、,低電平有效。 </p><p><b> EA/Upp: </b></p><p> EA為片外程序存儲器選擇輸入端。低電平時使用片外程序存儲器,為高電平時,使用片內(nèi)程序存儲器。 </p><p> Upp為片內(nèi)程序存儲器編程電壓輸入端。</p><p> 輸入輸出引腳:P0、P1、P2、P3共四個八位I/O口
42、。</p><p> P0口是一個 8位漏極開路的I/O口,當(dāng)CPU以總線方式訪問片外存儲器時,P0口分時的輸出低8位地址,讀入指令和輸入/輸出數(shù)據(jù),此時PO口可以驅(qū)動8個LS型TTL負(fù)載。當(dāng)P0口作為一般I/O口時,為準(zhǔn)雙向口,并且作為輸出時必須接上拉電阻。</p><p> P1口是一個內(nèi)部有上拉的8位準(zhǔn)雙向I/O口,作為一般I/O口使用,可以驅(qū)動4個LS型TTL負(fù)載。對于增強型單
43、片機,P1.0、P1.1還有第二功能,第二功能的信號分別為T2和T2EX。T2(P1.0):定時器/計數(shù)器2的計數(shù)脈沖輸入和時鐘輸出。T2EX(P1.1):定時器/計數(shù)器2的重裝、捕獲和計數(shù)方向控制輸入。</p><p> P2口是一個內(nèi)部有上拉的8位I/O口。當(dāng)CPU以總線方式訪問片外存儲器,P2口輸出高8位地址。作為一般I/O口使用時,為準(zhǔn)雙向I/O口,可以驅(qū)動4個LS型TTL負(fù)載。</p>
44、<p> P3口:P3口也是一個內(nèi)部有上拉的8位I/O口,還是一個雙功能口。作為一般I/O口使用時,為準(zhǔn)雙向I/O口,可以驅(qū)動4個LS型TTL負(fù)載。各引腳第二功能如表1所示。</p><p> 表1 P3口各引腳第二功能定義</p><p><b> (4) 時鐘電路</b></p><p> 單片機時鐘電路如圖4所示。有兩
45、種方式可以產(chǎn)生單片機需要的時鐘,一種是內(nèi)部方式:就是利用單片機內(nèi)部的放大電路,通常外接一個晶振和兩個電容分別接在反向放大器的輸入端XTAL1,輸出端XTAL2就可以構(gòu)成穩(wěn)定的自激振蕩器。另一種是外部方式:使用外部的時鐘信號,接到XTAL1或XTAL2引腳上給單片機提供基本震蕩信號。</p><p> 電容C1和C2通常取30pF左右,可穩(wěn)定頻率并對頻率有微調(diào)作用,對89C52系列,其震蕩頻率一般為fosc= 0
46、~24MHz。</p><p> 振蕩周期/時鐘周期:Tc=晶振頻率fosc的倒數(shù)。狀態(tài)周期:Ts=2個時鐘周期(Tc)。 機器周期:Tm=6個狀態(tài)周期(Ts)=12個振蕩周期(Tc)。指令周期:Ti:執(zhí)行一條指令所需的機器周期(Tm)數(shù)。</p><p><b> 圖4 時鐘電路</b></p><p><b> (5)
47、 復(fù)位電路</b></p><p> 單片機復(fù)位電路如圖5所示。單片機與其它微處理器一樣,在啟動工作時先要進(jìn)行復(fù)位,使CPU及其它系統(tǒng)處于確定的初始狀態(tài),并從這個狀態(tài)開始工作。單片機有一復(fù)位引腳RST(復(fù)位信號的輸入端),高電平有效,單片機的復(fù)位是靠外部電路實現(xiàn)的,在時鐘電路工作后,只要在單片機的RST引腳上出現(xiàn)24個振蕩周期(2個機器周期)以上的高電平,系統(tǒng)內(nèi)部復(fù)位。</p><
48、;p><b> 圖5 復(fù)位電路</b></p><p><b> 3 系統(tǒng)總體設(shè)計 </b></p><p> 本文所介紹的紅外窗簾遙控器的系統(tǒng)框圖如圖6所示,紅外窗簾接收控制器的系統(tǒng)框圖如圖7所示。該系統(tǒng)主要有兩個部分組成:一是遙控器部分,其功能為:單片機掃描遙控器上的6個按鍵(啟動/停止,打開,關(guān)閉,速度減小,速度增加和自動),當(dāng)
49、某個按鍵按下后,單片機便通過紅外發(fā)光二極管發(fā)射該按鍵的編碼。二是接收控制器部分,其功能是用單片機通過紅外一體化接收頭接收遙控器發(fā)出的編碼并進(jìn)行解調(diào),解調(diào)后根據(jù)編碼的功能來控制步進(jìn)電機的狀態(tài),從而實現(xiàn)窗簾的打開、關(guān)閉或停止等功能。</p><p> 圖6 紅外窗簾遙控器系統(tǒng)框圖</p><p> 圖7 紅外窗簾接收控制器系統(tǒng)框圖</p><p> 3.1 系統(tǒng)硬
50、件電路設(shè)計 </p><p> 硬件電路設(shè)計主要包括:紅外發(fā)射模塊、紅外接收模塊、顯示模塊、光控模塊、電機驅(qū)動模塊、窗簾框架構(gòu)造設(shè)計。</p><p> 3.1.1 紅外發(fā)射模塊 </p><p> 紅外發(fā)射模塊主要包括單片機最小系統(tǒng),按鍵,紅外發(fā)射電路組成。本設(shè)計所要實現(xiàn)的功能不是很多,所以控制按鍵采用4×4的矩陣鍵盤即可達(dá)到要求,另外發(fā)射過程中單
51、片機輸出端產(chǎn)生的脈沖信號為38KHz,所以采用一個12M晶體振蕩器即可發(fā)出滿足要求的頻率。</p><p> 紅外線的發(fā)射過程如圖8所示。</p><p> 圖8 紅外線的發(fā)射過程框圖</p><p> 本遙控器的發(fā)射采用碼分制的遙控方式,碼分制紅外遙控就是指令信號產(chǎn)生電路以不同的脈沖編碼(不同的脈沖數(shù)目及組合)代表不同的控制指令[5]。</p>
52、<p> 在確定選擇AT89C52作為本設(shè)計發(fā)射電路核心芯片和矩陣鍵盤作為控制鍵后,加上一個簡單的紅外發(fā)射電路便可實現(xiàn)紅外信號的發(fā)射,紅外發(fā)射電路如圖9所示。</p><p><b> 圖9紅外發(fā)射電路圖</b></p><p> 根據(jù)紅外發(fā)射管本身的物理特性,必須要有載波信號與即將發(fā)射的信號相“與”,然后將相“與”后的信號送給發(fā)射管,才能進(jìn)行紅外信
53、號的發(fā)射與傳送,而在頻率為38KHz的載波信號下,發(fā)射管的性能最好,發(fā)射距離最遠(yuǎn),所以在硬件設(shè)計上,本設(shè)計利用單片機產(chǎn)生38KHz載波信號,與發(fā)射信號進(jìn)行邏輯“與”運算后,通過三極管的功率驅(qū)動到紅外發(fā)光二極管上[6]。</p><p> 紅外遙控器由51單片機、矩陣鍵盤、紅外發(fā)射二極管、NPN型三極管等組成。鍵盤用于輸入控制指令,51單片機檢測鍵盤上的按鍵狀態(tài),并對紅外信號進(jìn)行調(diào)制。發(fā)射二極管發(fā)射紅外線,當(dāng)單片
54、機P3.4口輸出為“0”時,紅外發(fā)射管不發(fā)光,當(dāng)單片機P3.4口輸出為“1”時,紅外發(fā)射管發(fā)出38KHz調(diào)制紅外線。</p><p> 紅外信號調(diào)制過程如圖10所示。</p><p> 圖10 調(diào)制過程波形圖</p><p> 3.1.2 紅外接收模塊</p><p> 紅外一體化接收頭(HS0038)實物圖如圖11所示。</p
55、><p> 圖11 HS0038紅外接收器件</p><p> 紅外線接收電路使用的是集成紅外接收器,型號為HS0038,它接收紅外信號的頻率為38kHz,周期約26us,采用黑色環(huán)氧樹脂封裝,提供了一個特殊的紅外濾光器,可防止自然光、熒光燈等光源的干擾,內(nèi)附磁屏蔽,功耗低,靈敏度高。在用小功率發(fā)射管發(fā)射信號情況下,其接收距離可達(dá)35m。它能與TTL、COMS 電路兼容。</p>
56、;<p> 靜態(tài)時輸出端輸出高電平,當(dāng)接收到紅外信號后,按紅外信號的數(shù)據(jù)波形輸出負(fù)脈沖數(shù)據(jù)信號。紅外信號輸出到單片機的P3.2口,該口對應(yīng)的第二功能是外部中斷0(INT0),利用這一功能,一旦接收到紅外信號,P3.2即被拉低,單片機產(chǎn)生中斷,處理紅外信號[7]。</p><p> 紅外接收頭完成對紅外信號的接收、放大、檢波、整形,并解調(diào)出遙控編碼脈沖,輸出可以讓單片機識別的TTL信號,再送給單片
57、機,經(jīng)單片機解碼并執(zhí)行去控制相關(guān)對象。三個管腳分別是GND、+5V 電源、OUT(解調(diào)信號輸出端),紅外接收頭電路如圖12所示。</p><p> 圖12 紅外接收頭電路圖</p><p> 3.1.3 顯示模塊</p><p> 液晶是一種高分子材料,因為其特殊的物理、化學(xué)、光學(xué)特性,20世紀(jì)中葉開始廣泛應(yīng)用在輕薄型顯示器上。</p><
58、p> 液晶顯示器(LCD)的主要原理是以電流刺激液晶分子產(chǎn)生點、線、面并配合背部燈管構(gòu)成畫面。液晶顯示器采用目前使用的比較廣泛的字符型液晶顯示器LCD1602。1602液晶每行可顯示16個字符,一共可以顯示兩行。LCD1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號和日文假名等。每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼
59、是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”[8]。</p><p> 在本設(shè)計中LCD1602的主要功能為顯示所接收到的遙控器按鍵編碼、運行狀態(tài)(RUN,STOP或AUTO)、速度等級等內(nèi)容。</p><p><b> ?。?)引腳功能說明</b></p><p> LCD1602
60、采用標(biāo)準(zhǔn)的14腳(無背光)和16腳(有背光)接口,各接口信號說明如表2所示。</p><p><b> 表2 接口信號說明</b></p><p> 第1腳:VSS為地電源;</p><p> 第2腳:VDD接5V正電源;</p><p> 第3腳:液晶顯示偏壓;</p><p> Vo
61、為液晶顯示器對比度調(diào)整端,使用時可以通過一個10K電位器接地。</p><p> 第4腳:數(shù)據(jù)/命令選擇;</p><p> RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。</p><p> 第5腳:讀/寫選擇;</p><p> RW為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時
62、可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。</p><p><b> 第6腳:使能信號;</b></p><p> EN端為使能端,當(dāng)EN端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p> 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p>&l
63、t;p> 第15腳:背光源正極。</p><p> 第16腳:背光源負(fù)極。</p><p> ?。?)LCD1602的RAM地址映射圖</p><p> 控制器內(nèi)部帶有80×8位(80字節(jié))的RAM緩沖區(qū),對應(yīng)關(guān)系如圖13所示。</p><p> 圖13 LCD1602內(nèi)部RAM地址映射圖</p><
64、;p> 當(dāng)向00~0F、40~4F地址中的任一處寫顯示數(shù)據(jù)時,液晶都可以立即顯示出來,當(dāng)寫到10~27、50~67地址時,必須通過移屏指令將它們移入可顯示區(qū)域方可正常顯示[9]。</p><p> ?。?)LCD1602電路接線說明</p><p> P0口作為數(shù)據(jù)口,P0.0~P0.7分別連接LCD1602的D0~D7數(shù)據(jù)口,來傳輸數(shù)據(jù)及指令,由于P0口帶負(fù)載驅(qū)動能力差,故需接
65、上拉電阻。P2.4接LCD1602的4腳RS(數(shù)據(jù)/命令選擇端),P2.5接LCD1602的5腳RW(讀寫/選擇端),P2.6接LCD1602的6腳EN(使能信號)。VSS接地(電源地),VDD接5V電源(電源正極),VEE為液晶顯示偏壓信號。顯示模塊電路接線圖如圖14所示。</p><p> 圖14顯示模塊電路圖</p><p> 3.1.4 光控模塊</p><
66、p> 光敏電阻模塊由光敏電阻傳感器、可調(diào)電位器、寬電壓LM393比較器、電源指示燈、電容等元器件組成。光敏電阻對環(huán)境光線非常敏感,在黑暗的環(huán)境下,它的阻值很高,當(dāng)受到光照并且光輻射能量足夠大時,電阻變小。</p><p> 光敏電阻的管芯是一塊安裝在絕緣襯底上帶有兩個歐姆接觸電極的光電導(dǎo)體。光導(dǎo)體吸收光子而產(chǎn)生的光電效應(yīng),只限于光照的表面薄層,雖然產(chǎn)生的載流子也有少數(shù)擴散到內(nèi)部去,但擴散深度有限,因此光
67、電導(dǎo)體一般都做成薄層。為了獲得高的靈敏度,光敏電阻的電極一般采用硫狀圖案[10]。</p><p> 電壓比較器(LM393)是集成運放非線性應(yīng)用電路,它將一個模擬量電壓信號和一個參考電壓相比較,在二者幅度相等的附近,輸出電壓將產(chǎn)生越變,相應(yīng)輸出高電平或低電平。比較器可以組成非正弦波形變換電路及應(yīng)用于模擬與數(shù)字信號轉(zhuǎn)換等領(lǐng)域。參考電壓加在運放的反相輸入端,輸入電壓加在同相輸入端,當(dāng)輸入電壓小于參考電壓時,運放輸
68、出高電平(DO=1),當(dāng)輸入電壓大于參考電壓時,運放輸出低電平(D0=0)。光敏電阻模塊上有一個可調(diào)電位器用來調(diào)節(jié)光敏電阻的觸發(fā)靈敏度,使光線控制在一定的范圍之內(nèi)。光敏電阻模塊的DO輸出端與單片機的P2.0口相連,通過單片機來檢測DO端口高低電平,以此來判斷光線的強度,當(dāng)環(huán)境光線亮度達(dá)不到設(shè)定閾值時,DO端輸出低電平(光線較暗)步進(jìn)電機正轉(zhuǎn),當(dāng)外界環(huán)境光線亮度超過設(shè)定閾值時,DO端輸出高電平(光線較亮)步進(jìn)電機反轉(zhuǎn),從而實現(xiàn)窗簾的打開和
69、關(guān)閉。光敏電阻檢測電路如圖15所示。</p><p> 圖15 光敏電阻檢測電路</p><p> 3.1.5 步進(jìn)電機驅(qū)動模塊</p><p> 步進(jìn)電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu),具有瞬時啟動和急速停止的優(yōu)越特性,通過改變脈沖的順序就可以方便的改變轉(zhuǎn)動的方向,步進(jìn)電機必須加驅(qū)動才可以運轉(zhuǎn),驅(qū)動信號必須為脈沖信號,沒有脈沖的時候步進(jìn)電機靜止,當(dāng)步進(jìn)
70、電機驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(即步進(jìn)角)。轉(zhuǎn)動的速度與脈沖的頻率成正比??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。</p><p> 步進(jìn)電機驅(qū)動電路如圖16所示。本系統(tǒng)采用的是額定電壓為5V DC,相數(shù)為4相的步進(jìn)電機,驅(qū)動方式為4相8拍,一共有5根連接線,其中紅色為電源
71、線,采用單極性直流電源供電。由于單片機I/O口輸出的電流比較弱不能直接驅(qū)動步進(jìn)電機。所以要加一個ULN2003芯片(步進(jìn)電機驅(qū)動芯片)來放大電流使之能夠驅(qū)動步進(jìn)電機工作。</p><p> ULN2003芯片是高耐壓、大電流,內(nèi)部由七個硅NPN達(dá)林頓管組成的驅(qū)動芯片。經(jīng)常在以下電路中使用,顯示驅(qū)動、繼電器驅(qū)動、照明燈驅(qū)動、伺服電機驅(qū)動、步進(jìn)電機驅(qū)動等電路中。ULN2003的每一對達(dá)林頓管都串聯(lián)一個2.7K的基極
72、電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連??梢灾苯犹幚碓刃枰獦?biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。ULN2003工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時承受50V的電壓,輸出還可以在高負(fù)載電流并行運行。</p><p> ULN2003的封裝采用DIP-16或SOP-16,ULN2003可以驅(qū)動7個繼電器,具有高電壓輸出特性,并帶有共陰極的續(xù)流二極管使器件可用于開關(guān)型感性負(fù)載。每
73、對達(dá)林頓管的額定集電極電流是500mA,達(dá)林頓管還可以并聯(lián)使用以達(dá)到更高的電流輸出能力[11]。</p><p> 圖16 步進(jìn)電機驅(qū)動電路</p><p> 當(dāng)對步進(jìn)電機施加一系列連續(xù)不斷的控制脈沖時,它可以連續(xù)不斷地轉(zhuǎn)動。每一個脈沖信號對應(yīng)步進(jìn)電機的某一相或兩相繞組的通電狀態(tài)改變一次,對應(yīng)轉(zhuǎn)子也就轉(zhuǎn)過一定的角度(一個步距角),步距角為對應(yīng)一個脈沖信號,電機轉(zhuǎn)子轉(zhuǎn)過的角位移,當(dāng)通電狀
74、態(tài)的改變完成一個循環(huán)時,轉(zhuǎn)子轉(zhuǎn)過一個齒距。由于單片機I/O口沒有上拉電阻驅(qū)動能力有限,需要通過ULN2003來驅(qū)動步進(jìn)電機[12]。驅(qū)動端口為P1.0(A),P1.1(B),P1.2(C),P1.3(D)。紅色電線接電源+5V,橙色電線接P1.3口,黃色電線接P1.2口,粉色電線接P1.1口,藍(lán)色電線接P1.0口。如果P1口輸出的控制信號中,0代表使繞組通電,1代表使繞組斷電。則步進(jìn)電機的控制字見表3。</p><p
75、> 表3 四相八拍步進(jìn)電機控制字</p><p><b> 定義旋轉(zhuǎn)相序如下:</b></p><p><b> 正轉(zhuǎn)相序表</b></p><p> uchar code FFW[8]= {0xf1, 0xf3, 0xf2, 0xf6, 0xf4, 0xfc, 0xf8, 0xf9};</p>
76、<p><b> 反轉(zhuǎn)相序表</b></p><p> uchar code REV[8]= {0xf9, 0xf8, 0xfc, 0xf4, 0xf6, 0xf2, 0xf3, 0xf1};</p><p> 3.1.6 窗簾框架構(gòu)造設(shè)計</p><p> 窗簾框架構(gòu)造設(shè)計包括位置傳感器開關(guān)電路和窗簾架結(jié)構(gòu)的設(shè)計。本設(shè)計中
77、采用兩個位置傳感器接在單片機的P2.1引腳上,位置傳感器電路圖如圖17所示。位置傳感器固定在窗簾滑桿上,一個安裝在窗簾桿的正中間,另一個安裝在窗簾桿的最左端或最右端。當(dāng)窗簾完全打開或完全關(guān)閉時,位置傳感器便產(chǎn)生有效信號并送給單片機,通過程序使步進(jìn)電機停轉(zhuǎn),窗簾停止運動,防止在窗簾完全打開(關(guān)閉)時步進(jìn)電機繼續(xù)運行損壞窗簾。窗簾框架構(gòu)造如圖18所示。</p><p> 圖17 位置傳感器電路圖</p>
78、<p> 圖18 窗簾框架構(gòu)造</p><p> 3.2 系統(tǒng)軟件設(shè)計</p><p> 程序的編寫是系統(tǒng)中重要的組成部分,如果軟件編寫的科學(xué)規(guī)范就能充分體現(xiàn)出該系統(tǒng)功能的完整性、實用性和經(jīng)濟(jì)性。只有軟件和硬件都正確才能使系統(tǒng)正常的工作,才能達(dá)到我們想要的效果。本系統(tǒng)的軟件設(shè)計部分主要有紅外編碼程序、紅外解碼程序、LCD1602顯示程序、步進(jìn)電機控制程序這幾大類。<
79、;/p><p> 3.2.1 紅外遙控器的編碼</p><p> 本設(shè)計中采用不同的脈寬寬度來實現(xiàn)二進(jìn)制信號的編碼,編碼有發(fā)射單片機來完成。“0”碼由0.56ms的高電平和0.565ms的低電平組合而成,“1”碼由0.56ms的高電平和1.69ms的低電平組合而成。其波形如圖19所示。</p><p> 圖19 0和1編碼圖</p><p>
80、; 當(dāng)遙控器的按鍵被按下后,將發(fā)射一組108ms的編碼脈沖,遙控編碼脈沖信號有前導(dǎo)碼,16位地址碼(8位地址碼,8位地址的反碼)和16位操作碼(8位操作碼,8位操作碼的反碼)組成。</p><p> 通過對用戶碼的檢驗,每個遙控器只能控制一個設(shè)備動作,這樣可以有效的防止多個設(shè)備之間的干擾。編碼后面還要有編碼的反碼,用來檢驗編碼接收的正確性,防止誤操作,增強系統(tǒng)的可靠性。前導(dǎo)碼是一個遙控碼的起始部分,有一個9m
81、s的高電平(起始碼),和一個4.5ms的低電平(結(jié)果碼)組成,作為接收數(shù)據(jù)的準(zhǔn)備脈沖。開始時發(fā)射一個特定的同步碼,對于接收端而言就是一個9ms的低電平和一個4.5ms的高電平,這個同步碼頭可以使程序知道從這個同步碼頭以后可以開始接收數(shù)據(jù)[13]。數(shù)據(jù)格式如圖20所示。</p><p><b> 圖20 數(shù)據(jù)格式圖</b></p><p> 3.2.2 二進(jìn)制信號的
82、調(diào)制</p><p> 二進(jìn)制信號的調(diào)制仍由發(fā)送單片機來完成,采用單片機的定時中斷功能,由定時器T0產(chǎn)生周期為26us的矩形脈沖,即每隔13us定時器產(chǎn)生中斷輸出一個相反的信號使單片機輸出端產(chǎn)生周期為38KHZ的脈沖信號,脈沖信號如圖21中的B圖所示,單片機通過按鍵掃描獲取用戶遙控信息,然后交由單片機對將要發(fā)射的數(shù)據(jù)進(jìn)行整理將待發(fā)射的二進(jìn)制信號調(diào)制在38KHZ脈沖基波上,生成脈沖發(fā)射信號,最后通過紅外發(fā)射管發(fā)射
83、紅外信號,圖21為二進(jìn)制信號的調(diào)制過程,A是二進(jìn)制信號的編碼波形,B是頻率為38KHZ(周期為26us)的連續(xù)脈沖,C是經(jīng)調(diào)制后的間斷脈沖串(A和B相與之后的波形),用于紅外發(fā)射二極管發(fā)射的波形,圖中待發(fā)送的二進(jìn)制數(shù)據(jù)為010。</p><p> 圖21 二進(jìn)制信號的調(diào)制</p><p> 3.2.3 二進(jìn)制信號的解碼</p><p> 遙控器檢測到有鍵按下之
84、后,周期性的發(fā)出一種32位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時間隨它包含的二進(jìn)制“0”和“1”個數(shù)的不同而不同,大約在45ms至63ms之間。</p><p> 解碼的關(guān)鍵是如何識別“0”和“1”,從NEC標(biāo)準(zhǔn)中我們可以發(fā)現(xiàn)“0”碼、“1”碼均以0.56ms的高電平開始,不同的是低電平的寬度不同,“0”為0.565ms,“1”為1.69ms。 </p><p> “0”碼表
85、示為:0.56ms的高電平 + 0.565ms的低電平 = 1.125ms </p><p> “1”碼表示為:0.56ms的高電平 + 1.69ms的低電平 = 2.25ms </p><p> 但是值得注意的是當(dāng)紅外發(fā)射二極管發(fā)射高電平的時候,HS0038紅外接收頭輸出的是低電平;當(dāng)紅外發(fā)射二極管發(fā)射低電平的時候,HS0038紅外接收頭輸出的是高電平;所以HS0038接收頭輸出的波
86、形與發(fā)射波形是反向的。紅外信號是從HS0038紅外接收頭的OUT端獲得的,即發(fā)射碼與接收碼反向,所以在解碼時候必須按照如下來判斷“0”碼,“1”碼:</p><p> “0”碼表示為:0.56ms的低電平 + 0.565ms的高電平 = 1.125ms </p><p> “1”碼表示為:0.56ms的低電平 +1.69ms的高電平 = 2.25ms </p><
87、p> 由于“0”碼和“1”碼的低電平時間是一致的,那么解碼程序編寫的思路就是在解碼程序中通過一個while循環(huán)語句判斷出每位高電平的時間是0.565ms還是1.69ms,如果一位碼的高電平持續(xù)的時間為0.565ms,那么得到的就是“0”碼;如果高電平持續(xù)的時間是1.69ms,那么這位碼就是“1”碼。為了可靠起見延時必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此取(1.12m
88、s+0.56ms)/2=0.84ms,一般取0.84ms左右即可,根據(jù)紅外編碼的格式,程序應(yīng)該等待9ms的起始碼和4.5ms的結(jié)果碼完成后才能讀碼[14]。</p><p> 二進(jìn)制信號的解調(diào)由一體化紅外接收頭HS0038來完成,它把接收到的紅外信號(圖22中的波形D)經(jīng)內(nèi)部處理并解調(diào)復(fù)原,在輸出腳輸出圖22中的波形E,(正好是對圖21中A波形的取反)。HS0038的解調(diào)可理解為:在輸入有脈沖串時,輸出端輸出低
89、電平,否則輸出高電平,輸出端可直接與單片機串行輸入口及外部中斷相連,以實現(xiàn)隨時接收遙控信號并產(chǎn)生中斷,然后由單片機對編碼還原。</p><p> 二進(jìn)制信號的解調(diào)過程如圖22所示,它把紅外接收頭送來的二進(jìn)制編碼通過解碼,還原出發(fā)送端發(fā)送的數(shù)據(jù)010。</p><p> 圖22 二進(jìn)制信號的解調(diào)</p><p> ?。―)紅外發(fā)射頭發(fā)射的波形</p>
90、<p> ?。‥)紅外接收頭解調(diào)后輸出的波形</p><p> 3.2.4 紅外遙控器模塊程序設(shè)計</p><p> 紅外遙控器主程序流程圖如圖23所示。遙控器上分別設(shè)置了啟動/停止,打開,關(guān)閉,速度減小,速度增加和自動6個按鍵。鍵盤是單片機最常用的輸入設(shè)備,操作人員可以通過鍵盤輸入數(shù)據(jù)或命令,實現(xiàn)簡單的人--機通信。按鍵是一種常開型按鈕開關(guān)。平時按鍵的二個觸點處于斷開狀態(tài)
91、,當(dāng)鍵按下時才閉合。鍵盤分編碼鍵盤和非編碼鍵盤,鍵盤上閉合鍵的識別由專用的硬件譯碼器實現(xiàn),并產(chǎn)生鍵編號或鍵值的稱為編碼鍵盤,靠軟件識別的稱為非編碼鍵盤。判斷按鍵抖動常用軟件方法來檢測,即檢測在按鍵閉合后執(zhí)行一個延時程序,產(chǎn)生5-10ms的延時,讓前沿抖動消失后,再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測到按鍵釋放后,也要給5-10ms的延時,待后沿抖動消失后,才能轉(zhuǎn)入該鍵的處理程序。如果沒有鍵按下,單片機不
92、執(zhí)行任何操作,繼續(xù)處于等待狀態(tài),如果有鍵按下時,首先判斷按下的是哪一個鍵,若為啟動鍵則調(diào)用紅外發(fā)射子程序發(fā)送啟動鍵編碼0x00H,若為正轉(zhuǎn)鍵則調(diào)用紅外發(fā)射子程序發(fā)送正轉(zhuǎn)鍵編碼0x01H,若為反轉(zhuǎn)鍵則調(diào)用紅外發(fā)射子程序發(fā)射反轉(zhuǎn)鍵編碼0x02H,若為速度減小鍵則調(diào)用紅外發(fā)射子程序發(fā)射速度減小鍵編碼0x03</p><p> 圖23 紅外遙控器主程序流程圖</p><p> 遙控器上6個按鍵
93、的功能定義如圖24所示。當(dāng)按下啟動按鈕時系統(tǒng)進(jìn)入啟動狀態(tài),此時可以手動控制窗簾的打開,關(guān)閉,減速和加速,同時還可以進(jìn)入自動模式利用光敏模塊自動控制窗簾的打開或關(guān)閉。</p><p> 圖24 紅外遙控器按鍵功能</p><p> 主程序的按鍵子程序流程圖如圖25所示。首先初始化程序,然后調(diào)用鍵掃描處理子程序,再判斷處理是否有鍵按下,若有控制鍵按下則進(jìn)行逐行掃描,按照P口值查找鍵號,最后
94、按照鍵號轉(zhuǎn)至相應(yīng)的發(fā)射程序。</p><p> 圖25 遙控器按鍵子程序流程圖</p><p> 3.2.5 紅外接收模塊程序設(shè)計</p><p> 接收控制器系統(tǒng)中單片機微處理器的主要任務(wù)是完成對HS0038接收到的紅外信號的分析與處理,從而完成對相應(yīng)控制單元的控制,主程序首先完成初始化,然后啟動HS0038等待接收控制指令,進(jìn)行相應(yīng)的輸出操作[15]。&l
95、t;/p><p> 單片機對紅外控制信號的接收是通過P3.2口來完成的,其對應(yīng)的第二功能為外部中斷0(INT0),通過接收到不同的紅外信號脈沖實現(xiàn)相應(yīng)的操作。遙控器上六個按鍵的功能通過接收主程序來完成,程序?qū)3.2口實時檢測,一旦檢測到有低脈沖到來,首先調(diào)用讀紅外線的子程序(紅外解碼),通過子程序還原出遙控器按鍵的編碼,也就是對應(yīng)的啟動/停止,打開,關(guān)閉,速度減小,速度增加和自動鍵,然后轉(zhuǎn)至相應(yīng)的子程序去執(zhí)行相應(yīng)
96、的動作。</p><p> 若接收到的數(shù)據(jù)為0x00H,則置TEMP=0x00H,系統(tǒng)啟動;若接收到的數(shù)據(jù)為0x01H,則置TEMP=0x01H,窗簾打開;若接收到的數(shù)據(jù)為0x02H,則置TEMP=0x02H,窗簾關(guān)閉;若接收到的數(shù)據(jù)為0x03H,則置TEMP=0x03H,速度減??;若接收到的數(shù)據(jù)為0x11H,則置TEMP=0x11H,速度增加;若接收到的數(shù)據(jù)為0x12H,則置TEMP=0x12H,進(jìn)入自動模式
97、。</p><p> 紅外窗簾控制器接收主程序流程圖如圖26所示。首先初始化,單片機處理并判斷接收到的控制信號,成功獲取紅外編碼信號后去執(zhí)行相應(yīng)的動作。</p><p> 圖26 紅外窗簾控制器接收主程序流程圖</p><p> 紅外遙控器接收部分由信號接收子程序和信號解碼執(zhí)行子程序組成,信號接收子程序負(fù)責(zé)初始化,不停地查詢有無紅外信號。信號解碼執(zhí)行子程序主要
98、負(fù)責(zé)解碼和執(zhí)行解碼信號。信號接收子程序流程圖如圖27所示,信號解碼執(zhí)行子程序流程圖如圖28所示。</p><p> 圖27 信號接收子程序流程圖</p><p> 圖28 信號解碼執(zhí)行子程序流程圖</p><p> 3.2.6 LCD1602模塊程序設(shè)計</p><p><b> ?。?)本操作時序:</b><
99、;/p><p> 讀狀態(tài):輸入:RS=L,R/W=H,E=H;輸出:D0—D7=狀態(tài)字。 </p><p> 寫指令:輸入:RS=L,R/W=L,D0—D7=指令碼,E=高脈沖;輸出:無。</p><p> 讀數(shù)據(jù):輸入:RS=H,R/W=H,E=H;輸出:D0—D7=數(shù)據(jù)。</p><p> 寫數(shù)據(jù):輸入:RS=H,R/W=L,D0—D
100、7=數(shù)據(jù),E=高脈沖;輸出:無。</p><p> 寫操作時序如圖29所示。</p><p> 圖29 寫操作時序圖</p><p> ?。?)LCD1602的一般初始化(復(fù)位)過程:</p><p><b> ?、傺訒r15ms;</b></p><p> ?、趯懼噶?8H(不檢測忙信號);&
101、lt;/p><p><b> ?、垩訒r5ms;</b></p><p> ?、軐懼噶?8H(不檢測忙信號);</p><p><b> ⑤延時5ms;</b></p><p> ?、迣懼噶?8H(不檢測忙信號,以后每次寫指令、讀/寫數(shù)據(jù)操作之前均需檢測忙信號);</p><p>
102、; ?、邔懼噶?8H:顯示模式設(shè)置;寫指令08H:顯示關(guān)閉;寫指令01H:顯示清屏;</p><p> ?、鄬懼噶?6H:顯示光標(biāo)移動設(shè)置;寫指令0CH:顯示開及光標(biāo)設(shè)置。</p><p> LCD1602主程序流程圖如圖30所示。</p><p> 圖30 LCD1602主程序流程圖</p><p><b> ?。?)LCD子
103、程序</b></p><p> LCD子程序主要實現(xiàn)的功能是顯示步進(jìn)電機的狀態(tài)。顯示紅外遙控器上6個控制按鍵的編碼,步進(jìn)電機的運行狀態(tài)(RUN,STOP,AUTO),窗簾的打開和關(guān)閉指示符號以及步進(jìn)電機的速度等級。當(dāng)系統(tǒng)啟動時LCD1602液晶顯示器將顯示“INFRARED CURTAIN CONTROLLER”。系統(tǒng)LCD顯示子程序流程圖如圖31所示。</p><p>
104、圖31 LCD1602顯示子程序流程圖</p><p><b> 4 系統(tǒng)調(diào)試</b></p><p> 系統(tǒng)調(diào)試在控制系統(tǒng)研發(fā)過程中占有重要的地位,它是系統(tǒng)開發(fā)過程中一個不可缺少的環(huán)節(jié)。調(diào)試過程中可以對控制系統(tǒng)的各種功能進(jìn)行測試,通過與設(shè)計方案的比較來發(fā)現(xiàn)系統(tǒng)缺陷,并及時完善系統(tǒng),要求設(shè)計人員在調(diào)試過程中要認(rèn)真執(zhí)行每一個調(diào)試環(huán)節(jié),發(fā)現(xiàn)問題,提出相應(yīng)的解決方案,保
105、證控制系統(tǒng)在實際應(yīng)用中具有良好的可靠性和穩(wěn)定性。</p><p> 調(diào)試程序是發(fā)現(xiàn)并找出程序邏輯錯誤的過程其一般步驟為:</p><p> 步驟一:連接AT89C52單片機串口下載線。</p><p> 步驟二:打開Proteus仿真軟件。</p><p> 步驟三:在Proteus界面中,雙擊單片機并且加載由Keil軟件生成的*.H
106、ex文件,然后點擊Proteus中的開始按鈕進(jìn)行系統(tǒng)仿真[16]。</p><p> 步驟四:觀察程序執(zhí)行結(jié)果,如果程序運行結(jié)果與預(yù)期不一致,則返回Keil編程界面,檢查程序并修改,修改完畢后進(jìn)行編譯,確認(rèn)無誤后在Proteus中重新加載*.Hex文件仿真。調(diào)試紅外控制步進(jìn)電機程序如圖32所示。</p><p> 圖32 調(diào)試紅外控制步進(jìn)電機程序</p><p>
107、; 由于本設(shè)計采用的是紅外遙控信號,不能直接利用Proteus仿真軟件進(jìn)行仿真,所以在沒有遙控器的情況下只能利用按鍵代替遙控信號進(jìn)行硬件調(diào)試,其方法為利用步進(jìn)電機的實例程序,用6個按鍵代替遙控器的紅外信號控制步進(jìn)電機的啟動/停止、正轉(zhuǎn)、反轉(zhuǎn)、減速、加速和自動六個功能,并且用LCD1602液晶屏顯示出來,利用按鍵的硬件調(diào)試原理圖如圖33所示。</p><p> 圖33 按鍵調(diào)試原理圖</p>&l
108、t;p> 硬件的按鍵調(diào)試過程如圖34所示。</p><p> 圖34 按鍵調(diào)試實物圖</p><p> 利用遙控器的調(diào)試過程如圖35所示。用遙控器去控制步進(jìn)電機的啟動/停止、正轉(zhuǎn)、反轉(zhuǎn)、減速、加速,當(dāng)紅外接收控制器接收到有效紅外信號時,蜂鳴器響一聲,并且所接收到的紅外編碼及步進(jìn)電機的運行狀態(tài)會在LCD1602液晶屏上顯示出來。</p><p> 圖35
109、 遙控器調(diào)試實物圖</p><p> 由于本設(shè)計中涉及到“自動模式”,因此在自動模式中采用了一個光敏電阻模塊,其功能為在光照強度大的時候窗簾關(guān)閉,在光線較暗的時候窗簾打開,從而實現(xiàn)根據(jù)自然光強度的變化可以自動控制窗簾的打開程度,使房間的光線強度在一定程度上保持穩(wěn)定。在調(diào)試過程中用手遮擋和松開光敏電阻來模擬有光和無光的環(huán)境,當(dāng)用手遮擋光敏電阻的時候步進(jìn)電機正轉(zhuǎn)(窗簾打開),當(dāng)松開光敏電阻的時候步進(jìn)電機反轉(zhuǎn)(窗簾關(guān)
110、閉)實現(xiàn)了自動調(diào)節(jié)??刂破魃系奈恢脗鞲衅?,用來判斷窗簾的打開程度,當(dāng)窗簾完全打開或完全關(guān)閉時,步進(jìn)電機停止轉(zhuǎn)動,防止損壞窗簾,由于沒有實際的窗簾實物,本設(shè)計中采用兩個按鍵代替兩個位置傳感器。在調(diào)試過程中按下任意一個按鍵步進(jìn)電機即停止轉(zhuǎn)動。實驗證明光敏電阻模塊和位置開關(guān)均可實現(xiàn)所要的功能,光敏模塊和位置傳感器實物調(diào)試過程如圖36所示。</p><p> 圖36 光敏模塊和位置傳感器實物調(diào)試圖</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多通道遙控窗簾機控制器設(shè)計【畢業(yè)論文】
- 紅外線窗簾遙控控制器畢業(yè)設(shè)計
- 自動窗簾控制器畢業(yè)設(shè)計論文
- 單片機窗簾自動控制器設(shè)計【畢業(yè)論文】
- 畢業(yè)論文--交通控制器設(shè)計
- 畢業(yè)論文——交通控制器設(shè)計
- 畢業(yè)論文---模糊pid控制器設(shè)計
- led顯示屏控制器的設(shè)計與實現(xiàn)畢業(yè)論文(設(shè)計)
- crt字符控制器設(shè)計畢業(yè)論文
- 智能路燈控制器設(shè)計【畢業(yè)論文】
- 循環(huán)彩燈控制器設(shè)計畢業(yè)論文
- 智能pid控制器設(shè)計與仿真【畢業(yè)論文】
- 畢業(yè)設(shè)計--紅外多路控制器
- 冰箱溫度控制器的設(shè)計與研究畢業(yè)論文
- 基于fpga電梯控制器設(shè)計畢業(yè)論文
- 畢業(yè)論文--舞廳彩燈控制器的設(shè)計與仿真
- 畢業(yè)論文--智能點陣式燈光控制器的中心控制器設(shè)計
- 聲控玩具小車控制器設(shè)計【畢業(yè)論文】
- 交通燈控制器設(shè)計畢業(yè)論文
- 自動窗簾控制系統(tǒng)設(shè)計【畢業(yè)論文】
評論
0/150
提交評論