一種基于ADC的高性價比鍵盤輸入設(shè)計
引言
在單片機領(lǐng)域中,鍵盤輸入是最常用的人機交互方式。通常實用鍵盤接口方式有:直接輸入、矩陣結(jié)構(gòu)、A/D方式、鍵盤和顯示復用、并行擴展、串口擴充以及用鍵盤和顯示專用控制器件等。但是其中很多方案都需要占用不少單片機有限的I/O口。本文提出一種基于ADC的高性價比鍵盤輸入設(shè)計方法。
1 ADC按鍵原理
ADC按鍵的原理圖如圖1所示,把多個電阻串聯(lián)分壓,不同的按鍵將不同的電壓進行A/D轉(zhuǎn)換,根據(jù)ADC結(jié)果,MCU就能識別按鍵了。例如,key1按下,ADC得到的電壓值為:
理論上,只要相鄰的兩個按鍵按下時,電壓的差值在ADC能最小分辨的電壓范圍之內(nèi),那么MCU就能識別是哪個鍵被按下了。一個n位的ADC,可以識別2n個不同的電壓值,即可以識別2n個按鍵。例如8位ADC,理論上可以串聯(lián)256個電阻,識別256個按鍵。但在實際應(yīng)用中還要考慮很多的外在因素,如電阻自身的誤差、ADC誤差、軟件計算誤差等,因此往往實際能識別的按鍵的個數(shù)小于理論值。
評論