標(biāo)題: 單片機(jī)IO口識(shí)別按鍵的接線方法 [打印本頁]

作者: zhangwenan    時(shí)間: 2022-3-8 16:46
標(biāo)題: 單片機(jī)IO口識(shí)別按鍵的接線方法
如題所示:打算用STM32單片機(jī)的IO口去識(shí)別按鍵是否被按下,按鍵如圖所示:3個(gè)按鍵串聯(lián)為1組,總共4組12個(gè)按鍵。要求用盡量少的IO口和外圍器件去識(shí)別按鍵動(dòng)作。我自己現(xiàn)在是要用8個(gè)按鍵,感覺還可以再減少,但是想不出來更好的方法了。

bc1eb823e664d3c4174833ef0180c0d.jpg (117.22 KB, 下載次數(shù): 71)

bc1eb823e664d3c4174833ef0180c0d.jpg

作者: wulin    時(shí)間: 2022-3-8 21:13
12個(gè)按鍵3*4矩陣需要7個(gè)IO口
作者: lkc8210    時(shí)間: 2022-3-9 23:56
不加二極管只需6個(gè)IO



加二極管只需4個(gè)IO,但要消耗12顆二極管,不合算

原理是每次單片機(jī)只拉低一根腳
然后測(cè)量其它腳有沒有被拉低


作者: glinfei    時(shí)間: 2022-3-10 08:56
lkc8210 發(fā)表于 2022-3-9 23:56
不加二極管只需6個(gè)IO

當(dāng)年數(shù)理邏輯肯定學(xué)的好。
作者: lhomme    時(shí)間: 2022-3-10 09:32
矩陣掃描鍵盤 3*4 但不是你這樣的接法
作者: hei512020    時(shí)間: 2022-3-10 14:33
如果按你圖上畫的3個(gè)一組,必須是4組的話,就可以用4個(gè)ADC口線引腳;每一組接一個(gè)STM32的ADC口線,每個(gè)按鍵上加上不同的電阻,根據(jù)采樣電壓不同,區(qū)分不同的按鍵;理論上一個(gè)ADC口線就可以接多個(gè)按鍵(理論上1個(gè)ADC口線就可以做出12個(gè)按鍵;當(dāng)然要看看AD采樣的精度和鍵與鍵之間的電壓余量,盡可能的鍵與鍵之間余量多些,這樣就不至于把鍵采集錯(cuò)誤);
作者: 名字不是重點(diǎn)    時(shí)間: 2022-3-10 14:41
wulin 發(fā)表于 2022-3-8 21:13
12個(gè)按鍵3*4矩陣需要7個(gè)IO口

確切的說是3*(3+gnd),只要6個(gè)IO
作者: rundstedt    時(shí)間: 2022-3-10 17:50
串電阻用ADC識(shí)別,8個(gè)鍵用兩個(gè)IO口就能實(shí)現(xiàn)。
作者: 銘鑫99    時(shí)間: 2022-3-11 14:32
矩陣鍵盤四乘三,這樣不對(duì)

作者: chen_天天來    時(shí)間: 2022-3-11 17:43
用上個(gè)ADC口掃描,可以串到你不想要

Y8FPWR9A24@CJB@)Y%`USLP.png (50.17 KB, 下載次數(shù): 58)

Y8FPWR9A24@CJB@)Y%`USLP.png

作者: wearefamily    時(shí)間: 2022-3-12 18:23
矩陣鍵盤四乘三
作者: 188610329    時(shí)間: 2022-3-13 15:04
在任何一個(gè)實(shí)際項(xiàng)目中, 按鍵應(yīng)該都是最后考慮的東西, 因?yàn)閷?shí)現(xiàn)方法太多了,應(yīng)該根據(jù)實(shí)際有的資源,最后決定按鍵方案,你其他東西都設(shè)計(jì)好了,
還剩 12個(gè)以上IO 就什么都不要想,直接通通獨(dú)立按鍵。
如果 還剩 4~6個(gè)IO 就用 板凳的方法,
如果 還剩 1個(gè)IO 并且,可以ADC 那么就用10樓的方法。
如果 沒有剩余IO, 但是有用 TM1650 之類的 LED 驅(qū)動(dòng)芯片,那么直接用 TM16系列LED芯片自帶的 按鍵識(shí)別功能,就可以了。
包括IO復(fù)用方案,單IO無DAC,電容充放電方案,等等等等,方法很多很多,單純的討論按鍵實(shí)現(xiàn)方法,不考慮應(yīng)用場(chǎng)景,來確定哪個(gè)方案好,沒有太大的實(shí)際意義。
作者: 學(xué)mcu的菜雞    時(shí)間: 2022-3-13 16:14
lkc8210 發(fā)表于 2022-3-9 23:56
不加二極管只需6個(gè)IO

大哥牛逼
作者: 學(xué)mcu的菜雞    時(shí)間: 2022-3-13 16:15
188610329 發(fā)表于 2022-3-13 15:04
在任何一個(gè)實(shí)際項(xiàng)目中, 按鍵應(yīng)該都是最后考慮的東西, 因?yàn)閷?shí)現(xiàn)方法太多了,應(yīng)該根據(jù)實(shí)際有的資源,最后決定 ...

長見識(shí)了!!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1