加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

改良版矩陣鍵盤,仿真及程序詳解

2017/09/28
40
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

首先分享一個矩陣鍵盤電路


上述的鍵盤編碼方式是目前為止原理最簡單的方式。首先我們知道當有一個按鍵按下去之后,相應(yīng)的列線和行線之間就會短路(也可以說是直接相連),因此我們做掃描程序編碼時候,一般都是讓我們的8位輸出口首先輸出0xf0或者0x0f這樣子比較有特點的一些數(shù)值,因為一旦按鍵按下之后,就能和清晰的讀取回來,并且第一次判斷是哪一行,哪一列。然后在第二次把這些行全一或者列全一的數(shù)值進行對調(diào),再讀入之后就能進行編碼了。
但是,我們仔細想一下以下的敘述方式。我第一次輸出0xf0,假設(shè)KEY2按下時,入讀的就應(yīng)該是0xe0,那么假設(shè)我讓第二次輸出0x0e,試想下在讀取8這個電路的行列時候會變成什么樣子?是不是很容易得出0xde這個值?那這個0xde就是KEY2的編碼。因此我們在這里總結(jié)了行反轉(zhuǎn)法的基本流程:
(1)端口輸出0xf0;
(2)讀入,判斷是否為0xf0,如果不是表示有按鍵按下;
(3)將讀入值的高4位和低4位交換,再輸出;
(4)讀入端口的值,即按鍵的編碼。

仿真原理圖如下(proteus仿真工程文件可到附件中下載)

附件內(nèi)容截圖:

部分源碼截圖:

  • 矩陣鍵盤.rar
    描述:仿真和程序

相關(guān)推薦

電子產(chǎn)業(yè)圖譜