摘 要: 提出一種基于mega128單片機學習型紅外遙控器的設計與實現。對該遙控器的工作原理、軟硬件進行介紹,并對紅外編碼學習的實現過程進行詳細描述。該學習型紅外遙控器是通過測量脈沖寬度的方法來復制紅外脈沖信號并進行保存,以軟件形式實現38 kHz載波,最后通過紅外發(fā)射二級管發(fā)送紅外編碼來控制家用電器。
關鍵詞: mega128; 學習型紅外遙控器; 測量脈沖寬度
紅外遙控是一種無線、非接觸控制技術,具有抗干擾能力強、信息傳輸可靠、功耗低、成本低、易實現等顯著優(yōu)點,被諸多電子設備特別是家用電器廣泛采用。隨著人們生活水平的提高,家用電器的數量逐漸增加,使用紅外遙控器的頻率越來越高。但是由于各種紅外遙控器編碼格式不同[1],所以各種紅外遙控器不能兼容,這樣一個家庭就需要很多個遙控器,很不方便。
目前國內學習型遙控器大部分采用復制遙控器紅外波形的思想,方法很多。但是由于采用專用遙控發(fā)射芯片,集成度高但成本也高。
本文介紹一種基于mega128單片機的具有學習型的紅外遙控器的設計,其思想是通過測量經過紅外接收芯片解調后輸出的編碼脈沖寬度[2],然后存入單片機內部eeprom指定地址。當要發(fā)生紅外信號時,從存儲區(qū)還原出相應的紅外遙控編碼,并調制到38 kHz的載波信號上,最后直接驅動紅外發(fā)光二極管發(fā)射紅外信號,實現一個遙控器控制多種紅外家電設備。
1 學習型紅外遙控器基本硬件結構
學習型紅外遙控器由以下幾個模塊組成[3]:單片機、紅外接收模塊、紅外發(fā)射模塊和矩陣鍵盤,如圖1所示。系統(tǒng)采用8 MHz晶振,直接采用mega128內部E2PROM來存儲紅外遙控編碼,其容量為4 KB。