使用微控制器捕獲紅外編碼

2021-07-02 19:56:44 字數 932 閱讀 4061

對於智慧型家居,有個重要的裝置部分紅外遙控器,因為需要它來控制一些紅外家電。那麼我們怎麼獲得這些紅外編碼呢?常用方法是記錄遙控器發出的編碼,並儲存,當需要控制裝置時,再將其編碼發射出去。那麼我們怎麼使用微控制器來捕獲這些紅外編碼呢?下面我就給大家講講我所使用的方法。

我們一般會使用1838作為紅外編碼的接收頭,1838的數字輸出管腳是空閒為高電平(vdd),接收到紅外訊號時為低電平(gnd)。對於很多微控制器的定時器都有pwm波捕獲功能,pwm捕獲功能的使用,將定時器設定為從模式,意思是由其它事件啟動定時器,設定好定時器的某個通道作為pwm波捕獲通道,並且設定下降沿觸發pwm波捕獲,開啟pwm捕獲完成中斷,如果捕獲通道上出現下降沿,那麼定時器外設會將定時器計數器的值存到儲存pwm週期的暫存器中,此時會產生pwm捕獲完成中斷,然後復位計數器,再啟動定時器,當捕獲通道上出現上公升沿,定時器外設會將計數器的值存到儲存pwm波占空比的暫存器中。當處理器接收到pwm捕獲中斷時,就讀取pwm捕獲占空比暫存器和週期暫存器的值,並儲存到編碼緩衝器,注意第乙個pwm波值需要扔掉,因為第乙個中斷是第乙個下降沿時產生的,此時才開始第乙個pwm波的捕獲,需要等到第二個中斷,第乙個pwm波才捕獲完成,此時占空比暫存器和週期暫存器裡面存放的是第乙個pwm波的資料,如此繼續捕獲。還有乙個問題是,怎麼判斷pwm波捕獲完成呢,pwm波的結束是捕獲通道上出現上公升沿之後不會出現下降沿了,定時器的計數器會一直計數,直到等於定時器的週期值,然後計數器才會更新為0,如果開啟了定時器的更新中斷,此時會產生中斷,那麼我們就可以利用定時器的更新中斷作為pwm波捕獲的結束,將週期暫存器設定為你所期望在捕獲通道上出現了上公升沿多久之後沒有出現下降沿,就判定pwm捕獲結束,可設定為幾十毫秒。

我所使用的是stm32微控制器,設定的定時器計數頻率為100khz,週期暫存器為30ms,採用定時器2的ch1作為pwm波捕獲通道,那麼pwm的週期暫存器為tim2->ccr2,占空比暫存器為tim2->ccr1。當然實際情況中還會有一些紅外干擾訊號,紅外編碼太長等等。

微控制器 紅外通訊

人的眼睛能看到的可見光按波長從長到短排列,依次為紅 橙 黃 綠 青 藍 紫。其中紅光的波長範圍為0.62 0.76 m 紫光的波長範圍為0.38 0.46 m。比紫光波長還短的光叫紫外線,比紅光波長還長的光叫紅外線.紅外線遙控就是利用波長為0.76 1.5 m之間的近紅外線來傳送控制訊號的。紅外線遙...

51微控制器 紅外遙控

紅外遙控系統主要由紅外發射裝置和紅外置收裝置構成。紅外發射裝置主要由鍵盤電路 紅外編碼晶元 電源和紅外發射電路組成 比如遙控器 如圖 紅外置收裝置主要由紅外置收電路 紅外解碼晶元 電源和應用電路組成,在微控制器開發板上有紅外置收電路,而且微控制器充當解碼晶元。人的眼睛能看到的可見光按波長從長到短排列...

51微控制器紅外通訊

本文是武漢市海聯天下物聯網 技術團隊內部學習筆記,將詳細講解紅外遙控的基本原理以及51微控制器如何利用外部中斷和定時器0對紅外訊號進行解碼。技術部 張傲 使用紅外遙控器對準hl stc51開發板紅外置收頭,按下不同的按鍵,在開發板數碼管上將顯示對應按鍵的數字。8位位址碼,8位命令碼 完整發射兩次位址...