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

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 用光電編碼器實現(xiàn)單鍵飛梭功能

          用光電編碼器實現(xiàn)單鍵飛梭功能

          作者: 時間:2012-05-24 來源:網(wǎng)絡(luò) 收藏

          ”作為一種用戶輸入方法,其輸入方式靈活可靠,特別適合應(yīng)用在嵌入式儀器設(shè)備和手持式設(shè)備上。本文利用CPLD鑒相控制模擬開關(guān),模擬手動按鍵得到統(tǒng)一的PS/2碼,從而簡化軟件設(shè)計,提高了用戶輸入效率。

          本文引用地址:http://www.ex-cimer.com/article/167973.htm

          1Trimknob的工作原理

          Trimknob又稱為(opticalencoder),其中以Bourns公司和Greyhill公司的產(chǎn)品用得最廣泛。本文就以Bourns公司的ENC產(chǎn)品為例,介紹其工作原理。

          如圖1所示,Trimknob有兩個發(fā)光二極管及兩個光敏三極管,中間是可自由轉(zhuǎn)動的遮光板。當旋轉(zhuǎn)Trimknob時,兩個光敏三極管會被遮光板有次序地遮擋而產(chǎn)生圖2所示的波形。

          如果是順時針從位置#1旋轉(zhuǎn)到位置#2,通道A會比通道B相位超前半個周期;反之如果是逆時針從位置#3旋轉(zhuǎn)到位置#1,通道B會比通道A相位超前半個周期。通過檢測通道A和通道B的相位就能判斷是順時針還是逆時針轉(zhuǎn)動。通過記錄檢測通道A和通道B波形變化的次數(shù)就能得到轉(zhuǎn)動位置變化數(shù)目。

          2HoltekHT82K628A簡介

          HT82K628A是臺灣Holtek公司為IBMPC/AT及兼容機設(shè)計生產(chǎn)的專用鍵盤掃描控制芯片,支持101/102/104/109個鍵,PS/2接口。引腳定義如圖3所示。行線R0~R15為鍵盤矩陣的掃描輸出,列線C0~C7為鍵盤矩陣的掃描輸入。

          表1列舉了幾個行列線對應(yīng)的鍵值,關(guān)于此芯片的更詳細的應(yīng)用,請見參考文獻[1]。

          3設(shè)計原理

          通過一個鑒相電路,輸入為通道A、B,輸出為CW、CCW。CW、CCW控制模擬開關(guān)SW1、SW2。SW1的數(shù)據(jù)端分別連接在C6和R7上,從表1可以看出C6、R7對應(yīng)F8鍵。順時針轉(zhuǎn)動一個位置,CW輸出一個脈沖,模擬開關(guān)SW1接通。從鍵盤掃描控制芯片HT82K628A角度看,效果和按下“F8”一樣,如圖4。

          4

          4。1鑒相器的

          由于本系統(tǒng)其它邏輯部分電路用到Xilinx公司的CPLDXCR3032XL,所以我們把鑒相器電路也做在此CPLD中。其中定義CW、CCW為輸出引腳,Ch_A、Ch_B為輸入引腳。狀態(tài)機變化邏輯如下:

          State_diagramQstate

          StateSt0:CW=0;

          CCW=0;

          if(!Ch_ACh_B)thenSt1

          elseif(Ch_A!Ch_B)thenSt4

          elseSt0;

          StateSt1:CW=1;

          CCW=0;

          if(Ch_ACh_B)thenSt2

          elseSt1;

          StateSt2:CW=1;

          CCW=0;

          if(Ch_A!Ch_B)thenSt3

          elseSt2;

          StateSt3:CW=1;

          CCW=0;

          if(!Ch_A!Ch_B)thenSt0

          elseSt3;

          StateSt4:CW=0;

          CCW=1;

          if(Ch_ACh_B)thenSt5

          elseSt4;

          StateSt5:CW=0;

          CCW=1;

          if(!Ch_ACh_B)thenSt6

          elseSt5;

          StateSt6:CW=0;

          CCW=1;

          if(!Ch_A!Ch_B)thenSt0

          elseSt6;

          4。2模擬開關(guān)的

          一般手動按下一個鍵的開關(guān)時間是20ms,所以設(shè)計中在CW、CCW輸出端加了一個單穩(wěn)電路作為時延,單穩(wěn)電路的輸出作為模擬開關(guān)MC74HC4066的控制。電路設(shè)計如圖5所示。

          當鑒相器產(chǎn)生一個CW脈沖,U1就會觸發(fā)產(chǎn)生一個20ms寬的脈沖,將U2的引腳1和2接通。從表1可以查出行列線C6、R7對應(yīng)著鍵F8,于是從HT82K628A的PS/2輸出口可以得到F8的PS/2碼。

          5結(jié)論

          該電路已經(jīng)運用到實際應(yīng)用中,收到很好的效果。讀者可以根據(jù)這種思路,采用輸入解碼控制模擬開關(guān),合并到鍵盤矩陣掃描,得到統(tǒng)一的PS/2碼,從而簡化軟件設(shè)計,設(shè)計出更多更方便的用戶輸入方法



          評論


          相關(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); })();