• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 光電顯示 > 設計應用 > 用光電編碼器實現單鍵飛梭功能

    用光電編碼器實現單鍵飛梭功能

    作者: 時間:2012-05-24 來源:網絡 收藏

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

    本文引用地址:http://www.czjhyjcfj.com/article/167973.htm

    1Trimknob的工作原理

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

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

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

    2HoltekHT82K628A簡介

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

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

    3設計原理

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

    4

    4。1鑒相器的

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

    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模擬開關的

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

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

    5結論

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 阳高县| 重庆市| 新邵县| 英德市| 奈曼旗| 宝鸡市| 汉寿县| 临夏市| 商都县| 离岛区| 申扎县| 江达县| 莱阳市| 塔河县| 赫章县| 沾化县| 军事| 壤塘县| 上杭县| 荔波县| 固始县| 陆川县| 虎林市| 宁德市| 沁阳市| 广德县| 枝江市| 苍南县| 裕民县| 眉山市| 额济纳旗| 湖南省| 灌阳县| 顺义区| 雷波县| 金寨县| 宁夏| 荔波县| 本溪市| 洪洞县| 淮阳县|