<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ò ) 收藏

1. 鍵的分類(lèi)

本文引用地址:http://dyxdggzs.com/article/170503.htm

按鍵按照結構可分為兩類(lèi),一類(lèi)是觸點(diǎn)式開(kāi)關(guān)按鍵,如機械式開(kāi)關(guān)、導電橡膠式開(kāi)關(guān)等;另一類(lèi)是無(wú)觸點(diǎn)式開(kāi)關(guān)按鍵,如電氣式按鍵,磁感應按鍵等。前者造價(jià)低,后者壽命長(cháng)。目前,微機系統中最常見(jiàn)的是觸點(diǎn)式開(kāi)關(guān)按鍵。

2.輸入

應用系統中,除了復位按鍵有專(zhuān)門(mén)的復位電路及專(zhuān)一的復位功能外,其它按鍵都是以開(kāi)關(guān)狀態(tài)來(lái)設置控制功能或輸入數據的。當所設置的功能鍵或數字鍵按下時(shí),計算機應用系統應完成該按鍵所設定的功能,鍵信息輸入是與軟件結構密切相關(guān)的過(guò)程。

對于一組鍵或一個(gè),總有一個(gè)電路與CPU相連。CPU可以采用查詢(xún)或中斷方式了解有無(wú)將鍵輸入,并檢查是哪一個(gè)鍵按下,將該鍵號送入累加器ACC,然后通過(guò)跳轉指令轉入執行該鍵的功能程序,執行完后再返回主程序

3.按鍵結構與特點(diǎn)

鍵盤(pán)接口原理

微機通常使用機械觸點(diǎn)式按鍵開(kāi)關(guān),其主要功能是把機械上的通斷轉換成為電氣上的邏輯關(guān)系。也就是說(shuō),它能提供標準的TTL邏輯電平,以便與通用數字系統的邏輯電平相容。

機械式按鍵再按下或釋放時(shí),由于機械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機械抖動(dòng),然后其觸點(diǎn)才穩定下來(lái)。其抖動(dòng)過(guò)程如下圖所示,抖動(dòng)時(shí)間的長(cháng)短與開(kāi)關(guān)的機械特性有關(guān),一般為5~10 ms。

在觸點(diǎn)抖動(dòng)期間檢測按鍵的通與斷狀態(tài),可能導致判斷出錯,即按鍵一次按下或釋放被錯誤地認為是多次操作,這種情況是不允許出現的。為了克服按鍵觸點(diǎn)機械抖動(dòng)所致的檢測誤判,必須采取去抖動(dòng)措施。這一點(diǎn)可從硬件、軟件兩方面予以考慮。在鍵數較少時(shí),可采用硬件去抖,而當鍵數較多時(shí),采用軟件去抖。

4. 按鍵編碼

一組按鍵或都要通過(guò)I/O口線(xiàn)查詢(xún)按鍵的開(kāi)關(guān)狀態(tài)。根據鍵盤(pán)結構的不同,采用不同的編碼。無(wú)論有無(wú)編碼,以及采用什么編碼,最后都要轉換成為與累加器中數值相對應的鍵值,以實(shí)現按鍵功能程序的跳轉。

5. 制鍵盤(pán)程序

一個(gè)完善的鍵盤(pán)控制程序應具備以下功能:

(1) 檢測有無(wú)按鍵按下,并采取硬件或軟件措施,消除鍵盤(pán)按鍵機械觸點(diǎn)抖動(dòng)的影響。

(2) 有可靠的邏輯處理辦法。每次只處理一個(gè)按鍵,其間對任何按鍵的操作對系統不產(chǎn)生影響,且無(wú)論一次按鍵時(shí)間有多長(cháng),系統僅執行一次按鍵功能程序。

(3) 準確輸出按鍵值(或鍵號),以滿(mǎn)足跳轉指令要求。

獨立式按鍵

控制系統中,往往只需要幾個(gè)功能鍵,此時(shí),可采用獨立式按鍵結構。

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

1.獨立式按鍵結構

獨立式按鍵是直接用I/O口線(xiàn)構成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨占用一根I/O口線(xiàn),每個(gè)按鍵的工作不會(huì )影響其它I/O口線(xiàn)的狀態(tài)。獨立式按鍵的典型應用如圖7.4所示。

獨立式按鍵電路配置靈活,軟件結構簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口線(xiàn),因此,在按鍵較多時(shí),I/O口線(xiàn)浪費較大,不宜采用。

2. 立式按鍵的軟件結構

獨立式按鍵的軟件常采用查詢(xún)式結構。先逐位查詢(xún)每根I/O口線(xiàn)的輸入狀態(tài),如某一根I/O口線(xiàn)輸入為低電平,則可確認該I/O口線(xià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>