![]() |
發(fā)布時間: 2024-5-20 21:53
正文摘要:新手求助:有兩種流水燈形式,想加兩個按鍵切換流水燈模式,按鍵程序搞半天也沒整明白,請高人指點,謝謝!按鍵1執(zhí)行 void disp0() 按鍵2執(zhí)行 void disp1() 請大佬們幫幫忙,萬分感謝! 單片機源程序如下: #incl ... |
xiaobendan001 發(fā)表于 2024-5-21 09:25 謝謝! |
cheney03 發(fā)表于 2024-5-21 08:58 謝謝!我弄一下試試。 |
LaoYuTou 發(fā)表于 2024-5-21 08:18 謝謝!剛開始弄,研究一下 |
if(按鍵1)disp0(); if(按鍵2)disp1(); |
先定義兩個按鍵參數(shù)sbit k1=P1^6; sbit k2=P1^7; 主函數(shù): if(k1==0) //檢測按鍵K1是否按下{delay(1000); //消除抖動 一般大約10ms if(k1==0) //再次判斷按鍵是否按下{disp0(); //模式1}while(!k1); //檢測按鍵1是否松開 if(k2==0) //檢測按鍵K2是否按下{delay(1000); //消除抖動 一般大約10ms if(k2==0)//再次判斷按鍵是否按下{disp1(); //模式2}while(!k2); //檢測按鍵2是否松開 |
定義按鍵端口 sbit key1 = P1^6; sbit key2 = P1^7; 在主循環(huán)中while(1)中改為 { if(!key1) {//可以考慮消抖,仿真中可不用。 disp0(); while(!key1);//等待按鍵釋放 } if(!key2) { disp1(); while(!key2);//等待按鍵釋放 } } 這種方法不是特別推薦,可以額外定義一邊量作為狀態(tài)初始為0,按鍵按下后狀態(tài)改變(1或2),根據(jù)狀態(tài)調(diào)用對應(yīng)函數(shù),調(diào)用完后變量清零。這相當(dāng)于只調(diào)用一次的任務(wù)。 |
Powered by 單片機教程網(wǎng)