![]() |
權(quán)威人物 發(fā)表于 2020-10-13 14:38 ![]() |
tanghao8887 發(fā)表于 2018-10-20 18:05 反復(fù)按動K1,LED都能在亮與滅之間轉(zhuǎn)換就說明此段代碼正常,否則是消抖延時不恰當(dāng)。 |
tanghao8887 發(fā)表于 2018-10-20 18:05 獨(dú)立按鍵啊,按一下開,再按一下關(guān)。程序?qū)崿F(xiàn)是沒按下一次就標(biāo)志位取反。至于那個while(!k1),是你在松開按鍵后,這個程序才能捕獲你下一次按鍵動作。防止你一直按下不松手,如果沒有這個的話,你一直按住按鍵,燈會閃,間隔是你的消抖時間。 |
樓主就是小白,建議你多多看書,這程序完全是為小白準(zhǔn)備的,這都還有注釋還不清楚。以你的程序說明吧!看懂就懂,不懂建議你重頭學(xué)或者別學(xué)了 |
095629wqll5s5lizo5vgvj.png (58.88 KB, 下載次數(shù): 139)
意思是當(dāng)檢測到K1高低電平時執(zhí)行while()循環(huán)的指令 |
上面寫了 判斷按鍵是否按下? |
zailushang316 發(fā)表于 2018-10-20 11:18 等待結(jié)束是什么意思 |
k1看成一個變量就對了 |
K1應(yīng)該是返回值,!K1是非K1,如果K1不為零,!K1為零,反之亦然 |
K1==0,!k==1,while(!k1)檢測時候松手 |
這個k1的讀取應(yīng)該是用的中斷,否則當(dāng)k1按下,while(!k1)會一直執(zhí)行,等待k1狀態(tài)變化了才會釋放。 |
“在獨(dú)立按鍵里面表示一個什么意思啊,看不懂!”,這句話我也看不懂。![]() ![]() ![]() |
zailushang316 發(fā)表于 2018-10-20 11:18 那為什么我松開了按鍵,那個燈并沒有熄滅,而我重新按下按鍵燈才熄滅啊! |
while(!k1); 就是 while(k1==0); 在這兒的作用就是只要 k1為零(按鍵未松開),就反復(fù)執(zhí)行這一條語句直到 k1為1(按鍵松開) |
意思是:非1(為0)的時候,無限循環(huán);為1的時候執(zhí)行下一條。 |
按下K1==0,!k==1,while(!k1)檢測時候松手 |
while(!k1);就是等待按鍵松開,while()是循環(huán),括號內(nèi)非0就滿足條件,按鍵是按下0,松開1,松開后這個循環(huán)條件就不滿足了,等待結(jié)束。 |
Powered by 單片機(jī)教程網(wǎng)