第五章 鍵盤及其接口技術(shù)_第1頁
第五章 鍵盤及其接口技術(shù)_第2頁
第五章 鍵盤及其接口技術(shù)_第3頁
第五章 鍵盤及其接口技術(shù)_第4頁
第五章 鍵盤及其接口技術(shù)_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第五章鍵盤及其接口技術(shù)第1頁,共77頁,2023年,2月20日,星期三本章主要內(nèi)容

引言5.1鍵盤輸入電路5.2非編碼獨立式鍵盤5.3非編碼矩陣式鍵盤5.4編碼鍵盤

本章小結(jié)

思考題第2頁,共77頁,2023年,2月20日,星期三引言

在計算機控制系統(tǒng)中,除了與生產(chǎn)過程進行信息傳遞的過程輸入輸出設(shè)備以外,還有與操作人員進行信息交換的常規(guī)輸入設(shè)備和輸出設(shè)備。鍵盤是一種最常用的輸入設(shè)備,它是一組按鍵的集合,從功能上可分為數(shù)字鍵和功能鍵兩種,作用是輸入數(shù)據(jù)與命令,查詢和控制系統(tǒng)的工作狀態(tài),實現(xiàn)簡單的人機對話。

鍵盤接口電路可分為編碼鍵盤和非編碼鍵盤兩種類型。編碼鍵盤采用硬件編碼電路來實現(xiàn)鍵的編碼,每按下一個鍵,鍵盤便能自動產(chǎn)生按鍵代碼。編碼鍵盤主要有BCD碼鍵盤、ASCII碼鍵盤等類型。非編碼鍵盤僅提供按鍵的通或斷狀態(tài),按鍵代碼的產(chǎn)生與識別由軟件完成。第3頁,共77頁,2023年,2月20日,星期三引言

編碼鍵盤的特點是使用方便,鍵盤碼產(chǎn)生速度快,占用CPU時間少,但對按鍵的檢測與消除抖動干擾是靠硬件電路來完成的,因而硬件電路復(fù)雜、成本高。而非編碼鍵盤硬件電路簡單,成本低,但占用CPU的時間較長。第4頁,共77頁,2023年,2月20日,星期三5.1鍵盤輸入電路主要知識點:5.1.1鍵盤的抖動干擾5.1.2抖動干擾的消除第5頁,共77頁,2023年,2月20日,星期三

5.1.1鍵盤的抖動干擾由于機械觸點的彈性振動,按鍵在按下時不會馬上穩(wěn)定地接通而在彈起時也不能一下子完全地斷開,因而在按鍵閉合和斷開的瞬間均會出現(xiàn)一連串的抖動,這稱為按鍵的抖動干擾,其產(chǎn)生的波形如圖5-1所示,當按鍵按下時會產(chǎn)生前沿抖動,當按鍵彈起時會產(chǎn)生后沿抖動。這是所有機械觸點式按鍵在狀態(tài)輸出時的共性問題,抖動的時間長短取決于按鍵的機械特性與操作狀態(tài),一般為10~100ms,此為鍵處理設(shè)計時要考慮的一個重要參數(shù)。第6頁,共77頁,2023年,2月20日,星期三鏈接動畫第7頁,共77頁,2023年,2月20日,星期三

5.1.2抖動干擾的消除

按鍵的抖動會造成按一次鍵產(chǎn)生的開關(guān)狀態(tài)被CPU誤讀幾次。為了使CPU能正確地讀取按鍵狀態(tài),必須在按鍵閉合或斷開時,消除產(chǎn)生的前沿或后沿抖動,去抖動的方法有硬件方法和軟件方法兩種。

1.硬件方法硬件方法是設(shè)計一個濾波延時電路或單穩(wěn)態(tài)電路等硬件電路來避開按鍵的抖動時間。圖5-2是由R2和C組成的濾波延時消抖電路,設(shè)置在按鍵S與CPU數(shù)據(jù)線Di之間。按鍵S未按下時,電容兩端電壓為0,即與非門輸入Vi為0,輸出Vo為1。當S按下時,由于C兩端電壓不能突變,充電電壓Vi在充電時間內(nèi)未達到與非門的開啟電壓,門的輸出Vo將不會改變,直到充電電壓Vi大于門的開啟電壓時,與非門的輸出Vo才變?yōu)?,

第8頁,共77頁,2023年,2月20日,星期三圖5-2濾波延時消抖電路鏈接動畫第9頁,共77頁,2023年,2月20日,星期三這段充電延遲時間取決于R1、R2和C值的大小,電路設(shè)計時只要使之大于或等于100ms即可避開按鍵抖動的影響。同理,按鍵S斷開時,即使出現(xiàn)抖動,由于C的放電延遲過程,也會消除按鍵抖動的影響圖中,V1是未施加濾波電路含有前沿抖動、后沿抖動的波形,V2是施加濾波電路后消除抖動的波形。2.軟件方法軟件方法是指編制一段時間大于100ms的延時程序,在第一次檢測到有鍵按下時,執(zhí)行這段延時子程序使鍵的前沿抖動消失后再檢測該鍵狀態(tài),如果該鍵仍保持閉合狀態(tài)電平,則確認為該鍵已穩(wěn)定按下,否則無鍵按下,從而消除了抖動的影響。同理,在檢測到按鍵釋放后,也同樣要延遲一段時間,以消除后沿抖動,然后轉(zhuǎn)入對該按鍵的處理。第10頁,共77頁,2023年,2月20日,星期三

5.2非編碼獨立式鍵盤主要知識點:5.2.1查詢法接口電路5.2.2中斷法接口電路第11頁,共77頁,2023年,2月20日,星期三5.2.1查詢法接口電路

現(xiàn)以3個按鍵為例,圖5-3即為獨立式鍵盤查詢法接口電路。按鍵S0、S1、S2分別通過上拉電阻與CPU的數(shù)據(jù)線D0、D1、D2相連,當按鍵Si閉合時,數(shù)據(jù)線直接接地,因而CPU讀入Di=0;當按鍵Si斷開時,數(shù)據(jù)線通過上拉電阻接到正電源,因而CPU讀入Di=1。該接口電路實現(xiàn)的功能為:查詢檢測是否有鍵按下,如有鍵閉合,則消除抖動,再判斷鍵號,然后轉(zhuǎn)入相應(yīng)的鍵處理。其程序流程如圖5-4所示。采用查詢法時,必須保證CPU每隔一定時間主動地去掃描按鍵一次,該掃描時間間隔應(yīng)小于兩次按鍵的時間間隔,否則會有按鍵不響應(yīng)的情形。顯然這種方式占用CPU時間比較多。

第12頁,共77頁,2023年,2月20日,星期三圖5-3獨立式鍵盤結(jié)構(gòu)原理

第13頁,共77頁,2023年,2月20日,星期三圖5-4獨立式鍵盤查詢法程序流程圖鏈接動畫第14頁,共77頁,2023年,2月20日,星期三

5.2.2中斷法接口電路仍以3個按鍵為例,圖5-5是一個爐溫控制系統(tǒng)的功能鍵分配圖,S0、S1、S2分別代表自動/手動切換、爐溫參數(shù)顯示和爐溫參數(shù)打印功能。在上述查詢法接口電路的基礎(chǔ)上,再把按鍵S0、S1、S2的數(shù)據(jù)輸出線經(jīng)過與非門和反相器后與8255A的選通輸入信號PC4相連,8255A的PC3發(fā)出中斷請求信號經(jīng)中斷控制器8259A與CPU的中斷請求引腳相連,這是一種典型的中斷法鍵盤接口電路。第15頁,共77頁,2023年,2月20日,星期三圖5-5獨立式鍵盤中斷法接口電路鏈接動畫第16頁,共77頁,2023年,2月20日,星期三當CPU對8255A初始化(8255A的A口工作于方式1輸入)后,CPU即執(zhí)行主程序。當按下S0鍵即表示要進入自動控制狀態(tài),此時與之相連的I/O口線呈現(xiàn)為低電平的同時,與非門輸出為高電平,經(jīng)反相器變?yōu)榈碗娖?,?255A端口A的選通輸入信號PC4有效,則PA0~PA2引腳接收并存入3個按鍵的“0”或“1”狀態(tài),當恢復(fù)成高電平后,經(jīng)TSIT時間,8255A的PC3發(fā)出INTRa中斷請求信號,經(jīng)中斷控制器8259A向CPU申請中斷,CPU響應(yīng)中斷后,即轉(zhuǎn)到中斷服務(wù)程序中。中斷服務(wù)程序依次查詢按鍵的通斷狀態(tài),當查詢到是自動/手動(即S0=0)時,則轉(zhuǎn)到自動/手動控制子程序的入口地址,從而使系統(tǒng)進入自動控制狀態(tài)。如果沒有鍵按下,則相應(yīng)的I/O口線均為高電平,也不會產(chǎn)生中斷信號,CPU繼續(xù)運行主程序。

工作過程第17頁,共77頁,2023年,2月20日,星期三鍵盤中斷服務(wù)子程序,與查詢方式相似,在保護現(xiàn)場后,首先調(diào)用100mS延時子程序去除抖動,然后依次查鍵號,并轉(zhuǎn)入鍵功能處理程序,最后恢復(fù)現(xiàn)場、中斷返回。顯然,查詢順序代表了按鍵的排隊優(yōu)先級。采用中斷法時,CPU對按鍵而言是被動方式,在無鍵按下時不占用CPU時間,因而CPU有更多的時間執(zhí)行其他程序。

上述分析說明:獨立式鍵盤接口電路簡單靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O口線,在按鍵數(shù)量較多時,需要占用較多的I/O口線。比如64個按鍵,需要有64根線,不僅連線復(fù)雜,查詢按鍵的時間也較長。故這種鍵盤電路只適合于按鍵數(shù)量比較少的小型控制系統(tǒng)或智能控制儀表中。第18頁,共77頁,2023年,2月20日,星期三

5.3非編碼矩陣式鍵盤主要知識點:5.3.1矩陣式鍵盤的結(jié)構(gòu)組成5.3.2矩陣式鍵盤的程序設(shè)計第19頁,共77頁,2023年,2月20日,星期三5.3.1矩陣式鍵盤的結(jié)構(gòu)組成

矩陣式鍵盤又叫行列式鍵盤,是用I/O口線組成的行、列矩陣結(jié)構(gòu),在每根行線與列線的交叉處,二線不直接相通而是通過一個按鍵跨接接通。采用這種矩陣結(jié)構(gòu)只需M根行輸出線和N根列輸入線,就可連接M×N個按鍵。通過鍵盤掃描程序的行輸出與列輸入就可確認按鍵的狀態(tài),再通過鍵盤處理程序便可識別鍵值。鍵盤與CPU的接口可采用并行端口8255A、鎖存器或緩沖器一類。圖5-6給出了一種8×8非編碼矩陣式鍵盤的接口電路。行輸出電路由行掃描鎖存器74LS273、反相器與行線X0~X7連接組成,列輸入電路由三態(tài)緩沖器74LS244與列線Y0~Y7以及上拉電阻組成。X、Y線的每一個交叉處跨接一個鍵,其鍵值分別是十進制數(shù)的01,02,……,64。該鍵盤的接口地址為PORT1。第20頁,共77頁,2023年,2月20日,星期三圖5-6矩陣式鍵盤接口電路鏈接動畫第21頁,共77頁,2023年,2月20日,星期三

當鍵盤中無任何鍵按下時,所有的行線和列線被斷開且相互獨立,輸入線Y0~Y7列都為高電平;當有任意一鍵按下時,則該鍵所在的行線與列線接通,因此,該列線的電平取決于該鍵所在的行線?;诖?,產(chǎn)生了“行掃描法”與“線反轉(zhuǎn)法”兩種識別方法。

行掃描法又稱逐行零掃描查詢法,即逐行輸出行掃描信號“0”,使各行依次為低電平,然后分別讀入列數(shù)據(jù),檢查此(低電平)行中是否有鍵按下。如果讀得某列線為低電平,則表示此(低電平)行線與此列線的交叉處有鍵按下,再對該鍵進行譯碼計算出鍵值,然后轉(zhuǎn)入該鍵的功能子程序入口地址;如果沒有任何一根列線為低電平,則說明此(低電平)行沒有鍵按下。接著進行下一行的“0”行掃描與列讀入,直到8行全部查完為止,若無鍵按下則返回。

有時為了快速判斷鍵盤中是否有鍵按下,也可先將全部行線同時置為低電平,然后檢測列線的電平狀態(tài),若所有列線均為高電平,則說明鍵盤中無鍵按下,立即返回;若要有一列的電平為低,則表示鍵盤中有鍵被控下,然后再如上那樣進行逐行掃描。

第22頁,共77頁,2023年,2月20日,星期三5.3.2矩陣式鍵盤的程序設(shè)計在計算機控制系統(tǒng)中,鍵盤掃描只是CPU工作的一部分。因此在設(shè)計鍵盤掃描程序時,必須要保證鍵盤操作的實時性,又不能占有CPU太多的時間,還要充分考慮到抖動干擾的消除。一般可根據(jù)情況選用編程掃描、定時掃描或中斷掃描中的一種方式。下面來考慮掃描程序的編寫與準備。逐行輸出行掃描信號“0”,即是CPU依次使行線X0~X7為低電平,其輸出數(shù)據(jù)代碼分別為01H(X0線)、02H(X1線)、04H(X2線)、08H(X3線)、10H(X4線)、20H(X5線)、40H(X6線)、80H(X7線)。第23頁,共77頁,2023年,2月20日,星期三

為消除按鍵的抖動干擾,程序中需調(diào)用延時100ms的子程序,以便認定確有鍵按下再識別其鍵值。

求十進制鍵值的方法是分別設(shè)一個行值寄存器CL和列值寄存器DL。接口電路中跨接在行列線上的64個鍵,由于同一列相鄰行之間相隔數(shù)8,所以每進行一次“0”行掃描后,如果此行無鍵按下,則行寄存器CL應(yīng)加08再進行下一行的“0”行掃描;若有鍵按下則不加08而轉(zhuǎn)求列值,由于列值比鍵值小1,如第一行第一列的鍵按下時列值Y0(即數(shù)據(jù)位D0)=0比01鍵值小1,所以列值寄存器DL應(yīng)先加1,然后將讀入的列值循環(huán)右移,判斷進位位CF是否等零即有否鍵按下,若無鍵按下,再繼續(xù)加1、右移、判斷,重復(fù)上述過程直到有鍵按下。最后把行值和列值相加并進行DAA修正,即可得到所求的十進制鍵值。(計算過程中所有數(shù)為壓縮型BCD碼)(0,8,16,24,32,40,48,56)(1,2,3,4,5,6,7,8)第24頁,共77頁,2023年,2月20日,星期三

例如跨接在X2行與Y1列的18鍵按下,其鍵值計算方法如下:第一次“0”行掃描X0行,無鍵按下,CL=00+08=08,接下來掃X1行,仍無鍵按下,加08并進行DAA修正,CL=08+08=16,再掃X2行,此時讀入的列值不等于FFH即表明有鍵按下,則CL=16不變。然后轉(zhuǎn)求列值,列值寄存器先加1再把讀入的列值循環(huán)移位,由于按下的鍵在Y1列,所以需移位兩次才能移出0值,因此DL=02,然后將行值寄存器與列值寄存器之值相加,并進行DAA修正,得到AL=CL+DL=16+02=18,即鍵值為18。該鍵盤掃描及鍵處理程序流程圖如圖5-7所示,其程序如下:第25頁,共77頁,2023年,2月20日,星期三圖5-7矩陣式鍵盤掃描及鍵處理程序流程圖鏈接動畫第26頁,共77頁,2023年,2月20日,星期三程序設(shè)計MOVAL,0MOVCL,AL;行值寄存器CL和列值寄存器DL清零MOVDL,ALMOVAL,0FFHOUTPORT1,AL;使所有行線為低電平INAL,PORT1;讀列鍵值CMPAL,0FFH;檢查是否有鍵按下JZDONE;無鍵按下轉(zhuǎn)返回CALLDELAY;有鍵按下調(diào)延時100mA子程序MOVAL,0FFHOUTPORT1,ALINAL,PORT1;重復(fù)上述掃描,再次確認是否有鍵按下KEY:第27頁,共77頁,2023年,2月20日,星期三

CMPAL,0FFHJZDONE;

無鍵按下轉(zhuǎn)返回

MOVAH,08;行數(shù)08送計數(shù)器AHMOVBL,01H;行掃描初值(即X0線)送BLKEY1:MOVAL,BLOUTPORT1,AL;輸出使某行為低電平

INAL,PORT1;讀入列值

CMPAL,0FFH;判斷此行是否有鍵按下

JNZKEY2;有鍵按下轉(zhuǎn)KEY2MOVAL,CLADDAL,08;無鍵按下,行值寄存器加08DAAMOVCL,AL第28頁,共77頁,2023年,2月20日,星期三RCLBL,1;求下一行為低電平的輸出代碼`DECAH;判8行全掃描完了嗎JNZKEY1;若未完轉(zhuǎn)KEY1,繼續(xù)掃描下一行DONE:IRET;若全完則返回KEY2:INCDL;列值寄存器加1(與鍵值對應(yīng))RCRAL,1;列值循環(huán)右移1位JCKEY2;判斷該列是否為1,為1則無鍵按下繼查下一列MOVAL,CL;為0則有鍵按下,獲得列值A(chǔ)DDAL,DLDAA;求鍵值MOV[BUFF],AL;鍵值送緩沖單元暫存JMPKEYADR;轉(zhuǎn)查找功能鍵的入口地址ENDKEY;第29頁,共77頁,2023年,2月20日,星期三對于鍵盤處理程序來說,求得鍵值并不是目的。如果該按鍵是數(shù)字鍵,就應(yīng)把該鍵值直接送到顯示緩沖區(qū)進行鍵值的數(shù)字顯示;如果該按鍵是功能鍵,則應(yīng)找到該鍵子程序的入口地址,轉(zhuǎn)而去執(zhí)行該鍵的功能命令。第30頁,共77頁,2023年,2月20日,星期三主要內(nèi)容編碼鍵盤電腦鍵盤原理電腦鼠標原理第31頁,共77頁,2023年,2月20日,星期三5.4編碼鍵盤主要知識點:5.4.1

二進制編碼器5.4.2編碼鍵盤接口電路第32頁,共77頁,2023年,2月20日,星期三圖5-8二進制編碼鍵盤接口電路第33頁,共77頁,2023年,2月20日,星期三5.4.1二進制編碼器具有優(yōu)先級的二進制8位編碼器CD4532B的真值表見表5-1。表示芯片優(yōu)先級的輸入允許端Ei為“0”時,無論編碼器的信號輸入I7~I0為何狀態(tài),編碼器輸出全為“0”,芯片處于屏蔽狀態(tài),同時Eo為“0”,也屏蔽下一級芯片,工作狀態(tài)端GS均為“0”;當輸入允許端Ei為“1”時,且編碼器的信號輸入I7~I0全為“0”時,編碼輸出也為“0”,但輸出允許端Eo為“1”,表明此編碼器輸入端無鍵按下,卻允許優(yōu)先級低的相鄰編碼器處于編碼狀態(tài);工作狀態(tài)端GS均為“0”。該芯片的8個輸入端當中,I0的優(yōu)先級最高,I7的優(yōu)先級最低。當有多個鍵按下時,優(yōu)先級高的被選中,同時自動屏蔽優(yōu)先級低的各輸入端和下一級芯片(使Eo端為“0”)。比如處于正常編碼狀態(tài)即Ei為“1”時,當I0端為“1”,其余輸入端無論為“1”或“0”,編碼輸出均為二進制000,同時GS端為“1”,Eo端為“0”;而當I0端為“0”,當I1端為“1”時,編碼輸出則為二進制001;……以此類推,輸入端的鍵值號與二進制編碼輸出一一對應(yīng)。

第34頁,共77頁,2023年,2月20日,星期三表5-1二進制8位編碼器CD4532B真值表狀態(tài)輸入編碼輸出EiI7I6I5I4I3I2I1I0GSO2O1O0Eo0××××××××00000100000000000011×××××××1100001××××××10100101×××××100101001××××1000101101×××10000110001××100000110101×10000001110011000000011110第35頁,共77頁,2023年,2月20日,星期三5.4.2編碼鍵盤接口電路圖5-8是一種采用兩片CD4532B構(gòu)成的16個按鍵的二進制編碼接口電路。其中由于U1的Eo作為U2的Ei,所以按鍵S0的優(yōu)先級最高,S15的優(yōu)先級最低。U1和U2的輸出O2~O0經(jīng)或門A3~A1輸出,以形成低3位編碼D2~D0。而最高位D3則由U2的GS產(chǎn)生,當按鍵S8~S15中有一個閉合時,其輸出為“1”。從而S0~S15中任意一個鍵被按下,由編碼位D3~D0均可輸出相應(yīng)的4位二進制碼。第36頁,共77頁,2023年,2月20日,星期三圖5-8二進制編碼鍵盤接口電路第37頁,共77頁,2023年,2月20日,星期三消除鍵盤按下時產(chǎn)生的抖動干擾為了消除鍵盤按下時產(chǎn)生的抖動干擾,該接口電路還設(shè)置了由與非門B1、B2、電阻R2、電容C2組成的單穩(wěn)電路和由或門A4、電阻R1、電容C1組成的延時電路電路中E、F、G、H和I這五點的波形如圖5-9所示。由于U1和U2的GS接或門A4的輸入端,所以當按下某鍵時,A4為高電平,其輸出經(jīng)R1和C1延時后使G點也為高電位,作為與非門B3的輸入之一。同時,U2的輸出信號Eo觸發(fā)單穩(wěn)(B1和B2),在暫穩(wěn)態(tài)持續(xù)時間ΔT內(nèi),其輸出F點為低電位,也作為與非門B3的輸入之一。

第38頁,共77頁,2023年,2月20日,星期三由于暫穩(wěn)態(tài)期間(ΔT)E點電位的變化(即按鍵的抖動)對其輸出F點電位無影響,所以此時不論G點電位如何,與非門B3輸出(H點)均為高電位。當暫穩(wěn)延時結(jié)束,F(xiàn)點變?yōu)楦唠娢?,而G點仍為高電位(即按鍵仍閉合),使得H點變?yōu)榈碗娢?,并保持到G點變?yōu)榈碗娢粸橹?即按鍵斷開)。也就是說,按下S0~S15中任意一個按鍵,就會在暫穩(wěn)態(tài)期間ΔT之后(恰好避開抖動時間)產(chǎn)生選通脈沖(H點)或STB(I點),作為向CPU申請中斷的信號,以便通知CPU讀取穩(wěn)定的按鍵編碼D3~D0。第39頁,共77頁,2023年,2月20日,星期三圖5-9消抖電路波形圖G=0按鍵斷開第40頁,共77頁,2023年,2月20日,星期三電腦鍵盤工作原理IBMPC鍵盤分為XT,AT,PS/2,USB鍵盤.

PC系列機使用的鍵盤有83鍵、84鍵、101鍵、102鍵和104鍵等多種。XT和AT機的標準鍵盤分別為83鍵和84鍵,而286機以上微機的鍵盤則普遍使用101鍵、102鍵或104鍵。83鍵鍵盤是最早使用的一種PC機鍵盤,其鍵號與掃描碼是一致的。這個掃描碼被直接發(fā)送到主機箱并轉(zhuǎn)換為ASCII碼;84/101/102/104鍵鍵盤:高檔PC機的出現(xiàn),鍵盤功能和按鍵數(shù)目得到了擴充,鍵盤排列也發(fā)生了變化,產(chǎn)生的掃描碼與83鍵鍵盤的掃描碼不同。為了保持PC系列微機的向上兼容性,需將84/101/102/104鍵鍵盤的掃描碼轉(zhuǎn)換為83鍵鍵盤的掃描碼,一般將前者叫作行列位置掃描碼,而將后者稱為系統(tǒng)掃描碼。顯然,對于83鍵鍵盤,這兩種掃描碼是相同的。

第41頁,共77頁,2023年,2月20日,星期三PC/XTPC/ATIBM

PC/XT

是美國國際商用機器公司(IBM)與1983年3月8日發(fā)布了PC的改進型,因為它帶有一個容量為10MB的硬盤,這是硬盤第一次成為PC的標準配置。XT預(yù)裝了DOS

2.0系統(tǒng),支持“文件”的概念并以“目錄樹”存儲文件

IBM

PC/AT

是美國國際商用機器公司(IBM)于1984年發(fā)布、1987年停產(chǎn)的個人電腦產(chǎn)品,正式名稱是IBM

5170

PC

AT?!癆T”是英文“先進技術(shù)”(Advanced

Technology)的縮寫,這是由于它引入了標準的16位ISA總線以及采用了當時最新的英特爾80286處理器。第42頁,共77頁,2023年,2月20日,星期三第43頁,共77頁,2023年,2月20日,星期三第44頁,共77頁,2023年,2月20日,星期三編碼形式鍵盤是由一組排列成矩陣方式的按鍵開關(guān)組成,通常有編碼鍵盤和非編碼鍵盤兩種類型IBM系列個人微型計算機的鍵盤屬于非編碼類型。微機鍵盤主要由單片機、譯碼器和鍵開關(guān)矩陣三大部分組成。其中單片機采用了INTEL8048單片微處理器控制,這是一個40引腳的芯片,內(nèi)部集成了8位CPU、1024×8位的ROM、64×8位的RAM、8位的定時器/計數(shù)器等器件。

第45頁,共77頁,2023年,2月20日,星期三與老式的編碼式鍵盤相比,非編碼鍵盤:結(jié)構(gòu)要簡單許多,省略了復(fù)雜的編碼電路和蜘蛛網(wǎng)似的走線而且更重要的是,由于非編碼式鍵盤將按鍵結(jié)構(gòu)和輸出鍵碼分離,所以當需要制造不同鍵位排列的鍵盤時,不需要重新設(shè)計鍵盤線路,而只要將控制電路中的鍵位排列表格重新刷新就可以了。例如在德文鍵盤上,子母“Y”和“Z”的位置是互調(diào)的,那么如果要把一條英文鍵盤生產(chǎn)線改造成德文鍵盤生產(chǎn)線,什么都不用改變,只須在控制芯片中刷進一個新的排列表,將“上層導(dǎo)線1-下層導(dǎo)線4”的位置寫作“Y”,“Z”字也作同樣處理就行了,顯然比重新布線要簡單了很多。這也就是為什么非編碼式鍵盤大行其道的原因。第46頁,共77頁,2023年,2月20日,星期三由于鍵盤排列成矩陣格式,被按鍵的識別和行列位置掃描碼的產(chǎn)生,是由鍵盤內(nèi)部的單片機通過譯碼器來實現(xiàn)的。單片機在周期性掃描行、列的同時,讀回掃描信號線結(jié)果,判斷是否有鍵按下,并計算按鍵的位置以獲得掃描碼。當有鍵按下時,鍵盤分兩次將位置掃描碼發(fā)送到鍵盤接口;按下一次,叫接通掃描碼;釋放時再發(fā)一次,叫斷開掃描碼。因此可以用硬件或軟件的方法對鍵盤的行、列分別進行掃視,去查找按下的鍵,輸出掃描位置碼,通過查表轉(zhuǎn)換為ASCII碼返回。第47頁,共77頁,2023年,2月20日,星期三掃描識別按鍵鍵盤在掃描過程中,7位計數(shù)器循環(huán)計數(shù)。當高5位(D6一D2)狀態(tài)為全“0”時,經(jīng)譯碼器在0列線上輸出一個“0”,其余均為“1”;而計數(shù)器的低二位(D1D0)通過4選1多路選擇器控制0—3行的掃描。計數(shù)器計一個數(shù)則掃描一行,計4個數(shù)全部行線掃描一遍,同時由計數(shù)器內(nèi)部向D2進位,使另一列線1變低,行線再掃描一遍。只要沒有鍵按下,多路選擇器就一直輸出高電平,則時鐘一直使計數(shù)器循環(huán)計數(shù),對鍵盤輪番掃描。當有一個鍵被按下時,若掃描到該鍵所在的行和列時,多路選擇器就會輸出一個低電平,去封鎖時鐘門,使計數(shù)器停止計數(shù)。這時計數(shù)器輸出的數(shù)據(jù)就是被按鍵的位置碼(即掃描碼)。

第48頁,共77頁,2023年,2月20日,星期三8048利用程序讀取這個鍵碼后,在最高位添上一個“0”,組成一個字節(jié)的數(shù)據(jù),然后從P22引腳以串行方式輸出。在8048檢測到鍵按下后,還要繼續(xù)對鍵盤掃描檢測,以發(fā)現(xiàn)該鍵是否釋放。當檢測到釋放時,8048在剛才讀出的7位位置碼的前面(最高位)加上一個“1”,作為“釋放掃描碼”,也從P22引腳串行送出去,以便和“按下掃描碼”相區(qū)別。送出“釋放掃描碼”的目的是為識別組合鍵和上、下檔鍵提供條件。第49頁,共77頁,2023年,2月20日,星期三同時,主機還向鍵盤發(fā)送控制信號,主機CPU響應(yīng)鍵盤中斷請求時,通過外圍接口芯片8255A一5的PA口讀取鍵盤掃描碼并進行相應(yīng)轉(zhuǎn)換處理和暫存;通過PB口的PB6和PB7來控制鍵盤接口工作。第50頁,共77頁,2023年,2月20日,星期三機械鍵盤、薄膜接觸式鍵盤、電容鍵盤。老機械鍵盤存在著開關(guān)容易損壞、易污染、易老化的缺點,現(xiàn)已基本淘汰。現(xiàn)在基本上用薄膜接觸式鍵盤電容鍵盤在可靠性上比前者有質(zhì)的飛躍,使用壽命較長,。

第51頁,共77頁,2023年,2月20日,星期三發(fā)展歷史早期的鍵盤是由美國IBM公司推出的,當時采用的計算機鍵盤為83鍵鍵盤。不久IBM又推出了84鍵的鍵盤設(shè)計標準,將鍵盤分為三個區(qū),即功能區(qū)、打字鍵區(qū)及負責光標控制和編輯的副鍵盤區(qū),這種鍵盤主要區(qū)域的劃分標準一直沿用至今。隨著微軟Windows視窗操作系統(tǒng)的廣泛應(yīng)用,IBM公司于1986年首次推出了101鍵的標準鍵盤,除添加了F11、F12兩個功能鍵之外,還在鍵盤的中部多加了一組專用的光標控制和編輯的鍵,使鍵盤功能得到了進一步擴充,成為當時業(yè)界的標準鍵盤。后來,為與微軟的Win95操作系統(tǒng)相配合,IBM又推出了104鍵鍵盤,新增了3個功能鍵(亦稱Windows快捷鍵或熱鍵<HotKey>),使以前需要打開好幾個窗口才能完成的某些功能,通過快捷鍵的設(shè)定直接啟動菜單完成,而不必再點擊鼠標,這樣就使計算機的操作更加便易。目前,這種104鍵的鍵盤因其又被業(yè)界所通常采納而又被業(yè)界通稱為標準鍵盤。第52頁,共77頁,2023年,2月20日,星期三通信PS/2設(shè)備履行一種雙向同步串行協(xié)議。換句話說,每次數(shù)據(jù)線上發(fā)送一位數(shù)據(jù)并且每在時鐘線上發(fā)一個脈沖就被讀入。設(shè)備可以發(fā)送數(shù)據(jù)到主機,而主機也可以發(fā)送數(shù)據(jù)到設(shè)備,但主機總是在總線上有優(yōu)先權(quán),它可以在任何時候抑制來自設(shè)備的通信,只需把時鐘線電平拉低即可。在稍后的鼠標接口中講解第53頁,共77頁,2023年,2月20日,星期三什么是鍵盤的鍵位沖突?簡單的說,也就是當你同時按下鍵盤上的幾個鍵的時候,這幾個鍵不能同時反映出來,這就叫做鍵盤的鍵位沖突。例如說,你能想象當你按下Ctrl-Alt-Del時,系統(tǒng)只能接收到前兩個鍵,而死活不承認你按了Del鍵嗎?當然,現(xiàn)實中是不會有這樣的鍵盤的,按不下Ctrl-Alt-Del的鍵盤根本就沒法出廠,但其他一些常見的鍵位沖突就不稀奇了。例如,經(jīng)常有一些鍵盤不能同時對例如A-S-空格這樣的按鍵組合作出反應(yīng),這樣在FPS游戲中,使用者就會大為吃虧。第54頁,共77頁,2023年,2月20日,星期三根據(jù)上層薄膜和下層薄膜所經(jīng)過的按鍵,就可以排出一個類似下面的表格:

上層導(dǎo)線1

上層導(dǎo)線2

上層導(dǎo)線3

上層導(dǎo)線4

上層導(dǎo)線5

……

下層導(dǎo)線1

1

2

3

4

5

……

下層導(dǎo)線2

Q

W

E

R

T

……

下層導(dǎo)線3

A

S

D

F

G

……

下層導(dǎo)線4

Z

X

C

V

B

……

……

……

……

……

……

……

……第55頁,共77頁,2023年,2月20日,星期三第56頁,共77頁,2023年,2月20日,星期三在非編碼鍵盤的接口控制電路中,就存儲著這樣一張表格,當按下某個按鍵,例如“Q”時,那么在這一點上,上下兩個觸點就會連通,反映到接口電路中,就會檢測到上層導(dǎo)線1與下層導(dǎo)線2被連通了。相對應(yīng)在表中一查,就會知道,被按下的是字母“Q”,然后通過接口輸出其ASCII碼。第57頁,共77頁,2023年,2月20日,星期三但在同時按下3個或3個以上按鍵時,情況就復(fù)雜了。在一種情況下,例如同時按下“Q”、“D”、“B”時,此時,從表中我們可以看出,上層導(dǎo)線1-下層導(dǎo)線2、上層導(dǎo)線3-下層導(dǎo)線3、上層導(dǎo)線5-下層導(dǎo)線4都分別連通,此時系統(tǒng)完全可以正常識別出按下了這三個按鍵。但當按下“Q”、“D”、“E”

?此時,我們可以發(fā)現(xiàn),由于第三組連通的導(dǎo)線變成了上層導(dǎo)線3-下層導(dǎo)線2,所以,此時反映到接口控制芯片的信號是:上層導(dǎo)線1-下層導(dǎo)線2-上層導(dǎo)線3-下層導(dǎo)線3統(tǒng)統(tǒng)被連通到了一起。第58頁,共77頁,2023年,2月20日,星期三但是,問題就在于,除了按下的第三個按鍵是“E”以外,如果按下的第三個鍵是用來連通上層導(dǎo)線1和下層導(dǎo)線3的“A”,也會有同樣的信號組合?事實上,“Q”、“E”、“A”、“D”四個按鍵中按下任何三個都會有同樣的信號組合,兩行都有兩個列輸出,那么此時接口電路怎么判斷呢?究竟是按下了哪三個按鍵或者是同時把四個按鍵都按下了呢?

這個時候,大多數(shù)鍵盤選擇的方式,就是按照一個固定的規(guī)則輸出固定的按鍵組合代碼,對于其他可能的組合方式統(tǒng)統(tǒng)予以忽略,換句話說,在上面的鍵盤中,可能無論你怎么按這四個按鍵,它可能永遠只會輸出“Q”-“E”-“D”的組合,盡管可能你按下的實際是“Q”-“A”-“D”(這里只是一個假設(shè),實際上為了避免誤碼,大多數(shù)鍵盤根本只輸出兩個按鍵而已)。于是,“鍵位沖突”就出現(xiàn)了。第59頁,共77頁,2023年,2月20日,星期三由于非編碼鍵盤的固有結(jié)構(gòu),“鍵位沖突”是不可避免的。于是就需要鍵盤的設(shè)計者絞盡腦汁修改鍵盤的線路排列和待查表格,盡量使可能會有的常用組合按鍵避開沖突鍵位——盡管要做到所有的按鍵都不發(fā)生沖突是不可能的,但你總不能讓Ctrl-Alt-Del相互沖突吧?那這樣的鍵盤還怎么用?還有如果四個方向鍵相互沖突,那賽車類的游戲還怎么玩?

不過,由于市場上的游戲?qū)嵲谔啵總€游戲都可能會有自己常用的按鍵組合,甚至每個人都有自己的習慣按鍵,鍵盤的設(shè)計者當然不可能面面俱到,有經(jīng)驗的設(shè)計師可能會考慮得多一些,至少對最常見的游戲和最常見的按鍵設(shè)置能夠保證不出現(xiàn)問題,但要考慮到所有情況當然是不可能的。第60頁,共77頁,2023年,2月20日,星期三鼠標輸入原理光電式鼠標例:HDNS2000組成的鼠標

HDNS2000是安捷倫推出的高性能的光學(xué)感測芯片,它的內(nèi)部包含三個基本模塊:圖像拾取系統(tǒng)、DSP處理器、PS/2或四狀態(tài)輸出轉(zhuǎn)換器,如圖1所示。第61頁,共77頁,2023年,2月20日,星期三在HDNS2000芯片的底部有一個感光眼,如同一個小型的攝像頭,不斷地對物體表面進行拍照,接著將前后兩次的圖像送入DSP中進行處理,以判斷物體移動的方向和大小,最后將數(shù)據(jù)轉(zhuǎn)化為PS/2格式或者以兩通道四狀態(tài)格式輸出。圖2中的(a)與(b)分別為芯片前后兩次拾取的圖像。比較圖2中的(a)和(b)可以看出,物體向左下方移動了一點。第62頁,共77頁,2023年,2月20日,星期三HDNS2000的圖像拾取系統(tǒng)每秒鐘可以拾取1500張圖像,可以精確地測量最高30.48cm/s(12英寸/s)的運動,解析度為400點每英寸。第63頁,共77頁,2023年,2月20日,星期三PS2_C:PS/2接口的時鐘端。MODE/XA:復(fù)用引腳,接高電平時表示選擇PS/2模式;否則,為XA輸出。RB/XB:復(fù)用引腳,PS/2模式時為鼠標右鍵輸入;否則,為XA輸出。MB/YB:復(fù)用引腳,PS/2模式時為鼠標中鍵輸入;否則,為YB輸出。LB/YA:復(fù)用引腳,PS/2模式為鼠標左鍵輸入;否則,為YA輸出。XY_LED:激光LED控制輸出,在物體長時間不移動時,HDNS2000可以控制LED關(guān)閉,以節(jié)約能量。VDD3:3.3V直流電源輸入。REFB:內(nèi)部參考引腳,通過電容與VDD3相連。PS2_D:PS/2接口的數(shù)據(jù)端。NRESET:低電平復(fù)位引腳。VDD5:5V直流電源輸入。GND:電源地。OSC2:晶振輸出。OSC1:晶振輸入,外接18.432MHz晶振。第64頁,共77頁,2023年,2月20日,星期三PS/2接口

第65頁,共77頁,2023年,2月20日,星期三一般,具有五腳連接器的鍵盤稱之為AT鍵盤,而具有六腳mini-DIN連接器的鍵盤則稱之為PS/2鍵盤。其實這兩種連接器都只有四個腳有意義。它們分別是Clock(時鐘腳)、Data數(shù)據(jù)腳、+5V(電源腳)和Ground(電源地)。在PS/2鍵盤與PC機的物理連接上只要保證這四根線一一對應(yīng)就可以了。PS/2鍵盤靠PC的PS/2端口提供+5V電源,兩個腳Clock(時鐘腳)和Data數(shù)據(jù)腳都是集電極開路的,所以必須接大阻值的上拉電阻。它們平時保持高電平,有輸出時才被拉到低電平,之后自動上浮到高電平。第66頁,共77頁,2023年,2月20日,星期三PS/2通訊協(xié)議PS/2通訊協(xié)議是一種雙向同步串行通訊協(xié)議。通訊的兩端通過Clock(時鐘腳)同步,并通過Data(數(shù)據(jù)腳)交換數(shù)據(jù)。任何一方如果想抑制另外一方通訊時,只需要把Clock(時鐘腳)拉到低電平。如果是PC機和PS/2鍵盤間的通訊,則PC機必須做主機,也就是說,PC機可以抑制PS/2鍵盤發(fā)送數(shù)據(jù),而PS/2鍵盤則不會抑制PC機發(fā)送數(shù)據(jù)。一般兩設(shè)備間傳輸數(shù)據(jù)的最大時鐘頻率是33kHz,大多數(shù)PS/2設(shè)備工作在10~20kHz。推薦值在15kHz左右,也就是說,Clock(時鐘腳)高、低電平的持續(xù)時間都為40μs。每一數(shù)據(jù)幀包含11~12個位,具體含

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論