<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用單片機模擬2262軟件編碼

用單片機模擬2262軟件編碼

作者: 時(shí)間:2011-10-08 來(lái)源:網(wǎng)絡(luò ) 收藏

1 概述

本文引用地址:http://dyxdggzs.com/article/172461.htm

  在應用遙控編、解碼芯片時(shí),要求一對芯片的地址完全一致,因此當一個(gè)遙控芯片控制多個(gè)解碼芯片時(shí),需要與地址端連接的多個(gè)開(kāi)關(guān)同時(shí)輔助動(dòng)作,以改變地址,使之與解碼芯片的地址完全一致,達到遙控的目的。

  若用微控制器取代芯片,就可以使多個(gè)開(kāi)關(guān)動(dòng)作改變輸出波形的功能由完成,同時(shí),在空閑時(shí)讓微控制器工作在掉電模式,這樣不但操作簡(jiǎn)便而且節省了能源。

  為此,我們設計了用廉價(jià)AT89C2051代替遙控芯片PT2262來(lái)實(shí)現功能的電路,用了遙控編碼功能。

  2 PT2262的工作原理

  2.1 管腳功能

  PT2262的各管腳功能如表1所示。

  

  2.2 位脈沖寬度

  PT2262的地址引腳有3種接法,即懸空(高阻態(tài))、高電平及低電平,不同接法的輸出波形不同,如圖1所示。從圖中可知,若振蕩周期為a,則窄脈沖的寬度是4a,間隔是12a;寬脈沖的寬度是12a,間隔是4a,從而一個(gè)完整的位脈沖寬度是32a。

  使用時(shí),PT2262振蕩電阻大約是與它成對的解碼芯片PT2272振蕩電阻的4倍,即若取PT2272振蕩電阻為470kΩ, PT2262的振蕩電阻可取2MkΩ。這種條件下,經(jīng)多次實(shí)驗測得PT2262發(fā)射的窄脈沖寬度約為250μs,寬脈沖約為750μs,而2組數據之間的間隔約為6ms。

  

  圖1 PT2262的位脈沖波形

  2.3 編碼方式

  PT2262共有12個(gè)地址端,發(fā)射的每一組數據都由12個(gè)位脈沖組成,順序是從A0、A1……到A11,由于每個(gè)地址端有3種接法,故數據端輸出的波形有312種形式。

  3 設計方法

  以一片PT2262通過(guò)八片PT2272控制8個(gè)燈為例進(jìn)行說(shuō)明。

  3.1 復位的處理

  設計程序時(shí)不容忽視的問(wèn)題是:接上電池的首次復位和正常工作有鍵被按下時(shí)的掉電復位后,程序均從0000H單元運行。因此不同的復位應區別對待。

  首次復位可認為8個(gè)燈都是關(guān)著(zhù)的,而掉電復位應記憶掉電前8個(gè)燈的開(kāi)關(guān)狀態(tài),以便在按鍵再次按下時(shí)能準確地開(kāi)、關(guān)燈。

  為了達到這個(gè)目的,我們在CPU的RAM中開(kāi)辟了一個(gè)記憶區域,即20H、21H、22H,在這3個(gè)字節中存放復位標志。

  首次復位后寫(xiě)入20H=55H,21H=AAH,22H=00H。其中22H的八位按順序對應八個(gè)燈,當某一個(gè)燈被打開(kāi)時(shí),將其對應位送1,被關(guān)掉后送0。每次復位均要檢查21H,22H單元的內容,如果20H=55H,21H=AAH就說(shuō)明是掉電復位;如果上述條件不成立,就說(shuō)明是首次復位。由于首次復位時(shí),RAM內容是隨機的,因此兩個(gè)字節的復位標志保證了復位判斷的準確性。

  3.2 地址編碼

  用2EH的8位和2FH的高4位來(lái)存儲12位地址A0~A11狀態(tài),1表示高電平,0表示低電平。此時(shí),最多可以控制燈的個(gè)數為212個(gè)。若需利用第三種狀態(tài),只需用一個(gè)字節的兩位表示即可,如00、01、10分別表示高、低電平及高阻態(tài),此時(shí)最多可以控制燈的個(gè)數為312個(gè)。

  我們設計的是控制8個(gè)燈的電路,用兩個(gè)狀態(tài)時(shí),輸出的A3~A10這9位編碼固定不變,從而使8個(gè)燈的8片解碼器PT2272 的這9個(gè)地址端接法完全一致。A0~A2決定了8個(gè)燈的地址編碼,如表2所示。

  

  每種接法與相應接受燈的解碼器PT2272一一對應。A11也兼做數據D0位,D0=1時(shí),控制燈開(kāi);反之,控制燈關(guān)。

  3.3 鍵值讀取

  為了節電,程序中設置了一段1毫秒的延時(shí),在1毫秒之內,有鍵按下則去處理鍵值,若無(wú)鍵按下,則進(jìn)入掉電節能狀態(tài)。

  處理鍵值時(shí),為了防止一次按鍵被重復處理,要等待按鍵結束后再去處理。

  鍵值的處理有兩個(gè)內容,首先將該按鍵對應的燈的開(kāi)關(guān)標志位取反。例如,設定標志字節為23H,當按鍵AN0被按下,就將23H.0取反,并將取反后的結果送A11/D0的存儲位 。然后把該按鍵對應的燈的編碼按表2送至A0~A2的存儲位。

  3.4 脈沖

  發(fā)送脈沖程序就是根據2EH,2FH的內容發(fā)送連續12個(gè)1,0或高阻數據脈沖。脈沖的寬度是用延時(shí)來(lái)實(shí)現的。在程序中,可編制幾段延時(shí)子程序,由主程序調用即可。需注意的是,延時(shí)時(shí)間要通過(guò)多次實(shí)驗,反復調整。

  4 結束語(yǔ)

  本系統現已投入使用,它不但結構簡(jiǎn)單,價(jià)格低廉,操作方便,控制準確、靈活,而且節能效果好,彌補了發(fā)射芯片的局限性,使其更加智能化、理想化。以此為基礎,在遙控系統中的應用將更加廣泛。



關(guān)鍵詞: 編碼 軟件 模擬 單片機

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>