bfbdc765-fd98-4fd4-89fd-a12ee5f9590a.png (32.33 KB, 下載次數(shù): 0)
WL0123 發(fā)表于 2025-1-11 16:53
這只是讀鍵值的基本邏輯關(guān)系,實(shí)用代碼需要補(bǔ)充完善。
char key_scan()
{
xiaobendan001 發(fā)表于 2025-1-12 07:34
很明顯這個(gè)不對(duì),說(shuō)下怎么完善吧
人中狼 發(fā)表于 2025-1-12 09:21
先看懂電路和代碼再說(shuō)吧
xiaobendan001 發(fā)表于 2025-1-12 14:20
B4=1時(shí),按S1我能理解,B4=0時(shí),我按的仍然是S1,你試試這個(gè)代碼返回的是幾?
xiaobendan001 發(fā)表于 2025-1-12 14:20
B4=1時(shí),按S1我能理解,B4=0時(shí),我按的仍然是S1,你試試這個(gè)代碼返回的是幾?
xianfajushi 發(fā)表于 2025-1-13 15:35
可以進(jìn)一步節(jié)省1個(gè)IO口,用2個(gè)IO口就能實(shí)現(xiàn)4個(gè)按鍵檢測(cè),2個(gè)電阻接地,2個(gè)電阻接電源,都當(dāng)獨(dú)立按鍵處理.
WL0123 發(fā)表于 2025-1-12 20:34
如果你按著S1不放,if(B2==0)return 1;,程序已經(jīng)返回,根本運(yùn)行不到下面代碼,只有S1和S2都沒(méi)有按下才能 ...
wlefa 發(fā)表于 2025-1-13 21:13
如果恰巧在 if(B2==0)return 1;語(yǔ)句之后才按下S1呢?又或者恰巧在else if(B3==0)return 2;語(yǔ)句后才按下S2 ...
wlefa 發(fā)表于 2025-1-13 21:13
如果恰巧在 if(B2==0)return 1;語(yǔ)句之后才按下S1呢?又或者恰巧在else if(B3==0)return 2;語(yǔ)句后才按下S2 ...
lkc8210 發(fā)表于 2025-1-13 16:15
請(qǐng)問(wèn)接電源的按鍵如何判斷?
51hei.gif (791.92 KB, 下載次數(shù): 0)
打雜的 發(fā)表于 2025-2-7 13:47
按照你們寫的程序,實(shí)際測(cè)試按鍵無(wú)效。能寫一個(gè)完整的程序嗎?感謝,最好是51單片機(jī),在學(xué)習(xí),電路是沒(méi)有問(wèn) ...
lkc8210 發(fā)表于 2025-1-13 16:15
請(qǐng)問(wèn)接電源的按鍵如何判斷?
lei848200 發(fā)表于 2025-1-11 21:07
你這電路有問(wèn)題吧?B2、B3如果不接上拉電阻,按鍵相當(dāng)于直接短路路了。
xianfajushi 發(fā)表于 2025-2-10 21:57
除了P0外的都可用來(lái)制作1個(gè)IO檢測(cè)2個(gè)按鍵用,特別適合閑散IO,1個(gè)按鍵接地1個(gè)按鍵接電源,檢測(cè)接地按鍵時(shí) ...
wlefa 發(fā)表于 2025-1-13 21:13
如果恰巧在 if(B2==0)return 1;語(yǔ)句之后才按下S1呢?又或者恰巧在else if(B3==0)return 2;語(yǔ)句后才按下S2 ...
WL0123 發(fā)表于 2025-2-8 08:33
樓主搞了快1個(gè)月還沒(méi)有搞定?給你寫個(gè)測(cè)試程序,肯定沒(méi)有問(wèn)題。如果不穩(wěn)定把你電路中R5省略或改為1K
lkc8210 發(fā)表于 2025-2-12 10:06
?
“先賦值低電平再檢測(cè)是否高”
先賦值低電平不就打開了內(nèi)置對(duì)地的MOS管?
51hei截圖_20250218163858.png (186.16 KB, 下載次數(shù): 0)
lkc8210 發(fā)表于 2025-1-13 16:15
請(qǐng)問(wèn)接電源的按鍵如何判斷?
3853AAD458D49EA1346E36FE8830A633.png (91.82 KB, 下載次數(shù): 0)
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |