微控制器紅外解碼程式中關於接收時間的設定是怎麼計算的呢?

  • 作者:由 匿名使用者 發表于 攝影
  • 2022-12-05

#define msec_12p5 0x2d00

#define msec_15 0x3600

#define msec_9 0x2066

#define msec_2p5 0x900

#define msec_0p9 0x33d

#define msec_1p68 0x610

這個是晶振為11。0592M的設定值,如果晶振為12M,那分別應該對應的改為多少呢?

微控制器紅外解碼程式中關於接收時間的設定是怎麼計算的呢?Cindere鞡 2013-06-02

你用的是HT6221嗎,一般學習應該都用這個紅外晶片。

根據你在問題中提的問題和與別人的交流,我說兩點:

時間的計算,在接收和解碼紅外線是,要用到微控制器的兩個內部功能,外部中斷和定時器,定時器用於捕捉紅外接收時間,外部中斷用於捕捉接收的邏輯,那麼外部中斷不參與時間的工作,這時用到的只是定時器,這個定時器就當普通定時器就好了,建議使用能自動重灌初值的定時器,更穩定,只要定時器能讓它多少時間中斷一次,然後對一個變數計數一次就行,晶振的大小隻是初值的不同,稍微修改就行,沒必要大費周折的去算。

關於程式沒反應:程式正誤由編譯器檢查了,沒錯,但是你不該說程式邏輯沒錯,程式邏輯沒錯就肯定能運行了,在紅外的邏輯沒錯情況下,檢查程式邏輯,是否是對時間計數上沒把握到位,是否是初始化錯誤,是否是中斷函式用錯了關鍵詞,等等因素編譯器都不可能檢查出來,最好貼出你的程式,好幫助你。

希望我的回答能幫助到你吧。

微控制器紅外解碼程式中關於接收時間的設定是怎麼計算的呢?824189336 2013-05-30

不管 什麼,外部時鐘改了,設定不變,按比例改數就行,全乘以12M/11。0592M試試吧

Top