• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > 紅外遙控器信號的接收和轉發

    紅外遙控器信號的接收和轉發

    作者: 時間:2004-12-07 來源:網絡 收藏
    摘要:介紹用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:clr tr0

    clr tr1

    push psw

    push acc

    inc test

    jb first,RE

    mov a,tl0

    mov temp1,a

    mov a,th0

    mov temp2,a

    mov a,tl1

    clr c

    subb a,temp1

    movx @dptr,a

    inc dptr

    mov a,th1

    subb a,temp2

    movx @dptr,a

    inc dptr

    mov a,temp1

    movx @dptr,a

    inc dptr

    mov a,temp2

    movx @dptr,a

    inc dptr

    RE:clr first

    mov tl0,#0

    mov th0,#0

    mov tl1,#0

    mov th1,#0

    setb tr0

    setb tr1

    二、測量數據的轉發

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

    三、產生遙控發射信號

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

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

    四、應用領域

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 天镇县| 盖州市| 黄陵县| 阿勒泰市| 大足县| 绿春县| 东源县| 通州区| 兴安县| 宁晋县| 临武县| 北流市| 万安县| 远安县| 连平县| 涟源市| 芮城县| 南丹县| 酉阳| 纳雍县| 昌乐县| 定结县| 德州市| 兰州市| 保康县| 永德县| 汕头市| 安顺市| 赞皇县| 景宁| 吴堡县| 长顺县| 江达县| 陈巴尔虎旗| 万年县| 石屏县| 龙游县| 盐源县| 梅河口市| 揭西县| 昌乐县|