紅外遙控器信號接收管理論文

時間:2022-06-25 03:40:00

導語:紅外遙控器信號接收管理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

紅外遙控器信號接收管理論文

摘要:介紹用51系列單片機采集家用電器紅外遙控器信號,并將其轉發原理。文中給出紅外接收芯片的外圍電路和測量接收波形的程序。

關鍵詞:紅外遙控單片機系統轉發

紅外遙控在家電產品中有廣泛應用,但各產生的遙控器不能相互兼容。目前市場上常見的萬能遙控器只能對某幾種產品進行控制,不是真正的“萬能”,而且不能對新上市的產品進行控制。本文介紹一種用單片機對紅外遙控器信號接收和轉發的方法,由于只關心發射信號波形中的高低電平的寬度,不管其如何編碼,因此可以用來實現自學習萬能遙控器。

一、紅外信號的接收和波形測量

所有紅外遙控器的輸出都是用編碼后串行數據對38~40kHz的方波進行脈沖幅度調制而產生的。如果直接對已調波進行測量,由于單片機的指令周期是微秒(μs)級,而已調波的脈寬只有20多μs,會產生很大的誤差。因此先要對已調波進行解調,對解調后的波形進行測量。

紅外遙控接收芯片CX20106可以完成對遙控信號的前置放大、限幅放大、帶通濾波、峰值檢波和波形整形,只需加上簡單的外圍電路即可完成對已調波的解調,原理如圖1所示。

將CX20106解調出的遙控編碼脈沖直接連入8751單片機的INT0和T0腳,定時器T)和T1都初始化為定時器工作方式1,T0的GATE位置位。每次外部中斷首先停止定時,記錄T0、T1的計數值,然后將T0、T1的計數值清零,并重新啟動定時。T0的值即為高電平脈寬,T1-T0的值為低電平脈寬,如圖2所示。

測量波形的外部中斷服務程序的流程如圖3所示。

測量波形的外部中斷服務程序如下:

interup0:clrtr0

clrtr1

pushpsw

pushacc

inctest

jbfirst,RE

mova,tl0

movtemp1,a

mova,th0

movtemp2,a

mova,tl1

clrc

subba,temp1

movx@dptr,a

incdptr

mova,th1

subba,temp2

movx@dptr,a

incdptr

mova,temp1

movx@dptr,a

incdptr

mova,temp2

movx@dptr,a

incdptr

RE:clrfirst

movtl0,#0

movth0,#0

movtl1,#0

movth1,#0

setbtr0

setbtr1

二、測量數據的轉發

只須用的數據周期性地改變P1.0就可以得到原來的遙控編碼脈沖,流程如圖4所示。

三、產生遙控發射信號

用遙控脈沖信號調制38kHz方波,然后將已調波放大,驅動紅外發光二極管,就可以得到遙發射信號。調制可用一個或門實現,38kHz方波可用8751的定時器T1產生,如圖5所示。

有些遙控器的載頻可能是40kHz,只須稍微加大發射功率仍然可用38kHz載頻使其接收電路動作。

四、應用領域

只須加上鍵盤和液晶或數碼顯示電路,并擴展一定數量的RAM,就可以用此方法實現自學習萬能遙控器。筆者已對目前市面上的彩電、影蝶機、錄像機、投影儀、空調器等產品的常見品牌進行過實驗,均實現了準確的接收和轉發。此外,只要在圖5所示電路前加一級編碼模塊(可用軟件實現)作為發射單元;圖1所示電路加上波形測量軟件作接收單元,再加上相應的解碼控制軟件就可組成一個通用紅外收發控制系統或數據傳輸系統,不需要再增加額外的硬件。