<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è) > 嵌入式系統 > 設計應用 > 單片機上的幾種按鍵輸入實(shí)現方法

單片機上的幾種按鍵輸入實(shí)現方法

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

按鍵作為一種簡(jiǎn)單實(shí)用的輸入設備已經(jīng)應用于各種應用系統中,可謂是無(wú)處不在。但在不同的實(shí)用場(chǎng)合下所使用的按鍵也不盡相同。這里就對幾種經(jīng)常用到的按鍵及其使用方法進(jìn)行介紹。

1、傳統按鍵:

傳統按鍵是現在在各種電子設備中應用最為廣泛的按鍵,可能它們的形狀各有不
同,但其控制方法卻大同小異,利用按鍵是否按下的IO 電平狀態(tài)變化來(lái)對其進(jìn)行識別。
這種按鍵如下圖所示:

點(diǎn)擊瀏覽下一頁(yè)



1)直接按鍵

最簡(jiǎn)單的鍵盤(pán)就是把電平信號直接接到IO 上。在程序里面讀取IO 電平狀態(tài),如
果讀到相應的電平,則說(shuō)明此IO 上所接的按鍵被按下。這種方法原理與控制方法都非
常簡(jiǎn)單,但造成了IO 資源的浪費。這種按鍵方式的示意圖如下:

點(diǎn)擊瀏覽下一頁(yè)


2)掃描按鍵矩陣

這種方式很巧妙地利用了IO 資源,使得8 個(gè)IO 可以實(shí)現16 鍵鍵盤(pán)。它
的示意圖如下:

點(diǎn)擊瀏覽下一頁(yè)

這種方式比上面的直接按鍵方式從原理與控制上都比上面的直接按鍵要
復雜。它通過(guò)IO 的掃描來(lái)獲取鍵值,其實(shí)掃描過(guò)程非常簡(jiǎn)單,過(guò)程如下:
KEY1~KEY4 對應于IO0~IO3,KEY5~KEY8 對應于IO4~IO7。
1.將IO0~IO3 置高,將IO4 置低,IO5、IO6、IO7 置高,讀取IO0~IO3。第一列的某
個(gè)按鈕按下后,使相應的兩個(gè)觸點(diǎn)接通,相應行上的IO 可以讀到低電平。
2.將IO0~IO3 置高,將IO5 置低,IO4、IO6、IO7 置高,讀取IO0~IO3。第一列的某
個(gè)按鈕按下后,使相應的兩個(gè)觸點(diǎn)接通,相應行上的IO 可以讀到低電平。
3.將IO0~IO3 置高,將IO6 置低,IO4、IO5、IO7 置高,讀取IO0~IO3。第一列的某
個(gè)按鈕按下后,使相應的兩個(gè)觸點(diǎn)接通,相應行上的IO 可以讀到低電平。
4.將IO0~IO3 置高,將IO7 置低,IO4、IO5、IO6 置高,讀取IO0~IO3。第一列的某
個(gè)按鈕按下后,使相應的兩個(gè)觸點(diǎn)接通,相應行上的IO 可以讀到低電平。
循環(huán)此過(guò)程可以不斷讀取按鍵鍵值。
在實(shí)際的應用中,這個(gè)掃描過(guò)程通常是放在定時(shí)器的中斷服務(wù)程序中去完成的,
通過(guò)全局變量將鍵值返回到其它函數中去。當然,作為學(xué)習其掃描過(guò)程,也可以將掃
描放在主函數中直接來(lái)完成。
在上面介紹的方式中,讀者可以看到,IO 都是以低電平作為檢測電平,那這
是為什么呢?這是因為IO 讀取電平狀態(tài)的時(shí)候,讀取低電平比高電平要穩定。也下
是因為這一原因外部中斷以低電平或下降沿來(lái)作為其中斷觸發(fā)條件,以保證中斷的可*性。


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

關(guān)鍵詞: 單片機 按鍵輸入 集成按鍵

評論


相關(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>