電腦鍵盤(pán)工作原理
隨著(zhù)IBM PC機的發(fā)展,鍵盤(pán)也分為XT, AT, PS/2鍵盤(pán)以至于后來(lái)的USB鍵盤(pán). PC系列機使用的鍵盤(pán)有83鍵、84鍵、101鍵、102鍵和104鍵等多種。XT和AT機的標準鍵盤(pán)分別為83鍵和84鍵,而286機以上微機的鍵盤(pán)則 普遍使用101鍵、102鍵或104鍵。83鍵鍵盤(pán)是最早使用的一種PC機鍵盤(pán),其鍵號與掃描碼是一致的。這個(gè)掃描碼被直接發(fā)送到主機箱并轉換為 ASCII碼;隨著(zhù)高檔PC機的出現,鍵盤(pán)功能和按鍵數目得到了擴充,鍵盤(pán)排列也發(fā)生了變化,產(chǎn)生的掃描碼與83鍵鍵盤(pán)的掃描碼不同。為了保持PC系列微 機的向上兼容性,需將84/101/102/104鍵鍵盤(pán)的掃描碼轉換為83鍵鍵盤(pán)的掃描碼,一般將前者叫作行列位置掃描碼,而將后者稱(chēng)為系統掃描碼。顯 然,對于83鍵鍵盤(pán),這兩種掃描碼是相同的。
鍵盤(pán)是由一組排列成矩陣方式的按鍵開(kāi)關(guān)組成,通常有編碼鍵盤(pán)和非編碼鍵盤(pán)兩種類(lèi)型,IBM系列個(gè)人微型計算機的鍵盤(pán)屬于非編碼類(lèi)型。微機鍵盤(pán)主要由單片 機、譯碼器和鍵開(kāi)關(guān)矩陣三大部分組成。其中單片機采用了INTEL8048單片微處理器控制,這是一個(gè)40引腳的芯片,內部集成了8位 CPU、1024×8位的ROM、64×8位的RAM、8位的定時(shí)器/計數器等器件。由于鍵盤(pán)排列成矩陣格式,被按鍵的識別和行列位置掃描碼的產(chǎn)生,是由 鍵盤(pán)內部的單片機通過(guò)譯碼器來(lái)實(shí)現的。單片機在周期性?huà)呙栊?、列的同時(shí),讀回掃描信號線(xiàn)結果,判斷是否有鍵按下,并計算按鍵的位置以獲得掃描碼。當有鍵按 下時(shí),鍵盤(pán)分兩次將位置掃描碼發(fā)送到鍵盤(pán)接口;按下一次,叫接通掃描碼;釋放時(shí)再發(fā)一次,叫斷開(kāi)掃描碼。因此可以用硬件或軟件的方法對鍵盤(pán)的行、列分別進(jìn) 行掃視,去查找按下的鍵,輸出掃描位置碼,通過(guò)查表轉換為ASCII碼返回。
鍵盤(pán)是與主機箱分開(kāi)的一個(gè)獨立裝置,通過(guò)一根5芯電纜與主機箱連接,系統主板上的鍵盤(pán)接口按照鍵盤(pán)代碼串行傳送的應答約定,接受鍵盤(pán)發(fā)送來(lái)的掃描碼;鍵盤(pán) 在掃描過(guò)程中,7位計數器循環(huán)計數。當高5位(D6一D2)狀態(tài)為全“0”時(shí),經(jīng)譯碼器在O列線(xiàn)上輸出一個(gè)“0”,其余均為“1”;而計數器的低二位 (D1D0)通過(guò)4選1多路選擇器控制0—3行的掃描。計數器計一個(gè)數則掃描一行,計4個(gè)數全部行線(xiàn)掃描一遍,同時(shí)由計數器內部向D2進(jìn)位,使另一列線(xiàn)1 變低,行線(xiàn)再掃描一遍。只要沒(méi)有鍵按下,多路選擇器就一直輸出高電平,則時(shí)鐘一直使計數器循環(huán)計數,對鍵盤(pán)輪番掃描。當有一個(gè)鍵被按下時(shí),若掃描到該鍵所 在的行和列時(shí),多路選擇器就會(huì )輸出一個(gè)低電平,去封鎖時(shí)鐘門(mén),使計數器停止計數。這時(shí)計數器輸出的數據就是被按鍵的位置碼(即掃描碼)。8048利用程序 讀取這個(gè)鍵碼后,在最高位添上一個(gè)“O”,組成一個(gè)字節的數據,然后從P22引腳以串行方式輸出。在8048檢測到鍵按下后,還要繼續對鍵盤(pán)掃描檢測,以 發(fā)現該鍵是否釋放。當檢測到釋放時(shí),8048在剛才讀出的7位位置碼的前面(最高位)加上一個(gè)“1”,作為“釋放掃描碼”,也從 P22引腳串行送出去,以便和“按下掃描碼”相區別。送出“釋放掃描碼”的目的是為識別組合鍵和上、下檔鍵提供條件。
同時(shí),主機還向鍵盤(pán)發(fā)送控制信號,主機CPU響應鍵盤(pán)中斷請求時(shí),通過(guò)外圍接口芯片8255A一5的PA口讀取鍵盤(pán)掃描碼并進(jìn)行相應轉換處理和暫存;通過(guò)PB口的PB6和PB7來(lái)控制鍵盤(pán)接口工作。
從用途上看,鍵盤(pán)可分為臺式機鍵盤(pán)、筆記本電腦鍵盤(pán)和工控機鍵盤(pán)三大類(lèi);其中臺式機鍵盤(pán)從按鍵結構上又可分為兩類(lèi),即機械鍵盤(pán)和電容鍵盤(pán)(又稱(chēng)有觸點(diǎn)鍵盤(pán) 和無(wú)觸點(diǎn)鍵盤(pán))。機械鍵盤(pán)存在著(zhù)開(kāi)關(guān)容易損壞、易污染、易老化的缺點(diǎn),現已基本淘汰。電容鍵盤(pán)在可靠性上比前者有質(zhì)的飛躍,使用壽命較長(cháng),目前大多為電容 鍵盤(pán)。
早期的鍵盤(pán)是由美國IBM公司推出的,當時(shí)采用的計算機鍵盤(pán)為83鍵鍵盤(pán)。不久IBM又推出了84鍵的鍵盤(pán)設計標準,將鍵盤(pán)分為三個(gè)區,即功能區、打字鍵 區及負責光標控制和編輯的副鍵盤(pán)區,這種鍵盤(pán)主要區域的劃分標準一直沿用至今。隨著(zhù)微軟Windows視窗操作系統的廣泛應用,IBM公司于1986年首 次推出了101鍵的標準鍵盤(pán),除添加了F11、F12兩個(gè)功能鍵之外,還在鍵盤(pán)的中部多加了一組專(zhuān)用的光標控制和編輯的鍵,使鍵盤(pán)功能得到了進(jìn)一步擴充, 成為當時(shí)業(yè)界的標準鍵盤(pán)。后來(lái),為與微軟的Win95操作系統相配合,IBM又推出了104鍵鍵盤(pán),新增了3個(gè)功能鍵(亦稱(chēng)Windows快捷鍵或熱鍵 HotKey>),使以前需要打開(kāi)好幾個(gè)窗口才能完成的某些功能,通過(guò)快捷鍵的設定直接啟動(dòng)菜單完成,而不必再點(diǎn)擊鼠標,這樣就使計算機的 操作更加便易。目前,這種104鍵的鍵盤(pán)(亦稱(chēng)Win95鍵盤(pán))的設計已成為業(yè)界和市場(chǎng)上最為普遍、最為流行的一種標準,業(yè)界通稱(chēng)為標準鍵盤(pán)。實(shí)際上,所 謂的標準鍵盤(pán)并沒(méi)有標準,只因其應用較為廣泛而被業(yè)界通稱(chēng)為標準鍵盤(pán)。由于軟件的不斷升級更新,為配合軟件的需要,所謂的標準鍵盤(pán)的鍵數也在隨之擴增,并 因其又被業(yè)界所通常采納而又被業(yè)界通稱(chēng)為標準鍵盤(pán)。
但是,無(wú)論是機械鍵盤(pán)或者電容鍵盤(pán),還是從早期的83鍵鍵盤(pán)發(fā)展到目前通稱(chēng)的標準鍵盤(pán)104鍵鍵盤(pán),其應用都是主要依賴(lài)于硬件CPU和軟件操作系統。以下就鍵盤(pán)的構造及工作原理等問(wèn)題進(jìn)行介紹。
(一)鍵盤(pán)構造及工作原理
PS/2設備履行一種雙向同步串行協(xié)議。換句話(huà)說(shuō),每次數據線(xiàn)上發(fā)送一位數據并且每在時(shí)鐘線(xiàn)上發(fā)一個(gè)脈沖就被讀入。設備可以發(fā)送數據到主機,而主機也可以發(fā)送數據到設備,但主機總是在總線(xiàn)上有優(yōu)先權,它可以在任何時(shí)候抑制來(lái)自設備的通信,只需把時(shí)鐘線(xiàn)電平拉低即可。
鍵盤(pán)的內部結構主要包括控制電路板、按鍵、底板和面板等。電路板是整個(gè)鍵盤(pán)的控制核心,位于鍵盤(pán)的內部,主要擔任按鍵掃描識別、編碼和傳輸接口工作;它將各個(gè)鍵所表示的數字或字母轉換成計算機可以識別的信號,是用戶(hù)和計算機之間主要的溝通者之一。
鍵盤(pán)主要由鍵開(kāi)關(guān)矩陣、單片機和譯碼器三大部分組成。鍵開(kāi)關(guān)矩陣即鍵盤(pán)按鍵由一組排列成矩陣方式的按鍵開(kāi)關(guān)組成,所輸入的信號由按鍵所在的位置決定。單片 機即鍵盤(pán)內部采用的Intel 8048單片機微處理器,這是一個(gè)40引腳的芯片,內部集成了8位CPU、1024×8位的ROM、64×8位的RAM以 及8位的定時(shí)器/計數器等。譯碼器即信號編碼轉譯裝置,把鍵盤(pán)的字符信號通過(guò)編碼翻譯轉換成相應的二進(jìn)制碼。由于鍵盤(pán)排列成矩陣格式,被按鍵的識別和行列 位置掃描碼的產(chǎn)生,是由鍵盤(pán)內部的單片機通過(guò)譯碼器來(lái)實(shí)現的。根據鍵盤(pán)向主機送入的二進(jìn)制代碼類(lèi)型,可把鍵盤(pán)分為編碼鍵盤(pán)和非編碼鍵盤(pán)兩種。IBM PC機的鍵盤(pán)屬于非編碼鍵盤(pán),其特點(diǎn)是不直接提供所按鍵的編碼信息,而是用較為簡(jiǎn)單的硬件和一套專(zhuān)用程序來(lái)識別所按鍵的位置,并提供與所按鍵相對應的中間 代碼,然后再把中間代碼轉換成要對應的編碼。這樣,非編碼鍵盤(pán)就為系統軟件在定義鍵盤(pán)的某些操作功能上提供了更大的靈活性。
計算機鍵盤(pán)通常采用行列掃描法來(lái)確定按下鍵所在的行列位置。所謂行列掃描法是指,把鍵盤(pán)按鍵排列成n行×m列的n*m行列點(diǎn)陣,把行、列線(xiàn)分別連接到兩個(gè) 并行接口雙向傳送的連接線(xiàn)上,點(diǎn)陣上的鍵一旦被按動(dòng),該鍵所在的行列點(diǎn)陣信號就被認為已接通。按鍵所排列成的矩陣,需要用硬件或軟件的方法輪轉順序地對其 行、列分別進(jìn)行掃描,以查詢(xún)和確認是否有鍵按動(dòng)。如有鍵按動(dòng),鍵盤(pán)就會(huì )向主機發(fā)送被按鍵所在的行列點(diǎn)陣的位置編碼,稱(chēng)為鍵掃描碼。單片機通過(guò)周期性?huà)呙?行、列線(xiàn),讀回掃描信號結果,判斷是否有鍵按下,并計算按鍵的位置以獲得掃描碼。鍵被按下時(shí),單片機分兩次將位置掃描碼發(fā)送到鍵盤(pán)接口:按下一次,叫接通 掃描碼;按完釋放一次,叫斷開(kāi)掃描碼。這樣,通過(guò)硬件或軟件的方法對鍵盤(pán)分別進(jìn)行行、列掃視,就可以確定按下鍵所在位置,獲得并輸出掃描位置碼,然后轉換 為ASCII碼,經(jīng)過(guò)鍵盤(pán)I/O電路送入主機,并由顯示器顯示出來(lái)。
鍵盤(pán)要增加鍵數是很容易的,任何矩陣鍵盤(pán)通過(guò)增加鍵盤(pán)的行或列便可實(shí)現增加按鍵數。如64 鍵的鍵盤(pán)排列成8行×8列的行列點(diǎn)陣,128鍵的鍵盤(pán)排列成8行×16列的行列點(diǎn)陣,256鍵的鍵盤(pán)排列成16行×16列的行列點(diǎn)陣,這在1992年7月 出版的《微處理機為基礎之設計》出版物上已作介紹(此對比文獻在2001年12月13日已遞交)。因此,鍵盤(pán)結構采用矩陣式早已是公有技術(shù)。
(二)鍵盤(pán)的按鍵增加
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論