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