王賽,張立新,王軍昂,吳凱楓,凌云
(南京信息工程大學(xué)自動(dòng)化學(xué)院,江蘇南京,210044)
紅外線是不可見光,其波長很短,遠(yuǎn)遠(yuǎn)不及無線電波的波長,因此紅外遙控不會(huì)與其它的無線設(shè)備進(jìn)行相互干擾,而且紅外線可以進(jìn)行一定的折射,卻無法穿透墻壁等障礙物,因此對(duì)與其他的家用電器的使用幾乎不會(huì)造成影響,這大力支持了紅外遙控的大批量生產(chǎn)以及在家用電器上的普及。目前,脈沖寬度調(diào)制(PWM)和脈沖位置調(diào)制(PPM)在紅外遙控中應(yīng)用最為廣泛,其中PWM屬于NEC Protocol,PPM屬于 Philips RC-5 Protocol[2]。
本設(shè)計(jì)使用STC單片機(jī)編寫NEC和RC-5兩種協(xié)議,初始時(shí)默認(rèn)協(xié)議為NEC協(xié)議,不同的按鍵發(fā)送相NEC協(xié)議對(duì)應(yīng)的碼值,LCD顯示屏上顯示當(dāng)前的碼型及其客戶碼和數(shù)據(jù)碼碼值。通過K1按鍵轉(zhuǎn)換為RC-5協(xié)議,不同的按鍵發(fā)送相RC-5協(xié)議對(duì)應(yīng)的碼值,LCD顯示屏上顯示當(dāng)前的碼型及其客戶碼和數(shù)據(jù)碼碼值。
NEC協(xié)議由引導(dǎo)碼+客戶碼(8位)+客戶反碼(8位)+數(shù)據(jù)碼(8位)+數(shù)據(jù)反碼(8位)組成。客戶反碼和數(shù)據(jù)反碼是為了校驗(yàn)發(fā)碼的內(nèi)容是否正確,增加紅外線在傳輸時(shí)的可靠性[3]。引導(dǎo)碼由高電平(9ms)+低電平(4.5ms)組成,客戶碼,客戶反碼,數(shù)據(jù)碼和數(shù)據(jù)反碼是由邏輯1(0.56ms的高電平+1.68ms的低電平)與邏輯0(0.56ms的高電平+0.56ms的低電平)組成。NEC協(xié)議的發(fā)送順序?yàn)榈臀辉谇埃呶辉诤?。若程序判斷為連續(xù)按鍵,則在發(fā)完一幀簡碼108ms后不斷重復(fù)發(fā)送規(guī)定的尾碼,直至按鍵松開。尾碼由高電平(9ms)+低電平(2.25ms)+高電平(0.56ms)+低電平(97.94ms)組成[4]。如圖1所示其碼型圖。
圖1 NEC 碼型圖
RC-5協(xié)議的數(shù)據(jù)格式為:起始碼(1位)+拓展碼(1位)+轉(zhuǎn)換碼(1位)+系統(tǒng)碼(5位)+數(shù)據(jù)碼(6位)。其發(fā)送順序?yàn)楦呶辉谇?,低位在后。這些碼均由邏輯1(0.889ms的低電平+0.889ms的高電平)與邏輯0(0.889ms的高電平+0.889ms的低電平)組成[5]。若程序判斷為連續(xù)按鍵,每隔108ms重復(fù)發(fā)送一幀完整的碼,直至按鍵松開。其碼型圖如圖2所示。
圖2 RC-5 碼型圖
STC89C51是此次設(shè)計(jì)所采用的單片機(jī)芯片,它可以在指令編碼上兼容8051系列,還不需要特殊指定的仿真編程器。最小系統(tǒng)的組成十分簡單,其主要組成為時(shí)鐘電路,電源電路與復(fù)位電路,如圖3所示。
圖3 MCU 主控模塊
LCD顯示模塊采用的是LCD1602液晶顯示屏,相比較與數(shù)碼管,它更加靈活方便,具用來顯示字母、符號(hào)和數(shù)字等更流暢,更直觀。LCD1602液晶顯示屏在顯示圖片方面有所不足,因?yàn)樗课恢g有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,但是這樣更有利于行間距和字符間距,而本設(shè)計(jì)只需要顯示數(shù)量較少的文字符號(hào),屬于最佳的選擇。此外,顯示屏共有16個(gè)引腳,其引腳功能及原理圖如圖4,圖5所示。
圖4 LCD 引腳功能
圖5 LCD 顯示模塊
按鍵掃描模塊主要由獨(dú)立按鍵模塊和4*4矩陣按鍵模塊兩部分組成。獨(dú)立按鍵K1主要用來轉(zhuǎn)換發(fā)射的紅外協(xié)議類型。上電時(shí),默認(rèn)為NEC協(xié)議,然后通過按下K1按鍵,實(shí)現(xiàn)兩種協(xié)議的相互轉(zhuǎn)換。4*4矩陣按鍵S1~S16分別賦予01~0F的數(shù)據(jù)碼,按下不同的按鍵可以發(fā)出相對(duì)應(yīng)的數(shù)據(jù)碼。獨(dú)立按鍵模塊和4*4矩陣按鍵模塊如圖6和圖7所示。
圖6 獨(dú)立按鍵模塊
圖7 4*4矩陣按鍵模塊
采用紅外發(fā)光二極管作為本次的紅外發(fā)射模塊,該二極管和其他的發(fā)光二極管的外觀及其內(nèi)部構(gòu)造看上去都一樣,但其使用了特殊的材料制造,只需在驅(qū)動(dòng)管上施加一定頻率的電壓,便能產(chǎn)生調(diào)制光。因?yàn)榧t外遙控抗干擾能力強(qiáng),電路簡單,對(duì)環(huán)境影響小,不會(huì)影響到臨近的無線電設(shè)備,所以普遍適用于大多數(shù)家電的控制。本次采用的紅外遙控兩種協(xié)議的方波占空比為1/3,且載波頻率為38KHZ。
系統(tǒng)主要由單片機(jī)最小系統(tǒng),LCD顯示模塊,紅外線發(fā)射模塊,按鍵掃描模塊等組成。在程序上電后,程序先初始化,再進(jìn)行按鍵掃描,若掃描到有按鍵按下,判斷按鍵是否為雙鍵或多鍵(若為雙鍵或多鍵,重新回到按鍵掃描),接著判斷是否為連續(xù)按鍵(連續(xù)按鍵NEC協(xié)議發(fā)尾碼,RC-5協(xié)議不變),隨后延遲一定時(shí)間穩(wěn)定程序,再判斷發(fā)碼的協(xié)議類型,最后LCD顯示屏顯示相關(guān)數(shù)據(jù),紅外發(fā)光二極管發(fā)送紅外線。其流程圖如圖8所示。
圖8 系統(tǒng)流程圖
本設(shè)計(jì)采用紅外遙控編碼分析儀接收所發(fā)射的紅外線,并顯示所發(fā)碼值的波形。程序剛上電時(shí),當(dāng)按鍵按下時(shí),LCD屏顯示如圖9所示。NEC協(xié)議客戶碼為12H,S1的數(shù)據(jù)碼為01H,因此按下S1按鍵發(fā)送一幀簡碼12 ED 01 FE,當(dāng)連續(xù)按鍵時(shí),則在108ms后重復(fù)發(fā)送尾碼;同理S2的數(shù)據(jù)碼為02H,按下 S2 按鍵發(fā)送一幀簡碼 12 ED 02 FD。如圖 10 所示。
圖9 NEC協(xié)議LCD顯示
圖10 NEC 協(xié)議
若按下K1按鍵(K1按鍵自身不發(fā)碼),系統(tǒng)轉(zhuǎn)換為發(fā)送RC-5協(xié)議的碼型。同一按鍵,當(dāng)按鍵按下時(shí),LCD屏顯示如圖11所示,RC-5協(xié)議系統(tǒng)碼為00H,S1的數(shù)據(jù)碼為01H,因此按下S1按鍵發(fā)送一幀全碼00 01,當(dāng)連續(xù)按鍵時(shí),則在108ms后重復(fù)發(fā)送全碼;同理S2的數(shù)據(jù)碼為02H,按下S2按鍵發(fā)送一幀全碼00 02。如圖12所示。
圖11 RC-5協(xié)議LCD顯示
圖12 RC-5 協(xié)議
本設(shè)計(jì)涵蓋了矩陣按鍵,液晶顯示等多個(gè)模塊操作,能夠通過按下不同按鍵發(fā)出相對(duì)應(yīng)的正確的紅外遙控碼值,并且能夠通過獨(dú)立按鍵改變紅外遙控碼型。通過分析紅外遙控編碼分析儀接收所發(fā)射的紅外線,觀察發(fā)現(xiàn)達(dá)到了預(yù)期的效果。