摘 要:單片機具有高集成度、高可靠性、價格低廉、體積小等特點,因此廣泛應用于家電、儀器、工業(yè)控制、一體化機電等領域 [ 1 ]。目前單片機在家電控制方面呈現(xiàn)出諸如外形簡單、功能多樣、產品智能的發(fā)展趨勢。同時,基于功耗低、抗干擾能力強、使用方改變、價格便宜等特點,紅外遙控的應用前景也十分廣闊。本文以擴展紅外遙控技術為目的,在一種新型紅外遙控控制的方案的基礎上,通過實現(xiàn)數(shù)據(jù)的編解碼,利用紅外線可以傳遞信息的特性,設計出一個多功能紅外遙控器。
關鍵詞:單片機;紅外遙控;多路控制
目前市面上的遙控器多是無線遙控技術實現(xiàn)的,隨著紅外遙感技術的突飛猛進,紅外遙控逐漸成為通信和遙控的主要實現(xiàn)方式。同時,在輻射、粉塵、高壓、有毒氣體的工業(yè)環(huán)境中,紅外遙控更能安全高效的完成目標任務。
然而,盡管紅外遙控具有如此多的優(yōu)勢,但由于市面上的遙控器彼此不能兼容,也一定程度上限制了它的發(fā)展前景。本文在單片機的基礎上進行了創(chuàng)新的設計理念,該設計不僅解決了傳統(tǒng)遙控器編程呆板、控制范圍狹小、功耗高、功能簡單、成本高等缺點,還提高了產品的復用率,符合當下節(jié)能環(huán)保的理念,因此該技術具有巨大的應用市場。
一、總體設計
(一)基于單片機的紅外遙控系統(tǒng)概述
本文以擴展紅外遙控技術為目的,在一種新型紅外遙控控制的方案的基礎上,實現(xiàn)對四個不同環(huán)境的設備進行單獨控制的功能,從而設計出的一個多功能紅外遙控器。
發(fā)射信號首先經過單片機編碼后發(fā)出,經由紅外接收裝置接收后,再經過單片機的解碼,從而使目標電器實現(xiàn)響應(遙控系統(tǒng)框圖如圖1)。
(二)設計方案思路
考慮到傳輸過程中的光波干擾,我們設定AT89S51單片機每13us產生38KHz的矩形脈沖信號,然后由單片機是對鍵盤信息等數(shù)據(jù)進行分析,并調制在紅外載波上,由紅外發(fā)射器發(fā)送給接收端。接收端經過一系列操作,包括解調信號、信號放大、光電信號轉換、單片機解碼等,最終實現(xiàn)對受控設備的控制。
主控芯片我們采用的是市面上常見而且技術成熟、性能穩(wěn)定的AT89S51單片機。它具有體積小、易編程、功耗低、功能全等優(yōu)點[ 2 ]。
(三)研發(fā)方向和技術關鍵
1)合理設計硬件電路,使各模塊功能協(xié)調;
2)紅外發(fā)射信號的脈沖波形;
3)紅外發(fā)射信號的編解碼;
4)單片機對IO口的操作。
(四)總體設計
紅外遙控系統(tǒng)主要應用了光電信號的相互轉化的原理。當用戶按下某個按鍵時,單片機會對該按鍵出發(fā)的電信號進行編碼加工,生成脈沖信號,并加載到載波上,借助紅外發(fā)射器,傳送到對應的接收端,接收端收到脈沖信號后,再經過處理姜脈沖信號進行處理,轉化為數(shù)據(jù)流,最后由單片機對此數(shù)據(jù)流解碼并對IO口進行控制,從而使目標電器實現(xiàn)響應。
二、硬件設計
(一)主控芯片AT89S51
AT89S51是由美國ATMEI公司設計研發(fā)而成,由于器具有功耗低、性能強的特點,被廣泛應用于嵌入式系統(tǒng)中。它有32個外部雙向輸入/輸出口,采用當下流行的開發(fā)環(huán)境,可用匯編語言或C語言進行編譯、仿真,適用性極高。
此外,AT89S51還具有低功耗的閑置和掉電模式,在靜態(tài)邏輯下可以停止CPU的工作,但不影響RAM存儲、嵌套中斷、和串行通道的正常工作[ 3 ]。
在AT89S51中,我們加入了一個反向放大器,它具有高增益的特性,同時它有兩個引腳XTAL1和XTAL2,構成了放大器的輸入輸出端。
(二)紅外遙控發(fā)射電路
紅外發(fā)射電路由按鍵電路、時鐘電路、復位電路和單片機等組成。遙控器上的按照控制對象的不同,一共設有6個按鍵。當對應的按鍵被按下時,產生的電信號被單片機捕獲到,隨之就會發(fā)出數(shù)字編碼脈沖,并由AT89S51將其調制在38KHz的載波上,然后使紅外發(fā)光二極管產生相應的脈沖經過三極管的放大后傳送到受控器件的紅外接收器上[ 4 ]。
紅外發(fā)射器的制作材料較多,目前大多采用Ga、As,原因是這兩種材料制作的二極管能保證電流和發(fā)射強度、傳輸距離之間的線性正比關系。
在遙控信號的發(fā)射過程中,我們所需的電流最大值只需數(shù)十毫安,所以在驅動紅外發(fā)射二極管之前需要三極管的放大。單片機需要將調制好的脈沖信號從P3.5引腳傳輸出去。根據(jù)上述分析,我們采用280倍的s8050放大器和68Ω的串接電阻和5.1Ω的基極電阻。
(三) 紅外遙控接收電路
紅外遙控接收部分由接收信號電路、驅動程序、狀態(tài)顯示和單片機等組成。HS38B作為一體化紅外信號接收端,主要是將接收到的紅外信號進行解調,并調制在38KHz的脈沖信號上,最后由單片機的P3.2(INTO)引腳進行高低電平的檢測[ 5 ]。
當一體化接收端收到信號時,單片機會產生中斷并識別P3.1口的信號電平,其原理是分析P3.1口輸入的脈沖電平高低及持續(xù)時間,最后還原為原發(fā)送數(shù)據(jù)。
單片機會通過對一體化紅外接收端收到的信號解 調得到控制碼,從而控制具體的設備。本設計中我們用4個LED燈來顯示受控設備的工作狀態(tài)。
由于單片機易受干擾,而受控設備和供電電源的電壓都是9V,所以必須要考慮兩者之間的噪聲。用光耦器件作為隔離元件能很好的解決受控設備和供電電源之間的電流噪聲,保證單片機的良好工作環(huán)境。
紅外遙控系統(tǒng)收到脈沖信號后,通過一體化接收端對信號進行分析并操控受控設備,同時單片機把受控設備的統(tǒng)計結果顯示在一個共陽數(shù)碼管。
(四)電源電路
在我們的這個設計中,所涉及的電源電壓都是9V,之所以這樣設定是基于成本、性能綜合考慮的。三段穩(wěn)壓器可以通過動態(tài)調節(jié)限流電阻的方式,保證電路中電壓和電路以及器件工作功率的穩(wěn)定,因此我們選擇了三端穩(wěn)壓器。根據(jù)電壓的調節(jié)狀態(tài),三端穩(wěn)壓器可以分為兩種,其中輸入電壓固定的稱之為固定輸出三端穩(wěn)壓器,相應的電壓可調則為可調輸出三端穩(wěn)壓器。三端穩(wěn)壓器僅有3個引腳,可接元減少,方便穩(wěn)定,是線性集成穩(wěn)壓器中應用最為廣泛的一種。
由于本設計含有兩個不同電壓,故加入了兩個固定輸出三端穩(wěn)壓器,分別是7805和7809,分出的電壓分別為9V和5V的兩個支路。電路直流穩(wěn)壓電源的主要分為四部分,它們分別是電源變壓器、整流電路、濾波電路和穩(wěn)壓電路[ 6 ]。
三、軟件設計
(一)總體方案
本設計是基于AT89S51單片機的遙控系統(tǒng),因此有單片機來實現(xiàn)設計中最為重要的的軟件編碼部分。匯編語言的簡單易用、功能易實現(xiàn)、易調試編譯的特點使之成為MCS-51系列單片機的主要開發(fā)語言。本次我們也同樣采用匯編語言來實現(xiàn)遙控功能,軟件為KeilμVision.
(二)編碼發(fā)射程序
與傳統(tǒng)的紅外發(fā)射器不同,我們的設計創(chuàng)新性的引入了AT89S51單片機控制系統(tǒng)。使用者的操作信息首先會通過按鍵下面的瞬時電流信號,然后單片機對所控制的對象進行狀態(tài)的識別,如果狀態(tài)為‘0,則正序編碼,相反,進行反相編碼,最后轉化成與之對應的脈沖信號,通過載波發(fā)送出去。
用戶的按鍵信息是發(fā)射程序的信號源,單片機通過采集該信息來生成四種信息碼:控制碼、控制反碼、系統(tǒng)識別碼、識別反碼,然后把這四種碼編譯成4個8位的二進制數(shù)據(jù)流,再由AT89S51中的終端系統(tǒng)將其以作為脈沖信號發(fā)射出去。
每按下一個按鍵會產生一個8位二進制的數(shù)據(jù),該數(shù)據(jù)會觸發(fā)數(shù)據(jù)發(fā)送子程序。
(三)紅外遙控接收程序設計
紅外短距遙控接收程序的功能是把收到的脈沖信號還原為二進制編碼信息,即對輸入信號的翻譯。單片機產生的中斷取決于引導碼,當收到T>4ms的高電平引導碼時,引起單片機產生中斷,并視此碼為有效碼。
當其收到5ms和3ms的高低電平時,則會先和有效碼的大小進行對比,若果滿足中斷條件,則出現(xiàn)中斷。此外,控制單元還會對觸發(fā)中斷的低電平時間進行統(tǒng)計,其中只有T>4ms的引導碼才是有效的[ 7,11 ]。
紅外短距遙控一體化接收部分具有識別電平特性的功能。在我們的設計中,碼‘1和‘0的電平高低是不一樣的。接收頭通過識別碼電平的方式來對接收到的信號進行解碼操作的。
如果高電平時間間隔T>0.8ms,則對P3.1口執(zhí)行電平采樣的操作,然后對其取反,得到二進制原碼,并儲存在累加器A中。最后跳出子循環(huán)體,等待下一個高電平的出現(xiàn)[ 8 ]。八位信號數(shù)據(jù)全部讀取完畢后,結束讀碼子程序,執(zhí)行下一步[ 9 ]。
四、仿真與制作
由于本設計是基于AT89S51單片機,所以為了提高設計的可靠性及便于完善設計,我們可以采用仿真軟件對其進行模擬調試。
(一)系統(tǒng)仿真
我們使用的仿真軟件主要是Altium Designer和Keil。
PROTEL是Altium公司在1985推出的EDA軟件, Altium Designer是protel的升級版本,它將設計流程、PCB設計、可編程器件設計等眾多功能整合在一起,提供了PCB制作和嵌入式設計的解決方案。同時它還對處理器模型和編譯器具有較好的支持。
Keil是在單片機的開發(fā)上有著明顯的優(yōu)勢,首先它提供了極其方便的集成環(huán)境,不論是使用C語言還是匯編語言都能完美的工作,其次,Keil提供了C編譯器、庫管理、仿真調試器在內的完整的開發(fā)方案,令工作事半功倍[ 10 ]。
(二)硬件電路制作與軟件下載
在經過仿真調試得出最終的設計方案后,接下來就是硬件電路的制作與軟件的下載。AT89S51具有優(yōu)秀的可編程性,通過預留的ISP串行編程接口,用USB-ASP下載器可以進行軟件下載。
五、結論
設計的最后環(huán)節(jié)是功能測試,具體結果如表1:
參考文獻:
[1] 趙巍,馮娜.單片機基礎及應用[M].北京:清華大學出版社,2009:94-103.
[2] 高慧芳.單片機原理及系統(tǒng)設計[M].杭州:杭州電子科技大學,2008:124-174.
[3] 聶詩良, 李磊民.采用單片機發(fā)送并接收紅外遙控信號的方法[J]. 信息技術,2004,28(2):21-96.
[4] 周潤景,張麗娜,丁莉.基于PROTEUS的電路及單片機設計與仿真[M].北京:北京航空航天大學出版社,2010.
[5] 吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應用[M].第1版,清華大學出版社,2002.
[6] 胡偉.單片機C程序設計及應用實例[M].人民郵電出版社,2003.7.
[7] 實用電子元器件手冊.上??茖W技術出版社[M].1998.2.
[8] K. Mandai, K. Miyauchi, M. Sugimoto,Y. Natsume and K. Ookubo. AN ADVANCED INFRARED REMOTE CONTROL SENSOR[J]. IEEE,1990.6,36(3).
[9] 楊恢先,王子菡,楊穗,陶霞.一種基于單片機的紅外遙控軟件解碼方法[J].自動化與儀器儀表,2004,(2):16-32.
[10] Michael A. Miller. Data and Network Communications[M].第一版,科學出版社,2002.
[11] 徐向民.Altium Designer 快速入門[M].北京:北京航空航天大學出版社,2008.
作者簡介:
李世瑾(1993-),女,河南安陽人,河南師范大學教育與教師發(fā)展學院2013級教育技術學(數(shù)字媒體設計方向)專業(yè)在讀本科生,研究方向:教育技術學。