一類基于軟件載波的學習型遙控器的設計與實現
在設計中采用計數器對信號高低電平計時的方法來采集數據并保存。當系統(tǒng)識別到起始碼的低電平時,系統(tǒng)啟動設計的采集信號對低電平進行采集,同時計數器開始計數,當起始碼的低電平結束時,并保存計數器此時的值,記錄下起始碼的低電平信號脈沖寬度值。然后依次保存采集到的編碼信號脈沖寬度值,如果采集到編碼信號位數大于設定值M(程序中設定值),就認為編碼采集已經結束,學習子程序結束,如圖3所示:本文引用地址:http://2s4d.com/article/166997.htm
2.3 紅外遙控信號的發(fā)射
由軟件實現遙控信號的載波合成,用定時中斷0產生38 kHz的載波信號,用學習到的遙控編碼信號的低電平去控制載波的輸出,此時定時器O定時長度由相應的遙控信號低電平寬度計數值確定,即如果需發(fā)射的遙控信號為高電平時,關定時中斷O;如果為低電平,則開定時中斷0。輸出38 kHz載波信號到紅外發(fā)射控制腳(P3.7),從而實現遙控信號的脈寬調制發(fā)射。不考慮紅外信號的編碼方式,只采集其高低電平寬度的方法,如圖4所示。發(fā)射時并不需要用到38 kHz載波電路,而是采用以單片機的定時器TO產生載波,程序代碼如下所示:
3 結 語
該次設計中紅外遙控器,可以準確采集到紅外編碼脈沖信號,并將原始的紅外編碼信號保存,發(fā)送,能成功學習各種不同家用紅外遙控器,對各種家用紅外遙控器進行控制,解決了家庭用戶眾多遙控器的煩勞。
評論