紅外遙控器在單片機控制系統(tǒng)中的應(yīng)用
3. 1. 3 中斷服務(wù)程序流程
程序中, 先將接收的每一位代碼作/ 00、/ 10的判別后存儲下來, 存滿48 位后, 再進行數(shù)據(jù)是否有效的判別, 最后存儲有效的指令代碼。程序框圖如圖4 所示。
圖4 中, 移位處理是指2AH~ 2FH 中的6 個字節(jié)整體向左移動, 目的是為了防止接收頭從某一組指令的中間開始接收數(shù)據(jù)而造成的數(shù)據(jù)丟失, 若移位16 次還不能出現(xiàn)有效的指令代碼, 則認(rèn)為此組數(shù)據(jù)無效。
圖4 中斷服務(wù)程序框圖
3. 2 主程序
為配合中斷服務(wù)程序, 在主程序初始化中設(shè)定INT 0 或INT 1 為負(fù)跳變邊沿觸發(fā)方式, 同時將定時器T1 設(shè)定在工作方式2, 且不允許中斷。
控制功能的實現(xiàn), 可以采用不斷地從指令代碼暫存單元1EH 中取出數(shù)據(jù)再與表1 中的按鍵功能操作碼逐一比較的方法, 并附以其他功能的實現(xiàn)子程序。
4 結(jié)束語
當(dāng)選用其他型號的遙控器或單片機時, 除了需重新確定遙控器的指令代碼類型和單片機的計數(shù)速度外, 本文介紹的方法依然適用。
采用紅外遙控器做控制器的單片機系統(tǒng), 不僅價格低廉, 而且電路簡單、實用, 操作方便, 性能穩(wěn)定, 易于推廣。目前已在我們制作的多種自動控制系統(tǒng)中使用。
評論