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