版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 鍵盤接口設計</b></p><p><b> 鍵盤接口設計</b></p><p> 摘要:本文主要介紹了鍵盤的工作原理和六種鍵盤接口電路的結構及其按鍵的識別方法,可以滿足各種應用場合對于鍵盤的要求。</p><p> 關鍵詞:獨立式 行列式 階梯式 ADC Pin I/O P
2、in和ADC Pin 二極管</p><p><b> 一、引言</b></p><p> 鍵盤是基本的輸入設備,在單片機應用系統(tǒng)中能實現向單片機輸入數據、傳送命令等功能,是人工干預單片機的主要手段。下面介紹鍵盤的工作原理,鍵盤接口類型及其按鍵識別方法。</p><p><b> 二、鍵盤的工作原理</b><
3、/p><p><b> 1、鍵盤輸入的特點</b></p><p> 鍵盤實質上是一組按鍵開關的集合。通常,鍵盤開關利用了機械觸點的合、斷作用。一個電壓信號通過鍵盤開關機械觸點的斷開、閉合,其行線電壓輸出波形如圖1所示。</p><p> 圖1 鍵盤開關及其波形</p><p> 圖1中T1和T3分別是按鍵的閉合和
4、斷開過程中的抖動期(呈現一串負脈沖),抖動時間長短和開關的機械特性有關,一般為5~10ms,T2為穩(wěn)定的閉合期,其時間由按鍵動作所確定,一般為十分之幾秒到幾秒,T0、T4為斷開期。</p><p><b> 2、按鍵的確認</b></p><p> 按鍵的閉合與否,反映在行線輸出電壓上就是呈現高電平或低電平,如果高電平表示按鍵斷開,低電平表示按鍵閉合,通過對行線電
5、平高低狀態(tài)的檢測,便可確認按鍵按下與否。為了確保MCU對一次按鍵動作只確認一次按鍵有效,必須消除抖動期T1和T3的影響。</p><p> 3、軟件消除按鍵抖動</p><p> 通常采用軟件來消除按鍵抖動,基本思想是:在第一次檢測到有鍵按下時,假設該鍵所對應的行線為低電平,執(zhí)行一段延時10ms的子程序后,確認該行線電平是否仍為低電平,如果仍為低電平,則確認該行確實有按鍵按下。當按鍵松
6、開時,行線的低電平變?yōu)楦唠娖?,?zhí)行一段延時10ms的子程序后,檢測該行線為高電平,說明按鍵確實已經松開。</p><p> 三、鍵盤接口類型及原理</p><p><b> 1、獨立式鍵盤接口</b></p><p> 獨立式鍵盤就是各鍵相互獨立,每個按鍵各接一個Input Pin,通過檢測Input Pin的電平狀態(tài)可以很容易的判斷哪個
7、按鍵被按下。</p><p> 在按鍵數目較多時,獨立式鍵盤電路需要較多的Input Pin,且電路結構繁雜,故此種鍵盤適用于按鍵較少或操作速度較高的場合。具體電路結構如圖2所示。</p><p> 圖2 獨立式鍵盤接口</p><p> 當Input Pin內部有上拉電阻,則外部電路的上拉電阻可以省去,如圖2右半圖所示。</p><p&
8、gt;<b> 2、行列式鍵盤接口</b></p><p> 行列式(也稱矩陣式)鍵盤適用于按鍵數目較多的場合,它由行線和列線組成,按鍵位于行、列的交叉點上。很明顯,在按鍵數目較多的場合,行列式鍵盤與獨立式鍵盤相比,要節(jié)省很多的I/O口線。圖3、4所示為5×5行列式鍵盤接口電路,如果Input Pin內部有上拉電阻,則外部電路的上拉電阻可以省去。</p><
9、p> 圖3 5×5行列式鍵盤接口(掃描法)</p><p> 圖4 5×5行列式鍵盤接口(線反轉法)</p><p> 行列式鍵盤按鍵的識別方法主要有兩種:掃描法和線反轉法。</p><p> ?、賿呙璺ǎ旱谝徊?,識別鍵盤有無按鍵被按下。首先把所有的列線均置為低電平,檢查各行線電平是否有變化,如果有變化,則說明有鍵被按下;如果沒有
10、變化,則說明沒有鍵被按下。第二步,如有鍵被按下,識別具體的按鍵。首先把某一列置為低電平,其余各列置高電平,檢查各行線電平的變化,如果某行線電平為低電平,則可確認此行交叉點處的按鍵被按下。</p><p> ②線反轉法:第一步,設置行線為Input Pin模式,列線為Output Pin模式,并使全部Output Pin輸出低電平,則行線中由高電平變低電平的所在行為按鍵所在行。第二步,把行線設置為Output P
11、in模式,把列線設置為Input Pin模式,并使全部Output Pin輸出低電平,則列線中電平由高到低所在列為按鍵所在列。綜合上述2步的結果,可以確定按鍵所在行和列,從而識別出所按的鍵。</p><p><b> 3、階梯式鍵盤接口</b></p><p> 圖5所示為階梯式鍵盤接口電路(5個I/O),由圖可以看出,鍵盤分布呈現階梯狀,故稱為階梯式鍵盤接口。如
12、果I/O Pin內部有上拉電阻,則外部電路的上拉電阻可以省去。</p><p> 階梯式鍵盤接口按鍵的識別方法是:首先令IO1輸出低電平,檢測IO2~IO5口電平是否有變化,如果有變化,則表示有按鍵被按下,若此時IO3檢測到低電平,則表示K13被按下,退出鍵盤掃描;否則,表示沒有按鍵被按下,繼續(xù)鍵盤掃描。如果第一行沒有按鍵被按下,則令IO2輸出低電平,檢測IO3~IO5口電平是否有變化,以此類推。</p&
13、gt;<p> 由圖5很容易得到階梯式鍵盤接口的I/O口資源與掃描按鍵數目的關系,如下式所示:</p><p> 由關系式可以看出,該方法不適合按鍵數目較少的應用場合,而對于按鍵數目較多的應用場合,該方法可以很好的發(fā)揮其優(yōu)點,如使用8個I/O口可以掃描28個按鍵。</p><p> 圖5 階梯式鍵盤接口</p><p> 4、ADC Pin鍵
14、盤接口</p><p> 目前市場上集成有ADC功能的單片機已經非常普遍了,對于I/O資源非常緊張的應用場合,就可以利用一個ADC口來實現鍵盤功能。ADC的作用是把模擬量轉換成數字量,以便于MCU進行處理,所以只要能夠通過按鍵來控制輸入ADC的模擬量的大小,就可以實現按鍵的檢測。具體電路結構如圖6所示。</p><p> 圖6 ADC Pin鍵盤接口</p><p
15、> 該鍵盤接口可以為MCU節(jié)省很多的I/O資源,尤其是按鍵數目較多的情況,但它是以犧牲硬件成本(電阻)為代價,而且抗干擾能力相對會差一些。另外,對于按鍵較多的情況,需要注意電阻的分配,即合理分配按鍵控制的ADC值,以避免相鄰ADC值按鍵的誤判。</p><p> 5、I/O Pin與ADC Pin相結合鍵盤接口</p><p> 對于較多按鍵,如25個按鍵的應用場合,行列式鍵盤
16、接口需要10個I/O,或者9個I/O加一根地線,還是占用了比較多的I/O資源,盡管有的時候可以將按鍵I/O與其它I/O共用。而ADC Pin鍵盤接口,相對于行列式鍵盤接口最多可以節(jié)省9個I/O口,但相應的需要26個電阻,電路結構也相應變得復雜,成本增加,穩(wěn)定性下降。該節(jié)介紹的鍵盤接口是將行列式鍵盤接口和ADC Pin鍵盤接口相結合,既節(jié)省了I/O口線,又沒有增加太多的成本,穩(wěn)定性也可以保證,具體電路結構如圖7所示。</p>
17、<p> 圖7 I/O Pin與ADC Pin相結合鍵盤接口</p><p> 該鍵盤按鍵的識別方法是:第一步,識別鍵盤有無按鍵被按下,檢測各I/O Pin的電平狀態(tài),如果有低電平,則表示該列有按鍵被按下,否則,沒有按鍵被按下。第二步,如果有按鍵被按下,則令檢測到低電平的I/O Pin輸出高電平,然后檢測ADC電壓,來確定是哪一行有按鍵按下。綜合上述2步的結果,就可以確定是哪一個按鍵被按下。&l
18、t;/p><p> 利用該電路結構,可以根據不同的應用場合來調整I/O口數目和電阻R的數目,例如24個按鍵,可以是3個I/O、1個ADC、9個R,或者4個I/O、1個ADC、7個R,或者6個I/O、1個ADC、5個R,或者8個I/O、1個ADC、3個R。</p><p><b> 6、二極管鍵盤接口</b></p><p> 對于沒有集成AD
19、C功能的MCU,如果遇到按鍵數目較多的應用場合,如25,而I/O資源又相對緊張,則可以通過該節(jié)介紹的二極管鍵盤接口電路來實現鍵盤功能。具體電路結構如圖8所示。</p><p> 圖8 二極管鍵盤接口</p><p> 該鍵盤按鍵的識別方法是:第一步,掃描Gnd行是否有按鍵被按下,如果檢測到I/O口電平有低電平,則表示有按鍵被按下;否則,表示沒有按鍵被按下,掃描程序進入第二步。第二步,
20、首先設置所有I/O口工作在Output Pin模式,且令某一行輸出低電平,其余行輸出高電平。然后設置輸出高電平行的I/O口為Input Pin,并檢測電平是否有變化,如果檢測到低電平,則表示該行與輸出低電平的那一行的交叉點處有按鍵被按下,否則,沒有按鍵被按下。</p><p> 需要注意,當鍵盤掃描進入第二步時,如果Gnd行有按鍵被按下,則會發(fā)生誤判按鍵。例如,當掃描L1行時,K11和K62按下都會令IO1檢測
21、到低電平。這可以通過軟件來加以識別,當檢測到IO1為低電平時,則下一步立即判斷Gnd行是否有按鍵被按下,如果有,則表示按鍵位于Gnd行;否則,表示按鍵位于L1~L5行。</p><p><b> 四、總結</b></p><p> 在實際應用過程中,應該綜合考慮各方面的因素,如按鍵數目,MCU的I/O口資源,MCU是否集成有ADC功能模塊,對于硬件成本的考慮,工作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鍵盤及顯示接口設計
- 《鍵盤接口設計》word版
- 鍵盤接口電路.dwg
- eda課程設計--矩陣鍵盤接口設計
- 鍵盤接口電路.dwg
- 基于fpga的矩陣鍵盤接口電路的設計
- hdl-ps2接口鍵盤課程設計
- 單片機課程設計---鍵盤接口課程設計
- ch20-鍵盤接口技術
- 單片機鍵盤及其接口用
- 鍵盤設備及接口 鼠標設備及接口 視頻設備及接口打印設備及...
- diy輕松把鍵盤、鼠標ps2接口改造成usb接口
- 基于ZigBee無線鍵盤鼠標接口設計和驅動程序開發(fā).pdf
- 微機原理與接口技術-8086cpu小鍵盤課程設計
- 鍵盤設計
- 微機原理與接口技術課程設計-鍵盤顯示控制器
- 畢業(yè)論文-可編程計算機鍵盤顯示器接口電路設計
- 微機原理與接口技術課程設計——液晶顯示器與鍵盤系統(tǒng)
- 鍵盤(鍵盤基礎,按鍵消息)
- 手機鍵盤課程設計
評論
0/150
提交評論