順德區(qū)中等專業(yè)學(xué)校 李紅冰
紅外遙控使用方便、成本低廉、功耗低[1],被廣泛應(yīng)用于各類電器的控制。但都是針對各自的遙控對象,(空調(diào)、彩電、DVD 等),由專用 CPU 解碼[2],作為一般的單片機控制系統(tǒng)不能直接使用。本文結(jié)合紅外遙控系統(tǒng)的原理,給出紅外發(fā)射電路和控制程序,設(shè)計出了一套基于STC11L04E單片機和紅外通信的空調(diào)遙控系統(tǒng),由單片機系統(tǒng)直接控制,實現(xiàn)對校園空調(diào)的統(tǒng)一控制,達到環(huán)保節(jié)能的要求。
空調(diào)紅外統(tǒng)一遙控系統(tǒng)的原理如圖1所示。當上位機發(fā)出指令,STC11L04E單片機接收并處理該功能指令,然后將分析處理后的編碼指令串通過各個路由發(fā)給紅外發(fā)射模塊,最后空調(diào)接收紅外光發(fā)射出來的紅外編碼信號以達到統(tǒng)一控制校園空調(diào)的目的。在無線傳輸過程中,為了減少其他紅外信號對紅外發(fā)射模塊信號的干擾,將編碼指令串調(diào)制在特定的載波頻率上,再經(jīng)過功率放大電路驅(qū)動紅外發(fā)光二極管發(fā)射被調(diào)制的脈沖紅外信號。空調(diào)內(nèi)置的紅外接收裝置對接收到的紅外信號進行解調(diào)和解碼,內(nèi)部微處理器將還原成的編碼指令串進行譯碼,最后,由控制驅(qū)動電路來驅(qū)動執(zhí)行電路,實現(xiàn)各種指令的控制操作。
圖1 空調(diào)紅外遙控系統(tǒng)原理框圖
為了協(xié)調(diào)編碼和解碼的一致性,需要制定紅外傳輸協(xié)議,包括載波頻率、編碼方式,位0和位1的定義及數(shù)據(jù)的格式[3]。標準的載波頻率有 30,38,40,56 kHz。編碼方式有脈沖寬度編碼(PWM)和脈沖位置編碼(PPM),位0和位1的定義及數(shù)據(jù)的格式因紅外傳輸協(xié)議的不同而改變。常見的紅外傳輸協(xié)議有PHILIPS,RC5,NEC,SIRCS 等。在我國,很多家用電器都采用NEC協(xié)議[4]。以美的空調(diào)控制“開”的數(shù)據(jù)格式如圖2 所示,包括由 4ms 高電平和4ms 的低電平、0xB2和0x4D16位固定碼組成的引導(dǎo)碼和由8位地址碼及其反碼、8位命令碼及其反碼組成的32位系統(tǒng)碼。32位系統(tǒng)碼每位可以為0,也可以為1,上位機發(fā)出不同功能信號會產(chǎn)生32位不同的0,1組合。
圖2 美的空調(diào)控制“開”的數(shù)據(jù)格式
圖3 位0和位1的編碼定義
本文使用NEC協(xié)議調(diào)制頻率為38kHz,編碼方式采用了脈沖位置調(diào)制[5],利用脈沖間隔來區(qū)分位0和位1,通過紅外遙控采集分析儀采集的數(shù)據(jù)格式如圖3所示,位0定義為469.3us高電平和596.5us低電平的組合,位1定義為1.5ms高電平和614.0us 低電平的組合,其中誤差允許30%。
綜上,為了實現(xiàn)由上位機統(tǒng)一控制校園空調(diào)開/關(guān),設(shè)置溫度等功能,只需獲取到單片機發(fā)送的開/關(guān)鍵按下、以及設(shè)定某一溫度值所產(chǎn)生的編碼指令串,再把該編碼指令串調(diào)制在特定載波信號上,去驅(qū)動紅外發(fā)射二極管即可實現(xiàn)。
圖4 紅外發(fā)射電路
本文選用了STC11L04E單片機作為主控芯片,由它處理上位機發(fā)過來的命令信號。該單片機是STC生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速、低功耗、超強抗干擾的新一代8051單片機[6],指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成高可靠復(fù)位電路,可實現(xiàn)高速通信,智能控制且抗干擾性強[7]。
紅外發(fā)射電路如圖4所示,由STC11L04E單片機,紅外發(fā)光二極管、PNP型9012三極管組成,STC11L04E工作電壓為2.1~3.6V,STC11L04E接收到上位機控制信號后,從P1.0驅(qū)動Q1,P1.0為1時發(fā)射紅外光,為0則不發(fā)射。
軟件系統(tǒng)是使用C51語言編寫[8],調(diào)制頻率38KHz即一個周期為26us,故將定時器0設(shè)為13.02us中斷一次控制P1.0口翻轉(zhuǎn)來實現(xiàn),控制發(fā)射脈沖程序由SendIRdata_38KHZ函數(shù)來實現(xiàn),該函數(shù)第一個輸入?yún)?shù)是通過設(shè)定定時器0中斷的次數(shù)(13.02us中斷一次)來控制P.1.0輸出38KHz的脈沖寬度;第二個參數(shù)是控制P.1.0要不要輸出38KHz信號,該參數(shù)為1時P1.0輸出38KHz脈沖信號;0時P1.0腳為高電平,Q1不導(dǎo)通,紅外發(fā)射管沒有電流通過。
本文設(shè)計了一套基于STC11L04E單片機的空調(diào)紅外遙控系統(tǒng),由處理速度快,可靠性高的STC11L04E單片機接收并處理上位機發(fā)出的指令信號,然后再通過各個路由傳遞給紅外發(fā)射模塊,最后空調(diào)接收紅外編碼信號以達到統(tǒng)一控制校園空調(diào)的目的。該系統(tǒng)具有硬件結(jié)構(gòu)簡單,軟件適用性強,可靠性高,抗干擾性強等特點。
[1]謝平,陳學(xué)煌.基于微控制器的紅外遙控器的設(shè)計與實現(xiàn)[J].紅外,2010(4):42-45.
[2]于春鵬.空調(diào)系統(tǒng)[M].北京:化學(xué)工業(yè)出版社,2005:23-68.
[3]陳陽海.紅外遙控工作原理、編碼方式及常用信號傳輸協(xié)議[J].電子制作,2007(11):6-9.
[4]朱志偉,劉湘云.基于AT89S51的紅外遙控解碼的實現(xiàn)[J].科技信息:高校理科研究,2015:109,112.
[5]胡績強,劉瑩.溫控空調(diào)開關(guān)的紅外遙控系統(tǒng)設(shè)計[J].南昌大學(xué)學(xué)報:工科版,2012,34(1):83-86,102.
[6]宏晶科技.STC89C51/RD+系列單片機器件手[EB/OL].http://www.stcmcu.com/datashee-t/stc/STC-AD-PDF/STC89C51RCRD+_GUID-CHINESE.pdf,2011-03-19.
[7]吳愛萍,朱曉春.基于 AT89S51 的多功能紅外遙控器設(shè)計[J].儀器技術(shù)與傳感器,2008(8):78-80.
[8]徐惠民,安德寧.單片微型計算機原理接口與應(yīng)用[M].北京:北京郵電大學(xué)出版社,1996,第1版.