<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機基礎:鍵盤(pán)接口原理詳解

單片機基礎:鍵盤(pán)接口原理詳解

作者: 時(shí)間:2013-05-15 來(lái)源:網(wǎng)絡(luò ) 收藏

矩陣式按鍵

系統中,若使用按鍵較多時(shí),通常采用矩陣式(也稱(chēng)行列式)。

1. 矩陣式的結構及

矩陣式由行線(xiàn)和列線(xiàn)組成,按鍵位于行、列線(xiàn)的交叉點(diǎn)上,其結構如下圖所示。

單片機基礎:鍵盤(pán)接口原理詳解

由圖可知,一個(gè)4×4的行、列結構可以構成一個(gè)含有16個(gè)按鍵的鍵盤(pán),顯然,在按鍵數量較多時(shí),矩陣式鍵盤(pán)較之獨立式按鍵鍵盤(pán)要節省很多I/O口。

矩陣式鍵盤(pán)中,行、列線(xiàn)分別連接到按鍵開(kāi)關(guān)的兩端,行線(xiàn)通過(guò)上拉電阻接到+5V上。當無(wú)鍵按下時(shí),行線(xiàn)處于高電平狀態(tài);當有鍵按下時(shí),行、列線(xiàn)將導通,此時(shí),行線(xiàn)電平將由與此行線(xiàn)相連的列線(xiàn)電平?jīng)Q定。這是識別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤(pán)中的行線(xiàn)、列線(xiàn)和多個(gè)鍵相連,各按鍵按下與否均影響該鍵所在行線(xiàn)和列線(xiàn)的電平,各按鍵間將相互影響,因此,必須將行線(xiàn)、列線(xiàn)信號配合起來(lái)作適當處理,才能確定閉合鍵的位置。

2.式鍵盤(pán)按鍵的識別

識別按鍵的方法很多,其中,最常見(jiàn)的方法是掃描法。

按鍵按下時(shí),與此鍵相連的行線(xiàn)與列線(xiàn)導通,行線(xiàn)在無(wú)鍵按下時(shí)處在高電平。顯然,如果讓所有的列線(xiàn)也處在高電平,那么,按鍵按下與否不會(huì )引起行線(xiàn)電平的變化,因此,必須使所有列線(xiàn)處在低電平。只有這樣,當有鍵按下時(shí),該鍵所在的行電平才會(huì )由高電平變?yōu)榈碗娖?。CPU根據行電平的變化,便能判定相應的行有鍵按下。

3. 盤(pán)的編碼

對于獨立式按鍵鍵盤(pán),因按鍵數量少,可根據實(shí)際需要靈活編碼。對于矩陣式鍵盤(pán),按鍵的位置由行號和列號惟一確定,因此可分別對行號和列號進(jìn)行二進(jìn)制編碼,然后將兩值合成一個(gè)字節,高4位是行號,低4位是列號。

4. 鍵盤(pán)的工作方式

對鍵盤(pán)的響應取決于鍵盤(pán)的工作方式,鍵盤(pán)的工作方式應根據實(shí)際應用系統中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應按鍵操作,又不要過(guò)多占用CPU的工作時(shí)間。通常,鍵盤(pán)的工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。

1) 編程掃描方式

編程掃描方式是利用CPU完成其它工作的空余時(shí)間,調用鍵盤(pán)掃描子程序來(lái)響應鍵盤(pán)輸入的要求。在執行鍵功能程序時(shí),CPU不再響應鍵輸入要求,直到CPU重新掃描鍵盤(pán)為止。

2) 定時(shí)掃描方式

定時(shí)掃描方式就是每隔一段時(shí)間對鍵盤(pán)掃描一次,它利用內部的定時(shí)器產(chǎn)生一定時(shí)間(例如10 ms)的定時(shí),當定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷。CPU響應中斷后對鍵盤(pán)進(jìn)行掃描,并在有鍵按下時(shí)識別出該鍵,再執行該鍵的功能程序。

3) 中斷掃描方式

采用上述兩種鍵盤(pán)掃描方式時(shí),無(wú)論是否按鍵,CPU都要定時(shí)掃描鍵盤(pán),而應用系統工作時(shí),并非經(jīng)常需要鍵盤(pán)輸入,因此,CPU經(jīng)常處于空掃描狀態(tài)。

為提高CPU工作效率,可采用中斷掃描工作方式。其工作過(guò)程如下:當無(wú)鍵按下時(shí),CPU處理自己的工作,當有鍵按下時(shí),產(chǎn)生中斷請求,CPU轉去執行鍵盤(pán)掃描子程序,并識別鍵號。

DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY



上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>