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