所有紅外遙控器的輸出都是用編碼后的串行數據對38kHz~40kHz的方波進行脈沖幅度調制而產生的。如果直接對已調波進行測量,而其脈寬只有20多微秒,由于單片機的指令周期是微秒級,會產生很大的誤差。因此,先要對已調波進行解調,對解調后的波形進行測量。將CX20106或一體化紅外接收頭解調出的遙控編碼脈沖直接連入SM8952AC25P單片機的INT0和T0腳,定時器T0和T1都初始化為定時工作方式1,T0的GATE位置位。每次外部中斷首先停止定時,記錄T0、T1的計數值,然后將T0、T1的計數值清零,并重新啟動定時。T0的值即為高電平脈寬,T1~T0的值為低電平脈寬。T0、T1與紅外編碼信號脈寬的對應關系并且存儲到外部儲蓄器24C256中等待發送調用。
2 紅外遙控發送電路設計
遙控信號的還原是通過SM8952AC25P的T2特殊輸出口進行二進制脈沖碼的高電平與低電平的調制輸出,其中調制為利用單片機特殊功能進行內部調制這也是本設計的一個創新點,調制后的信號如圖3.5-2驅動紅外發光管工作。該設計的硬件電路相對簡單,因此系統的調試重點在軟件上。
評論