新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 紅外遙控器在單片機控制系統中的應用

        紅外遙控器在單片機控制系統中的應用

        作者: 時間:2012-08-31 來源:網絡 收藏

        3 軟件設計

        本系統旨在識別指令代碼并依據指令信息實現新鍵功能, 我們的思路是在中斷服務程序中識別指令代碼并保存數據, 用主程序對數據進行比較和處理, 從而實現各種功能。

        3. 1 中斷服務程序

        3. 1. 1 代碼的判斷

        代碼的判斷是用計數和比較的方法來實現的,進入中斷的同時立即打開定時器T 1, 開始計數, 代碼/ 00和/ 10的計數時間由其脈沖寬度決定, 分別為1ms 和2ms, 則理論計數值A0、A1 分別可由以下公式得出:

        A0= 1ms/ 一個機器周期

        A1= 2ms/ 一個機器周期

        采用不同頻率的晶振時, 理論計數值也將隨之不同。

        考慮到基準頻率的誤差, 實際計數值很難保證與理論計數值完全一致, 為此需給/ 00和/ 10的實際計數值開設一個窗口, 以免丟失數據; 同時, 為增強抗干擾性, 窗口寬度應適中, 經過實驗, 我們確定的窗口寬度為0. 224ms, 具體數值如表2 所列。

        表2 記數窗口數值
        表2 記數窗口數值

        當實際計數值在A0L ~ A0H時, 我們認為接收的代碼是/ 00; 實際計數值在A1L~ A1H 時, 則將代碼記為/ 10。

        3. 1. 2 指令的識別

        將接收的指令代碼逐位存儲在RAM 區的2AH~ 2FH 單元中, 則可以存儲48 位共3 組指令代碼, 存儲的有效方式如表3 所列。

        表3 存儲方式
        表3 存儲方式

        在表3 中, jjH 表示的是表1 中的任意一個按鍵的功能操作碼, 只有當2A= 2C= E2H, 且2B= 2D=jjH 的時候, 此指令代碼才被認為是有效的, 將jjH代表的操作碼存入數據暫存單元1EH 中, 主程序即可以使用。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 奉化市| 祁门县| 广宗县| 特克斯县| 黄梅县| 新河县| 滁州市| 闽侯县| 宁安市| 普陀区| 南投市| 景东| 衡阳市| 枣庄市| 诏安县| 兴海县| 古蔺县| 托克托县| 永城市| 雷波县| 古交市| 高密市| 南华县| 同江市| 邓州市| 来凤县| 乌兰县| 图们市| 奉化市| 吉水县| 青岛市| 麻城市| 高青县| 安阳市| 磐安县| 七台河市| 大同县| 吉木乃县| 岗巴县| 樟树市| 长海县|