學(xué)習型紅外遙控裝置的研究與設計
4 系統軟件設計
4.1 初始化程序
初始化程序的任務(wù)是清除存儲脈寬數據單元、關(guān)閉學(xué)習及發(fā)射指示燈,關(guān)閉遙控輸出口,設置相應定時(shí)器模式,設置中斷等。
4.2 遙控碼讀入程序
遙控碼的學(xué)習處理程序主要是:將原控制器發(fā)送的脈沖依次存人存儲單元。其偶數地址單元存儲高電平脈寬數據,奇數地址單元存儲低電平脈寬數據。數據均存入外存儲器24LC16中。
讀遙控碼讀人程序,通過(guò)大量、不同類(lèi)型的遙控碼波形實(shí)驗測試分析,遙控碼的幀間歇位寬均大于10 ms,起始位碼寬為100μs~20 ms,編碼位為100μs~3.5 ms。為確保大部分遙控器學(xué)習成功,采用方法:
(1)讀起始位法 由于起始位的碼寬范圍較大,因此技術(shù)單元采用單獨的2字節,計數周期約15μs,按65 535×15μs計算,最大存儲起始位脈寬為983 ms。當輸入為高電平時(shí),停止起始位計數,進(jìn)入高電平計數。
(2)讀遙控碼法 采用1字節計數單元計數碼寬(高電平或低電平),當電平跳變時(shí)計數結束,將數據存儲到規定地址。在高電平碼汁數時(shí),當計數器值大于255(碼寬大于3.825ms),則為結束幀間隔位,在相應存儲單元寫(xiě)入數據0x00作為結束標志。其程序流程如圖4所示。

4.3 遙控碼發(fā)射程序
遙控碼發(fā)射程序是將原存于存儲單元的脈沖數據通過(guò)38 kHz方波調制,將存儲的原始控制碼和載波相與,即可發(fā)送遙控脈沖碼。其程序流程如圖5所示。

4.4 主程序
系統主程序在完成上電初始化后,端口按鍵查詢(xún)。當確認有按鍵按下時(shí),從外部存儲器中調用相應的遙控編碼將其發(fā)出。主程序流程如圖6所示。
5 結語(yǔ)
實(shí)驗證明,該學(xué)習型紅外系統完全滿(mǎn)足實(shí)驗需要。在學(xué)習遙控信號時(shí),綜合分析了大量紅外遙控碼,具有一定的通用性。遙控碼發(fā)射時(shí)不是采用硬件設計而是以軟件方式產(chǎn)生載波,這樣節約了硬件設備,簡(jiǎn)化了電路,有效實(shí)現紅外遙控信號的接收和發(fā)射。此學(xué)習型紅外遙控器已成功應用于多媒體教室、智能家居、家庭集中控制器等遙控設備,獲得了滿(mǎn)意效果。當然,由于目前遙控器信號尚未完全統一標準,利用紅外學(xué)習技術(shù)并不能保證學(xué)習到所有電器設備的遙控器信號,這也是學(xué)習型紅外今后的需要改進(jìn)的方向。
紅外遙控器相關(guān)文章:紅外遙控器原理
評論