在單片機(jī)軟硬件應(yīng)用電路中,如果要實(shí)現(xiàn)獨(dú)立的按鍵輸入,在不使用其他的功能輔助ic的情況下,一般一個(gè)按鍵對(duì)應(yīng)一個(gè)io引腳,如果要實(shí)現(xiàn)多個(gè)獨(dú)立按鍵輸入,那么就要多個(gè)獨(dú)立io。如下圖所示,
普通io實(shí)現(xiàn)的獨(dú)立按鍵輸入
然而,在實(shí)際應(yīng)用的很多場(chǎng)合下,我們往往會(huì)碰到單片機(jī)io引腳不夠用,或者,需要出于成本等原因,我們不能更換其他多io的單片機(jī)。因此,我們需要實(shí)現(xiàn)一個(gè)io實(shí)現(xiàn)多個(gè)獨(dú)立按鍵輸入,下圖所示的這種方法就是利用單片一個(gè)帶adc轉(zhuǎn)換的io實(shí)現(xiàn)多個(gè)按鍵輸入檢測(cè)。
adc io實(shí)現(xiàn)的多個(gè)獨(dú)立按鍵輸入
如上圖所示,只要配置好r1,r2,r3,r4,r5之間的電阻阻值,那么,在不同的按鍵按下的情況下,adc_io引腳上的電壓就不一樣,單片機(jī)程序里面根據(jù)adc_io上不同adc采樣結(jié)果反過(guò)來(lái)就可以判斷出來(lái)是哪個(gè)按鍵被按下。