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