這兩天在學習紅外的發射程序寫法,有的文章說發送高、低電平,有的說高電平時發射,低電平時不發射;實現38KHz有的說需26次,有的說13次(相同的晶振12);弄得稀里糊涂,想請明白人用最簡單明確的語言幫助弄清幾個概念:
1、一個方波由一個高電平和一個低電平構成,如果高、低電平時間相等,那么單片機定時器必須中斷2次。以晶振12為例,一個機器周期=1微秒,
1/38=26.3微秒, 也就是需中斷26.3次才能實現,13次高轉低,13次低轉高,所以取13,單片機的定時初值是FFF3,對嗎?
2、引導碼由9ms高電平+4.5ms低電平組成,9ms高電平時打開(使能)發射管,4.5ms低電平時關閉發射管,對嗎?
3、后面的32位代碼也同法發送,即:“0”: 發射管打開0.56ms, 再關閉0.56ms, “1”:打開0.56ms,再關閉1.69ms,對嗎?
4、16位用戶碼是指特定的遙控器(相當于發射器)代碼,后面的8位操作嗎和8位反碼是指這個遙控器上的鍵值代碼,對嗎?
5、由上可知,38KHz的調制信號只作用于高電平,調制高電平,與低電平無關,信號中的低電平相當于延時,對嗎?
|