工程師,你還局限于教材經驗嗎?
2011年12月16日 17:01 來源:本站整理 作者:葉子 我要評論(0)
?
課本上的鍵盤掃描方法不能說是盡善盡美,從易懂性、成本、程序難易程度等方面綜合看應該是不錯的方法,給人感覺是已經沒有太多的改善空間,至少我是這么認為的。然而前段時間一位***朋友畫給我的鍵盤掃描矩陣電路,讓我又一次看到到自己...
——兩種鍵盤掃描方法比較分析
說到鍵盤掃描,相信大多數人第一反應就是行列矩陣掃描,這樣我們可以用相對有限的IO口得到盡可能多的按鍵。鍵盤掃描是單片機技術的一種基本處理方法,學校的單片機課程都會有相應章節進行闡述,只要按照課本上講述的方法,一般都能設計出比較可靠的鍵盤掃描電路與程序。
課本上的鍵盤掃描方法(見下圖接法二)不能說是盡善盡美,從易懂性、成本、程序難易程度等方面綜合看應該是不錯的方法,給人感覺是已經沒有太多的改善空間,至少我是這么認為的。
然而前段時間一位***朋友畫給我的鍵盤掃描矩陣電路(見下圖接法二),讓我又一次看到到自己的思維還有許多地方被自己的所謂“經驗”束縛著。

?
單純的從硬件接法看,兩種接法并沒有明顯區別,接法一甚至要復雜一些,但如果結合到鍵盤掃描的程序來看,就會發現接法一確實更好。
兩種接法我都沒有把上拉電阻包含進來,來讓我們看一下兩種接法到底有什么不同:
接法二(教材):
我們熟悉的傳統掃鍵處理電路,假定鍵盤行列IO口標號分別為H1/H2/H3和V1/V2/V3,掃鍵流程通常如下。
2.1. H1設置為輸出,H2/H3和V1/V2/V3設置為輸入
2.2. H1分別輸出1和0,讀V1/V2/V3狀態,如果Vy狀態與H1一致,則認為H1與Vy交叉位置的鍵按下
2.3. H2設置為輸出,H1/H3和V1/V2/V3設置為輸入
2.4. H2分別輸出1和0,讀V1/V2/V3狀態,如果Vy狀態與H2一致,則認為H2與Vy交叉位置的鍵按下
2.5. H3設置為輸出,H1/H2和V1/V2/V3設置為輸入
2.6. H3分別輸出1和0,讀V1/V2/V3狀態,如果Vy狀態與H3一致,則認為H3與Vy交叉位置的鍵按下
接法一:
新掃鍵處理電路,假定鍵盤行列IO口標號分別為H1/H2/H3和V1/V2/V3,掃鍵流程通常如下。
1.1. H1/H2/H3和V1/V2/V3都設置為輸入
1.2. 讀H1/H2/H3和V1/V2/V3狀態,如果Hx和Vy讀到的狀態均為0,則認為Hx與Vy交叉位置的鍵按下
從上面流程可以看出接法一的程序代碼要簡單不少,既能減少掃鍵的代碼量,又能加快掃鍵處理的時間,站在軟件的角度看確實要比接法二要好。后來我反思了一下為什么我們教材上的傳統處理方法沒有采用接法一,雖然接法一軟件上要簡單一些,但硬件布局要復雜,傳統的按鍵只有兩條接線,接法一需要三條接線,所以用傳統的按鍵是無法實現的,但現在許多電子產品的按鍵都用導電橡膠或鍋仔片來實現,所以接法已變得可行。
注:這兩種電路對于同時按鍵達到3個的情況都有可能形成錯誤的按鍵邏輯。
上周熱點文章排行榜
上周資料下載排行榜
論壇熱帖
熱評
- IR將功率半導體觸角伸往消費市場
- 多功能算術/邏輯運算單元(ALU) ,什么是多功能
- 動態ip、靜態ip、pppoe撥號的區別
- ARM與MIPS的比較
- ThunderBolt端口驅動及NET改WAP方法
- ds18b20中文資料詳解
- 滴滴人臉識別怎么破解
- 超級計算機榜單重新排名 中國天河二號已淪為世界第
- 電阻色環表_色環電阻識別方法
- iphone6概念機圖片曝光_iphone6上市時
博文
帖子
- 【書籍評測活動NO.51】具身智能機器人系統 | 了解AI的下一個浪潮! ElecFans小喇叭
- 請教關于CS1239低側采樣如何獲得使用更高的Gain? jf_94221193
- 高頻條件下的耦合線圈出現負值的原因是什么 jf_42363055
- 請問如何關閉獨立看門狗 jf_39582415
- ads1291雙電源供電時,Thermal Pad接AVSS嗎? ggfx
- 【米爾-Xilinx XC7A100T FPGA開發板試用】+03.SFP光口測試(zmj) 卿小小_9e6
- DAC7621的reference性能精度,可以使用外部輸入ref嗎? 萬物死
- 【「HarmonyOS NEXT啟程:零基礎構建純血鴻蒙應用」閱讀體驗】+1-7章有感 夜孤影
- DIY了一臺無人機,用全志T113芯片 文小二
- 電子產品結構與導熱材料解決方案 jf_86221244
用戶評論
查看全部 條評論
查看全部 條評論>>