<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 工業(yè)控制計算機紅外線遙控鍵盤的設(shè)計

          工業(yè)控制計算機紅外線遙控鍵盤的設(shè)計

          作者: 時間:2010-04-10 來源:網(wǎng)絡(luò) 收藏

            0. 引言

            對于工業(yè)控制微機系統(tǒng)來說輸入設(shè)備幾乎是必不可少的。在按鍵數(shù)目較少時,一般直接利用按鍵控制接口線的高低電平來表示,因此需要相應(yīng)的接口支持,由于單片工業(yè)控制微機系統(tǒng)接口線數(shù)目有限,為了減少占用接口線常常采用一鍵定義多功能,但這又增加了軟件的復(fù)雜性;在按鍵數(shù)目較多時,則大多采用動態(tài)掃描的方式構(gòu)成矩陣,這種雖然結(jié)構(gòu)原理簡單,驅(qū)動程序易于設(shè)計,但是在具體實現(xiàn)時往往需要花很多的時間去設(shè)計印刷電路板、考慮面板布局,而且在硬件資源比較緊張時,還要考慮擴充I/ O 口,從而使得電路變得越來越復(fù)雜。

            2. 系統(tǒng)簡介

            本文介紹一種利用紅外線發(fā)射裝置作為工業(yè)控制計算機輸入鍵盤的接口原理和實現(xiàn)方法,該接口可以最大限度地減少對系統(tǒng)的硬件資源要求,僅占用一根接口線,在系統(tǒng)的面板上只需一個小的接收窗。整個接口由發(fā)射和接收兩部分組成。對于單片工業(yè)控制微機系統(tǒng)所需的按鍵數(shù)目少于30 時,發(fā)射部分可以直接使用成品紅外遙控發(fā)射器,如果自行設(shè)計發(fā)射部分,則可以支持60個鍵左右,其中有兩鍵用于構(gòu)成組合按鍵。接收部分的接口電路也非常簡單,無需布線,只要將成品模塊的輸出直接接到單片工業(yè)控制微機系統(tǒng)的任一I/ O 接口線即可,同時驅(qū)動程序也易于設(shè)計。由于鍵盤采用無線方式,因此所構(gòu)成的可以方便地滿足一些需要遠距離控制的場合,以及一些特殊場合,例如:單片工業(yè)控制微機系統(tǒng)在一個密封的容器內(nèi),通過玻璃小窗進行參數(shù)輸入或控制;單片工業(yè)控制微機周圍環(huán)境不適宜用戶近距離操作等。

            3. 紅外線遙控鍵盤的硬件組成

            由集成芯片PT2248構(gòu)成的紅外線遙控鍵盤發(fā)射電路見圖1。00H~09H為數(shù)字鍵,0AH為復(fù)位鍵,0BH 為取消鍵。

          紅外線遙控鍵盤發(fā)射電路

            紅外線遙控鍵盤發(fā)射電路采用脈時調(diào)制(PPM)方式,將遙控指令調(diào)制成脈沖序列,并驅(qū)動紅外發(fā)射管以光脈沖的形式發(fā)送出去。遙控指令有12位碼組成,見表1。

          表1 遙控指令格式

            C1,C2,C3是用戶碼,在T1,T2,T3與 CODE之間分別接二極管則分別代表C1,C2,C3為高電平“1”,不接二極管則代表低電平“0”,圖2中C1C2C2=111。 D1,D2,D3,D4,D5,D6是發(fā)送的數(shù)據(jù)碼,鍵號與鍵碼的對應(yīng)關(guān)系見表2。

          鍵號與鍵碼的對應(yīng)關(guān)系

            PT2248遙控指令的波形正脈沖的占空比為1/4時代表“0”,正脈沖的占空比為 3/4時代表“1”見圖2。

          遙控指令的波形

            無論“0”還是“1”,發(fā)射時正脈沖被調(diào)制在38KHZ的載波上,載波的占空比為 1/3,這樣有利于減少功耗。每個發(fā)送周期按C1,C1,C2,H,S1,S2,D1,D2,D3,D4,D5,D6的次序串行發(fā)送,總長度為48a,其中a為每位碼周期的1/4,其大小為:a=192/fosc秒=192/455KHE=0.422ms。按下00H~0BH中某個鍵時,輸出腳TXOUT 發(fā)送兩個周期的12位碼,其間隔為80a。由GL3276A構(gòu)成的紅外線遙控鍵盤接收電路見圖3。

          由GL3276A構(gòu)成的紅外線遙控鍵盤接收電路

            當(dāng)紅外線線遙控鍵盤接收電路工作時,接收管PH302B接收到帶有載頻為38KHZ 的遙控指令的紅外線信號后,進行放大,限幅和檢波,檢出遙控指令的脈沖包絡(luò),濾去38KHZ載頻,得到遙控指令的脈沖信號,整形并反向后由OUT輸出,將 GL3276A的OUT經(jīng)74LS14施密特觸發(fā)器整形,最終得到遙控指令的理想的反向脈沖信號。得到的遙控指令的反向脈沖信號的波形正脈沖的占空比為 1/4代表“1”,正脈沖的占空比為3/4代表“0”,見圖4。

          遙控指令的反向脈沖信號的波形

            4. 紅外線遙控鍵盤的軟件設(shè)計

            將GL3276A的OUT輸出信號經(jīng)74LS14兩級施密特反向器整形后與89C51的P3.2(/INTO)相連,由于每位碼都以4a為周期,每位的起始總是由高電平到低電平,因此解碼的過程可用每位碼的起始邊沿作為/INTO的中斷請求信號,中斷響應(yīng)后關(guān)/INTO中斷,然后延時a/2,由P3.2對紅外線遙控接收電路的輸出信號進行采樣,再延時a,分別在3a/2,5a/2,7a/2時刻進行采樣,波形與采樣時刻的對應(yīng)關(guān)系見圖5。

          遙控指令的反向脈沖信號

            由圖5可見接收到的“0”由‘低高高高’組成,“1”由‘低低低高’組成,當(dāng) 7a/2時刻采樣完成后開/INTO中斷,為下一位碼的采樣作準(zhǔn)備,直到/INTO中斷24次(兩個周期的串行12位碼)。中斷服務(wù)子程序開始預(yù)置樣碼 0FH,分別在a/2,3a/2,5a/2,7a/2時刻由P3.2對紅外遙控接收電路的輸出信號進行采樣,如果是高電平保持樣碼不變,如果是低電平樣碼相應(yīng)位置0,最后將樣碼存入指定的RAM單元。

            遙控鍵盤的可靠性是軟硬件設(shè)計中重點考慮的問題。在硬件上,將GL3276A的OUT經(jīng) 74LS14施密特整形,以提高抗干擾能力。在軟件上要正確的解碼,必須從每位碼的起始位開始接收,本設(shè)計中,PT2248發(fā)送的遙控指令的起始碼為用戶碼C1C2C3=111,因為P3.2接收到的“1”由‘低低低高’組成,因此接收到的碼應(yīng)為三個“0001”,若不是,本次接收無效。其次,為了防止接收誤碼,應(yīng)對前后兩次接收的兩個周期的12位串行碼進行一致性比較,若相同則與鍵碼表中的鍵碼進行比較,找出相應(yīng)的鍵號,否則本次接收無效。解碼程序流程圖見圖6.

          解碼程序流程圖

            5. 結(jié)束語

            本文介紹了一種利用紅外遙控器作為輸入鍵盤的接口原理和方法,構(gòu)思巧妙,結(jié)構(gòu)合理,成本低廉,我們已經(jīng)成功地利用該接口方式實現(xiàn)了單片機鍵盤的無線式操作。文中以PT2248集成芯片作為發(fā)射部分,對于其他類型發(fā)射芯片,此接口原理仍然適用,只需相應(yīng)修改中斷服務(wù)程序即可。如果單片機系統(tǒng)有多余的外中斷資源,可將接收到的信號輸入至中斷引腳,利用外中斷與定時器結(jié)合,則可減少接收處理時對CPU 時間的占用。利用此技術(shù),我們在“智能型牛奶質(zhì)量快速檢測儀研制”項目上得到了很好的應(yīng)用。

            遙控技術(shù)經(jīng)歷了有線遙控、無線電波遙控,現(xiàn)今的紅外遙控,技術(shù)已相當(dāng)成熟,功能越來越強,運行越來越穩(wěn)定,應(yīng)用越來越廣泛。先進的遙控技術(shù)配合單片機運用到工業(yè)控制中去,那么,控制系統(tǒng)的操作將變得更容易、更快捷、更方便、更安全。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();