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