單片機基礎:鍵盤(pán)接口原理詳解
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è)鍵盤(pán),總有一個(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. 按鍵編碼
一組按鍵或鍵盤(pán)都要通過(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í),可采用獨立式按鍵結構。
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
評論