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

          新聞中心

          鍵盤的工作原理

          作者: 時間:2011-07-31 來源:網(wǎng)絡(luò) 收藏

          鍵盤的基本工作原理就是實時監(jiān)視按鍵,將按鍵信息送入計算機。在鍵盤的內(nèi)部設(shè)計中有定位按鍵位置的鍵位掃描電路、產(chǎn)生被按下鍵代碼的編碼電路以及將產(chǎn)生代碼送入計算機的接口電路等等,這些電路被統(tǒng)稱為鍵盤控制電路。根據(jù)鍵盤工作原理,可以把計算機鍵盤分為編碼鍵盤和非編碼鍵盤。鍵盤控制電路的功能完全依靠硬件來自動完成的,這種鍵盤稱為編碼鍵盤,它能自動將按下鍵的編碼信息送入計算機。另外一種鍵盤,它的鍵盤控制電路功能要依靠硬件和軟件共同完成,這種鍵盤稱為非編碼鍵盤。這種鍵盤響應(yīng)速度不如編碼鍵盤快,但它可通過軟件為鍵盤的某些按鍵重新定義,為擴充鍵盤的功能提供了極大的方便,從而得到了廣泛應(yīng)用。

          逐行掃描法
          由程序?qū)︽I盤進行逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵。
          需要設(shè)置輸入口、輸出口各一個。

          行列掃描法
          通過行列顛倒掃描來識別閉合鍵。在掃描每一行時,讀列線;然后依次向列線掃描輸出,讀行線。
          需要提供兩個可編程的雙向輸入/輸出端口。

          假定有一個3×4的矩陣鍵盤通過并行接口芯片8255A與微機相連。8255A的A口定義為輸出口,與鍵盤行線相連;B口定義為輸入口,與鍵盤列線相連。設(shè)8255A A口地址為40H,B口地址為41H,控制寄存器地址為43H。

          MOV AL,82H
          OUT 43H,AL
          BEGIN:MOV AL,0
          OUT 40H,AL
          WAIT : IN AL,41H
          AND AL,0FH
          CMP AL,0FH
          JZ WAIT
          MOV CX,7FFH
          L0: LOOP L0
          ST: MOV BL,3
          MOV BH,4
          MOV AL,0FEH
          MOV CL,0FH
          MOV CH,0FFH
          L1: OUT 40H,AL
          ROL AL
          MOV AH,AL
          IN AL,41H
          AND AL,CL
          CMP AL,CL
          JNZ L2
          ADD CH,BH
          MOV AL,AH
          DEC BL
          JNZ L1
          JMP BEGIN
          L2: INC CH
          RCR AL
          JC L2
          MOV AL,CH
          JMP KEYTABLE

          圖12-1 非編碼鍵盤接口硬件框圖



          評論


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