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

?
單純的從硬件接法看,兩種接法并沒(méi)有明顯區(qū)別,接法一甚至要復(fù)雜一些,但如果結(jié)合到鍵盤(pán)掃描的程序來(lái)看,就會(huì)發(fā)現(xiàn)接法一確實(shí)更好。
兩種接法我都沒(méi)有把上拉電阻包含進(jìn)來(lái),來(lái)讓我們看一下兩種接法到底有什么不同:
接法二(教材):
我們熟悉的傳統(tǒng)掃鍵處理電路,假定鍵盤(pán)行列IO口標(biāo)號(hào)分別為H1/H2/H3和V1/V2/V3,掃鍵流程通常如下。
2.1. H1設(shè)置為輸出,H2/H3和V1/V2/V3設(shè)置為輸入
2.2. H1分別輸出1和0,讀V1/V2/V3狀態(tài),如果Vy狀態(tài)與H1一致,則認(rèn)為H1與Vy交叉位置的鍵按下
2.3. H2設(shè)置為輸出,H1/H3和V1/V2/V3設(shè)置為輸入
2.4. H2分別輸出1和0,讀V1/V2/V3狀態(tài),如果Vy狀態(tài)與H2一致,則認(rèn)為H2與Vy交叉位置的鍵按下
2.5. H3設(shè)置為輸出,H1/H2和V1/V2/V3設(shè)置為輸入
2.6. H3分別輸出1和0,讀V1/V2/V3狀態(tài),如果Vy狀態(tài)與H3一致,則認(rèn)為H3與Vy交叉位置的鍵按下
接法一:
新掃鍵處理電路,假定鍵盤(pán)行列IO口標(biāo)號(hào)分別為H1/H2/H3和V1/V2/V3,掃鍵流程通常如下。
1.1. H1/H2/H3和V1/V2/V3都設(shè)置為輸入
1.2. 讀H1/H2/H3和V1/V2/V3狀態(tài),如果Hx和Vy讀到的狀態(tài)均為0,則認(rèn)為Hx與Vy交叉位置的鍵按下
從上面流程可以看出接法一的程序代碼要簡(jiǎn)單不少,既能減少掃鍵的代碼量,又能加快掃鍵處理的時(shí)間,站在軟件的角度看確實(shí)要比接法二要好。后來(lái)我反思了一下為什么我們教材上的傳統(tǒng)處理方法沒(méi)有采用接法一,雖然接法一軟件上要簡(jiǎn)單一些,但硬件布局要復(fù)雜,傳統(tǒng)的按鍵只有兩條接線,接法一需要三條接線,所以用傳統(tǒng)的按鍵是無(wú)法實(shí)現(xiàn)的,但現(xiàn)在許多電子產(chǎn)品的按鍵都用導(dǎo)電橡膠或鍋?zhàn)衅瑏?lái)實(shí)現(xiàn),所以接法已變得可行。
注:這兩種電路對(duì)于同時(shí)按鍵達(dá)到3個(gè)的情況都有可能形成錯(cuò)誤的按鍵邏輯。
上周熱點(diǎn)文章排行榜
- 奧哲與數(shù)環(huán)通達(dá)成合作,共筑企業(yè)數(shù)字化一站式轉(zhuǎn)型新生態(tài)
- 顛覆性創(chuàng)新技術(shù)——特斯拉土壤修復(fù)機(jī)器人!
- 三季度全球芯片代工市場(chǎng):臺(tái)積電第一,中芯國(guó)際營(yíng)收破20億美
- 科技看點(diǎn):小馬智行上市 我國(guó)5G基站總數(shù)達(dá)414.1萬(wàn)個(gè) 我國(guó)前10月
- 光刻機(jī)巨頭拋出重磅信號(hào) 阿斯麥(ASML)股價(jià)大幅上漲
- 射頻芯片企業(yè)前三季度業(yè)績(jī)PK:業(yè)績(jī)普降承壓前行,集成化、5
上周資料下載排行榜
論壇熱帖
- LF開(kāi)頭請(qǐng)問(wèn)這個(gè)是什么封裝元器件 jf_77000477
- 【飛凌嵌入式OK3588J-C開(kāi)發(fā)板體驗(yàn)】OK3588J-C開(kāi)發(fā)板開(kāi)箱評(píng)測(cè) jf_43382582
- 【書(shū)籍評(píng)測(cè)活動(dòng)NO.52】基于大模型的RAG應(yīng)用開(kāi)發(fā)與優(yōu)化 ElecFans小喇叭
- 求一份CS32L010的相關(guān)資料(數(shù)據(jù)手冊(cè)、用戶(hù)手冊(cè)、Pack包和例程等),謝謝 jf_43621189
- 請(qǐng)問(wèn)如何關(guān)閉獨(dú)立看門(mén)狗 jf_39582415
- 【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+閱讀濾波器章節(jié)部分筆記 james_87
熱門(mén)博文
論壇熱帖
- 熱點(diǎn)討論
【直播中獎(jiǎng)信息】華為開(kāi)發(fā)者大會(huì)2020發(fā)燒友直播間抽獎(jiǎng)信息公
- 熱點(diǎn)討論
“年貨”采購(gòu)進(jìn)行時(shí),華強(qiáng)芯城15家代購(gòu)渠道全系列特惠,最高滿(mǎn)
- 熱點(diǎn)討論
雙12捷報(bào)出爐,華強(qiáng)芯城+PCB雙雙斬獲120萬(wàn)戰(zhàn)績(jī)(附新用
- 專(zhuān)家問(wèn)答多年經(jīng)驗(yàn)幫你解答多層PCB設(shè)計(jì)
- 專(zhuān)家問(wèn)答FPGA大神幫你解決開(kāi)發(fā)過(guò)程的問(wèn)題
電子工程師技術(shù)應(yīng)用
電子工程師資料下載
- 經(jīng)典設(shè)計(jì)經(jīng)驗(yàn)筆記,電子工程師必備基礎(chǔ)知識(shí)
- 巧評(píng)電子工程師常犯的20個(gè)錯(cuò)誤
- 99%的電子工程師掉進(jìn)過(guò)這29個(gè)坑
- 工程師常犯錯(cuò)誤匯總,有你嗎?
- 電子工程師用得最多的17個(gè)軟件!
- 嵌入式開(kāi)發(fā)資料免費(fèi)分享
- 電子工程師便攜手冊(cè)PDF電子書(shū)
- 電子工程師出路在哪里?過(guò)來(lái)人分享
- 電子工程師必備元器件應(yīng)用寶典強(qiáng)化版電子書(shū)免費(fèi)下載
- 2018年中國(guó)工程師創(chuàng)新能量指數(shù)報(bào)告
工程師技術(shù)應(yīng)用
工程師資料下載
熱評(píng)
- IR將功率半導(dǎo)體觸角伸往消費(fèi)市場(chǎng)
- 多功能算術(shù)/邏輯運(yùn)算單元(ALU) ,什么是多功能
- 動(dòng)態(tài)ip、靜態(tài)ip、pppoe撥號(hào)的區(qū)別
- ARM與MIPS的比較
- ThunderBolt端口驅(qū)動(dòng)及NET改WAP方法
- ds18b20中文資料詳解
- 滴滴人臉識(shí)別怎么破解
- 超級(jí)計(jì)算機(jī)榜單重新排名 中國(guó)天河二號(hào)已淪為世界第
- 電阻色環(huán)表_色環(huán)電阻識(shí)別方法
- iphone6概念機(jī)圖片曝光_iphone6上市時(shí)
博文
帖子
- 【書(shū)籍評(píng)測(cè)活動(dòng)NO.51】具身智能機(jī)器人系統(tǒng) | 了解AI的下一個(gè)浪潮! ElecFans小喇叭
- 請(qǐng)教關(guān)于CS1239低側(cè)采樣如何獲得使用更高的Gain? jf_94221193
- 高頻條件下的耦合線圈出現(xiàn)負(fù)值的原因是什么 jf_42363055
- 請(qǐng)問(wèn)如何關(guān)閉獨(dú)立看門(mén)狗 jf_39582415
- ads1291雙電源供電時(shí),Thermal Pad接AVSS嗎? ggfx
- 【米爾-Xilinx XC7A100T FPGA開(kāi)發(fā)板試用】+03.SFP光口測(cè)試(zmj) 卿小小_9e6
- DAC7621的reference性能精度,可以使用外部輸入ref嗎? 萬(wàn)物死
- 【「HarmonyOS NEXT啟程:零基礎(chǔ)構(gòu)建純血鴻蒙應(yīng)用」閱讀體驗(yàn)】+1-7章有感 夜孤影
- DIY了一臺(tái)無(wú)人機(jī),用全志T113芯片 文小二
- 電子產(chǎn)品結(jié)構(gòu)與導(dǎo)熱材料解決方案 jf_86221244
用戶(hù)評(píng)論
查看全部 條評(píng)論
查看全部 條評(píng)論>>