鍵盤的工作原理
鍵盤的基本工作原理就是實時監(jiān)視按鍵,將按鍵信息送入計算機。在鍵盤的內(nèi)部設計中有定位按鍵位置的鍵位掃描電路、產(chǎn)生被按下鍵代碼的編碼電路以及將產(chǎn)生代碼送入計算機的接口電路等等,這些電路被統(tǒng)稱為鍵盤控制電路。根據(jù)鍵盤工作原理,可以把計算機鍵盤分為編碼鍵盤和非編碼鍵盤。鍵盤控制電路的功能完全依靠硬件來自動完成的,這種鍵盤稱為編碼鍵盤,它能自動將按下鍵的編碼信息送入計算機。另外一種鍵盤,它的鍵盤控制電路功能要依靠硬件和軟件共同完成,這種鍵盤稱為非編碼鍵盤。這種鍵盤響應速度不如編碼鍵盤快,但它可通過軟件為鍵盤的某些按鍵重新定義,為擴充鍵盤的功能提供了極大的方便,從而得到了廣泛應用。
逐行掃描法
由程序?qū)︽I盤進行逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵。
需要設置輸入口、輸出口各一個。
行列掃描法
通過行列顛倒掃描來識別閉合鍵。在掃描每一行時,讀列線;然后依次向列線掃描輸出,讀行線。
需要提供兩個可編程的雙向輸入/輸出端口。
假定有一個3×4的矩陣鍵盤通過并行接口芯片8255A與微機相連。8255A的A口定義為輸出口,與鍵盤行線相連;B口定義為輸入口,與鍵盤列線相連。設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 非編碼鍵盤接口硬件框圖
評論