① 單片機編碼紅外發射
單片機不直接分析到38KHZ的每一個脈沖.
單片機之前有一個專用的紅外接收IC,會把38KHZ的信號還原成負脈沖.(就是說會把接收到的38KHZ信號的持續時間轉換成同寬度的負脈沖).
例如有一個持續4.5ms的38KHZ信號,這個前置IC會把它轉換成4.5ms的負脈沖送單片機.
你只要讀懂編碼規則就能寫解碼程序.
② 單片機紅外發射信號的問題(怎麼讓單片機發射一個頻率的紅外波呢能不能具體說怎麼實現啊)謝謝了
【0】看問題的意思,好像是兩個單片機電路構成的系統。
其中一個,按鍵發出指定頻率的紅外光,另一個接收紅外後根據頻率顯示鍵值。
【1】通常一體化紅外接收頭,都是固定頻率的,如常用的38KHz調制,這樣可以提高抗干擾能力,以濾掉環境的紅外光。
【2】因此紅外發射管,應按照接收頭頻率,調制發射38KHz。
【3】按鍵按下後,再次按您所述的頻率再次調制。
【4】實現方法:
a、按鍵發射機,開雙定時器。一個調制38KHz,一個根據按鍵產生對應的8種頻率。
b、按鍵發射機,8種頻率,可以預先計算8個定時器初值,放在數組ModemFreq[8]中。
c、按鍵按下後,根據鍵值i,裝載ModemFreq[i],打開兩個定時器。對38KHz方波個數計數,如16次後停發。等待下次按鍵。
d、紅外接收機,對38KHz解調輸出,利用外部中斷觸發,啟動定時器進行脈寬測量。
e、紅外接收機,用定時器對低電平的寬度測量。根據寬度換算按鍵調制頻率。
f、根據得到的頻率,顯示鍵值i。
③ 關於單片機 發射紅外線遙控電視機疑問
是電視機遙控器?還是機頂盒遙控器?
還有寫程序之前需要確認電視機遙控器的編碼方式,否則一切都是白搭。
是NES編碼?還是SAA3010T編碼?……
如果你不知道就說說你電視機的品牌型號吧。
比如我家的:
電視機是長虹,長虹遙控器的編碼方式是SAA3010T。
機頂盒遙控器的編碼方式是NES。
艾諾MP4V8000遙控器的編碼方式也是NES。
紅外遙控插排遙控器的編碼方式也是NES。
幾個遙控器挺麻煩的,所以我就用STC11L04做了一個4和1遙控器,很方便的!
STC1205A32S2比傳統51單片機有所改進,有很多擴展功能,只要你將它的各項功能大概了解,上面的程序只是小問題了。
不建議:
使用中斷產生38K載波。
推免驅動發射二極體。
用軟體或者PWM產生38K載波更好:
方便調制,可以調節占空比,提高脈沖電流峰值,實現低功耗發射遠的目的。
推免驅動允許最大電流20mA,一般6米左右也是可以的,
但是,加個三極體,發射距離比推挽遠的多,為什麼不用,反正又不復雜。
下面是PNP三極體驅動電路(占空比使用約3:4)