久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 具有學習功能的智能遙控器

具有學習功能的智能遙控器

作者: 時間:2012-03-31 來源:網絡 收藏

3 軟件設計

由于電路受按鍵控制,故在主程序中要不斷地判斷鍵值,相應的在子程序中完成。軟件應完成的工作有以下幾部分:

3.1接收碼的處理

無論的編碼以哪種編碼調制方式發出,總可以認為編碼由時間延續不等的高、低電平組成,因此,可以不斷讀取與接收頭相連的I/O口的數值,用計數器記錄高、低電平的時間。考慮到單片機的時鐘周期較長,可以將接收信號的時間進行壓縮,即將記錄的數值除以32后再儲存,可以節省存儲空間。

為了準確地存儲編碼,可以進行3次操作,每次時,均記錄3組數值,存至不同的空間。每次后,將3組數值進行比較,每個數值的偏差在03H之內,即認為本次學習成功,將3組數平均,存儲。重復學習三次后,將3次學習的結果再進行比較,偏差在03H之內,即可認為學習成功,取3次學習的結果作平均,作為編碼的代用碼,存至EEPROM的相應空間,以防數據掉電丟失。

編碼存儲時先存儲鍵值作起始標志,最后以FFH為結束碼。按照12M的晶體振蕩器決定的時鐘周期和除以32的時間壓縮,編碼的規律為高、低電平交錯出現。

3.2 判斷鍵盤按鍵

按鍵被按下時,通過INT1產生中斷。在中斷服務程序中,判斷鍵值,存儲,并確定相應的編碼存儲地址。

3.3 發射編碼

發射編碼時,先根據鍵值尋找相應編碼所在地址,依據起始碼判斷是否正確,確認后依據高、低電平的順序控制振蕩器的起振與停振,起振與停振的時間是將存儲碼擴展32倍。擴展時間是通過延時進行的,延時時間需經過多次反復的實驗。

3.4編碼預存

為了降低學習時的誤碼率,在程序中填加了遙控器編碼預存,將收集到的編碼存儲在程序存儲器中,并將編碼序號與發射芯片的對應關系告之用戶,用戶在已知發射芯片型號的基礎上可以預存遙控器編碼。當預存鍵按下時,配以數字增減鍵,將相應的編碼存至EEPROM對應的地址中。

3.5顯示

顯示系統能顯示學習及編碼預存功能的各種狀態。如進入學習狀態時顯示HELP;每一次學習成功時顯示1111;學習不成功顯示2222;三次學習成功顯示5555。編碼預存時顯示編碼芯片的序列號。為了節電,不學習時顯示系統不工作。

4 結束語

設計完成后,由于其價格低廉,控制準確,操作簡單,而得到了生產廠家的認可,預計可以給廠家帶來的經濟效益每年近百萬元。單片機代替編碼芯片的思路將我們引入了單片機應用的一個新領域,我們將進一步縮小其體積,使其功能進一步完善,以求更大的發展。

參考文獻
1 郝建國,家用電器遙控系統集成電路大全[M],北京:人民郵電出版社,1996年
2王裕琛、安穎,與空調、電視共用遙控器的遙控燈[P],中華人民共和國知識產權局,ZL03281069.5,2004年10月6日


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉