學(xué)習(xí)型紅外遙控裝置的研究與設(shè)計(jì)
4 系統(tǒng)軟件設(shè)計(jì)
4.1 初始化程序
初始化程序的任務(wù)是清除存儲(chǔ)脈寬數(shù)據(jù)單元、關(guān)閉學(xué)習(xí)及發(fā)射指示燈,關(guān)閉遙控輸出口,設(shè)置相應(yīng)定時(shí)器模式,設(shè)置中斷等。
4.2 遙控碼讀入程序
遙控碼的學(xué)習(xí)處理程序主要是:將原控制器發(fā)送的脈沖依次存人存儲(chǔ)單元。其偶數(shù)地址單元存儲(chǔ)高電平脈寬數(shù)據(jù),奇數(shù)地址單元存儲(chǔ)低電平脈寬數(shù)據(jù)。數(shù)據(jù)均存入外存儲(chǔ)器24LC16中。
讀遙控碼讀人程序,通過大量、不同類型的遙控碼波形實(shí)驗(yàn)測(cè)試分析,遙控碼的幀間歇位寬均大于10 ms,起始位碼寬為100μs~20 ms,編碼位為100μs~3.5 ms。為確保大部分遙控器學(xué)習(xí)成功,采用方法:
(1)讀起始位法 由于起始位的碼寬范圍較大,因此技術(shù)單元采用單獨(dú)的2字節(jié),計(jì)數(shù)周期約15μs,按65 535×15μs計(jì)算,最大存儲(chǔ)起始位脈寬為983 ms。當(dāng)輸入為高電平時(shí),停止起始位計(jì)數(shù),進(jìn)入高電平計(jì)數(shù)。
(2)讀遙控碼法 采用1字節(jié)計(jì)數(shù)單元計(jì)數(shù)碼寬(高電平或低電平),當(dāng)電平跳變時(shí)計(jì)數(shù)結(jié)束,將數(shù)據(jù)存儲(chǔ)到規(guī)定地址。在高電平碼汁數(shù)時(shí),當(dāng)計(jì)數(shù)器值大于255(碼寬大于3.825ms),則為結(jié)束幀間隔位,在相應(yīng)存儲(chǔ)單元寫入數(shù)據(jù)0x00作為結(jié)束標(biāo)志。其程序流程如圖4所示。
4.3 遙控碼發(fā)射程序
遙控碼發(fā)射程序是將原存于存儲(chǔ)單元的脈沖數(shù)據(jù)通過38 kHz方波調(diào)制,將存儲(chǔ)的原始控制碼和載波相與,即可發(fā)送遙控脈沖碼。其程序流程如圖5所示。
4.4 主程序
系統(tǒng)主程序在完成上電初始化后,端口按鍵查詢。當(dāng)確認(rèn)有按鍵按下時(shí),從外部存儲(chǔ)器中調(diào)用相應(yīng)的遙控編碼將其發(fā)出。主程序流程如圖6所示。
5 結(jié)語
實(shí)驗(yàn)證明,該學(xué)習(xí)型紅外系統(tǒng)完全滿足實(shí)驗(yàn)需要。在學(xué)習(xí)遙控信號(hào)時(shí),綜合分析了大量紅外遙控碼,具有一定的通用性。遙控碼發(fā)射時(shí)不是采用硬件設(shè)計(jì)而是以軟件方式產(chǎn)生載波,這樣節(jié)約了硬件設(shè)備,簡(jiǎn)化了電路,有效實(shí)現(xiàn)紅外遙控信號(hào)的接收和發(fā)射。此學(xué)習(xí)型紅外遙控器已成功應(yīng)用于多媒體教室、智能家居、家庭集中控制器等遙控設(shè)備,獲得了滿意效果。當(dāng)然,由于目前遙控器信號(hào)尚未完全統(tǒng)一標(biāo)準(zhǔn),利用紅外學(xué)習(xí)技術(shù)并不能保證學(xué)習(xí)到所有電器設(shè)備的遙控器信號(hào),這也是學(xué)習(xí)型紅外今后的需要改進(jìn)的方向。
紅外遙控器相關(guān)文章:紅外遙控器原理
評(píng)論