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