王賽,張立新,王軍昂,吳凱楓,凌云
(南京信息工程大學自動化學院,江蘇南京,210044)
紅外線是不可見光,其波長很短,遠遠不及無線電波的波長,因此紅外遙控不會與其它的無線設備進行相互干擾,而且紅外線可以進行一定的折射,卻無法穿透墻壁等障礙物,因此對與其他的家用電器的使用幾乎不會造成影響,這大力支持了紅外遙控的大批量生產以及在家用電器上的普及。目前,脈沖寬度調制(PWM)和脈沖位置調制(PPM)在紅外遙控中應用最為廣泛,其中PWM屬于NEC Protocol,PPM屬于 Philips RC-5 Protocol[2]。
本設計使用STC單片機編寫NEC和RC-5兩種協議,初始時默認協議為NEC協議,不同的按鍵發送相NEC協議對應的碼值,LCD顯示屏上顯示當前的碼型及其客戶碼和數據碼碼值。通過K1按鍵轉換為RC-5協議,不同的按鍵發送相RC-5協議對應的碼值,LCD顯示屏上顯示當前的碼型及其客戶碼和數據碼碼值。
NEC協議由引導碼+客戶碼(8位)+客戶反碼(8位)+數據碼(8位)+數據反碼(8位)組成。客戶反碼和數據反碼是為了校驗發碼的內容是否正確,增加紅外線在傳輸時的可靠性[3]。引導碼由高電平(9ms)+低電平(4.5ms)組成,客戶碼,客戶反碼,數據碼和數據反碼是由邏輯1(0.56ms的高電平+1.68ms的低電平)與邏輯0(0.56ms的高電平+0.56ms的低電平)組成。NEC協議的發送順序為低位在前,高位在后。若程序判斷為連續按鍵,則在發完一幀簡碼108ms后不斷重復發送規定的尾碼,直至按鍵松開。尾碼由高電平(9ms)+低電平(2.25ms)+高電平(0.56ms)+低電平(97.94ms)組成[4]。如圖1所示其碼型圖。

圖1 NEC 碼型圖
RC-5協議的數據格式為:起始碼(1位)+拓展碼(1位)+轉換碼(1位)+系統碼(5位)+數據碼(6位)。其發送順序為高位在前,低位在后。這些碼均由邏輯1(0.889ms的低電平+0.889ms的高電平)與邏輯0(0.889ms的高電平+0.889ms的低電平)組成[5]。若程序判斷為連續按鍵,每隔108ms重復發送一幀完整的碼,直至按鍵松開。其碼型圖如圖2所示。

圖2 RC-5 碼型圖
STC89C51是此次設計所采用的單片機芯片,它可以在指令編碼上兼容8051系列,還不需要特殊指定的仿真編程器。最小系統的組成十分簡單,其主要組成為時鐘電路,電源電路與復位電路,如圖3所示。

圖3 MCU 主控模塊
LCD顯示模塊采用的是LCD1602液晶顯示屏,相比較與數碼管,它更加靈活方便,具用來顯示字母、符號和數字等更流暢,更直觀。LCD1602液晶顯示屏在顯示圖片方面有所不足,因為它每位之間有一個點距的間隔,每行之間也有間隔,但是這樣更有利于行間距和字符間距,而本設計只需要顯示數量較少的文字符號,屬于最佳的選擇。此外,顯示屏共有16個引腳,其引腳功能及原理圖如圖4,圖5所示。

圖4 LCD 引腳功能

圖5 LCD 顯示模塊
按鍵掃描模塊主要由獨立按鍵模塊和4*4矩陣按鍵模塊兩部分組成。獨立按鍵K1主要用來轉換發射的紅外協議類型。上電時,默認為NEC協議,然后通過按下K1按鍵,實現兩種協議的相互轉換。4*4矩陣按鍵S1~S16分別賦予01~0F的數據碼,按下不同的按鍵可以發出相對應的數據碼。獨立按鍵模塊和4*4矩陣按鍵模塊如圖6和圖7所示。

圖6 獨立按鍵模塊

圖7 4*4矩陣按鍵模塊
采用紅外發光二極管作為本次的紅外發射模塊,該二極管和其他的發光二極管的外觀及其內部構造看上去都一樣,但其使用了特殊的材料制造,只需在驅動管上施加一定頻率的電壓,便能產生調制光。因為紅外遙控抗干擾能力強,電路簡單,對環境影響小,不會影響到臨近的無線電設備,所以普遍適用于大多數家電的控制。本次采用的紅外遙控兩種協議的方波占空比為1/3,且載波頻率為38KHZ。
系統主要由單片機最小系統,LCD顯示模塊,紅外線發射模塊,按鍵掃描模塊等組成。在程序上電后,程序先初始化,再進行按鍵掃描,若掃描到有按鍵按下,判斷按鍵是否為雙鍵或多鍵(若為雙鍵或多鍵,重新回到按鍵掃描),接著判斷是否為連續按鍵(連續按鍵NEC協議發尾碼,RC-5協議不變),隨后延遲一定時間穩定程序,再判斷發碼的協議類型,最后LCD顯示屏顯示相關數據,紅外發光二極管發送紅外線。其流程圖如圖8所示。

圖8 系統流程圖
本設計采用紅外遙控編碼分析儀接收所發射的紅外線,并顯示所發碼值的波形。程序剛上電時,當按鍵按下時,LCD屏顯示如圖9所示。NEC協議客戶碼為12H,S1的數據碼為01H,因此按下S1按鍵發送一幀簡碼12 ED 01 FE,當連續按鍵時,則在108ms后重復發送尾碼;同理S2的數據碼為02H,按下 S2 按鍵發送一幀簡碼 12 ED 02 FD。如圖 10 所示。

圖9 NEC協議LCD顯示

圖10 NEC 協議
若按下K1按鍵(K1按鍵自身不發碼),系統轉換為發送RC-5協議的碼型。同一按鍵,當按鍵按下時,LCD屏顯示如圖11所示,RC-5協議系統碼為00H,S1的數據碼為01H,因此按下S1按鍵發送一幀全碼00 01,當連續按鍵時,則在108ms后重復發送全碼;同理S2的數據碼為02H,按下S2按鍵發送一幀全碼00 02。如圖12所示。

圖11 RC-5協議LCD顯示

圖12 RC-5 協議
本設計涵蓋了矩陣按鍵,液晶顯示等多個模塊操作,能夠通過按下不同按鍵發出相對應的正確的紅外遙控碼值,并且能夠通過獨立按鍵改變紅外遙控碼型。通過分析紅外遙控編碼分析儀接收所發射的紅外線,觀察發現達到了預期的效果。