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