跟我學(xué)51單片機(六):單片機外部中斷及紅外遙控器解碼
上講介紹并應(yīng)用了單片機動態(tài)掃描驅(qū)動數(shù)碼管,并給出了實例。這一講將重點介紹單片機如何通過捕獲來實現(xiàn)對紅外遙控器解碼。通過該講,讀者可以掌握紅外遙控器的編碼原理以及如何通過單片機對遙控器進(jìn)行解碼。
二、原理簡介
隨著家用電器、視聽產(chǎn)品的普及,紅外線遙控器已被廣泛使用在各種類型的家電產(chǎn)品上(如遙控開關(guān)、智能開關(guān)等)。其具有體積小、抗干擾能力強、功耗低、功能強、成本低等特點,在工業(yè)設(shè)備中也得到廣泛應(yīng)用。
一般而言,一個通用的紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,如圖1 所示:
圖1 紅外遙控系統(tǒng)框圖
其中發(fā)射部分主要包括鍵盤矩陣、編碼調(diào)制、紅外發(fā)射管;接收部分包括光、電信號的轉(zhuǎn)換以及放大、解調(diào)、解碼電路。舉例來說,通常我們家電遙控器信號的發(fā)射,就是將相應(yīng)按鍵所對應(yīng)的控制指令和系統(tǒng)碼( 由0 和1 組成的序列),調(diào)制在32~56kHz 范圍內(nèi)的載波上,然后經(jīng)放大、驅(qū)動紅外發(fā)射管將信號發(fā)射出去。此外,現(xiàn)在流行的控制方法是應(yīng)用編/ 解碼專用集成電路芯片來實現(xiàn)(如下文提到的SAA3010 紅外編碼芯片和HS0038 紅外接收頭)。
不同公司的遙控芯片,采用的遙控碼格式也不一樣。在此介紹目前廣泛使用較普遍的兩種,一種是NEC Protocol 的PWM( 脈沖寬度調(diào)制) 標(biāo)準(zhǔn),一種是Philips RC-5 Protocol 的PPM( 脈沖位置調(diào)制) 標(biāo)準(zhǔn)。
NEC 標(biāo)準(zhǔn):遙控載波的頻率為38kHz( 占空比為1:3) ;當(dāng)某個按鍵按下時,系統(tǒng)首先發(fā)射一個完整的全碼,然后經(jīng)延時再發(fā)射一系列簡碼,直到按鍵松開即停止發(fā)射。簡碼重復(fù)為延時108ms,即兩個引導(dǎo)脈沖上升沿之間的間隔都是108ms。一個完整的全碼如圖2所示。
圖2 NEC標(biāo)準(zhǔn)下的全碼表示
其中,引導(dǎo)碼高電平4.5ms,低電平4.5ms ;用戶碼8 位,數(shù)據(jù)碼8 位,共32 位;數(shù)據(jù)0 可用“高電平0.56ms +低電平0.56ms”表示,數(shù)據(jù)1 可用“高電平0.56ms +低電平1.68ms”表示,如圖3 所示。一個簡碼可等同于引導(dǎo)碼、系統(tǒng)碼位0 的反碼和結(jié)束位(0.56ms) 高電平時間總和。
圖3 NEC標(biāo)準(zhǔn)下的數(shù)據(jù)0和1的表示
評論