『壹』 51單片機1按鍵切換3種不同狀態的c程序
主程序大致是這樣的
flag=0;//記錄按鍵次數
While(1)
{
if(key==0){delayms(20);if(key==0)flag++;}//按鍵檢測
if(flag==3)flag=0;
if(flag==0){正向流水}
else if(flag==1){反向流水}
else {間隔流水}
}存在問題,由於流水燈執行時間較長,因此對按鍵響應緩慢,可以在流水燈之間加入按鍵檢測語句,當檢測到按鍵按下時,用break語句退出當前循環
『貳』 單片機中怎樣定義一個按鍵控制轉換三個模式
參考如下: 假設按鍵按下為低電平; if(key1==0) { while(key1==0);//彈起後執行 { 按鍵1需要執行的功能; } } if(key2==0) { while(key2==0);//彈起後執行 { 按鍵2需要執行的功能; } }
『叄』 單片機如何實現一個按鍵切換兩個程序
#include<reg51.h>
sbitkey=P1^0;
bitflag=0;
voidA(void)
{
.....
}
voidB(void)
{
......
}
main()
{
while(1)
{
if(key==0)
{
while(key==0);
flag=~flag;
}
if(flag)B();
elseA();
}
}
『肆』 單片機 C語言 一鍵切換模式如何實現謝謝
這個簡單啊:
unsigned char dataCount = 0;
void Key()
{
if (你的按鍵 == 0)
{
if (dataCout++ >= 2) dataCount = 0;
}
switch(dataCount)
{
case 0: 執行A模式;break
case 1:
case 2:
default:
break;
}
}
『伍』 avr單片機 一個按鍵切換LED顯示模式,如何跳出循環!
1.申明變數int a=0要放在最前面
2.到了while(1)中一般就跳不出來了,但有兩種方法可以出來:
2.1中斷的方式,你將你的按鍵掃描放在中斷里,定個1us的定時就可以了
2.2在while(1)裡面加入break;就可以跳出循環
不知道你要實現什麼具體功能,我也沒法給你改,有問題可以問我,mail:[email protected]
『陸』 求解:單片機一個按鍵切換幾個模式,實現不了
中斷裡面的 i 判斷不要寫錯 i ==,寫錯i>= 試試 還有就是中斷中你對 j 的判斷不要用同 i 相與(&&)的關系,這樣沒執行一句 if 都要判斷一下 j,你可以先判斷 j,然後再在在 j 的目錄下判斷 i ,就是
if( j == 0 )
{
if((i >= 0)&&(i <10))
{
更改LED狀態
}
esle if((i >= 10)&&(i<20))
{
更改LED狀態
}
else
{
更改LED狀態
if(i >=30)
{
更改 i 的只
}
}
}
還有就是中斷程序不要寫的太大,要麼進入中斷後就先把中斷允許關掉,結束後再打開,防止這個中還沒結束,又來了一個中斷,陷入中斷程序跳出或等待的情況
『柒』 單片機用一個按鍵隨意切換控制三種模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar time,sec,keyval;
sbit D1=P3^3;
sbit D2=P3^4;
sbit KEY=P3^5;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
if(time>=20)sec++;
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
keyval=0;
while(1)
{
switch(keyval)
{
case 0: TR0=1;sec=0;
if(sec<30){D1=0;D2=1;}
else {D1=1;D2=1;}
break;
case 1: TR0=1;sec=0;
if(sec<30){D1=1;D2=0;}
else {D1=1;D2=1;}
break;
case 2: TR0=1;sec=0;
if(sec<30){D1=0;D2=1;}
if(sec>=30 && sec<60){D1=1;D2=0;}
else {D1=1;D2=1;}
break;
default:break;
}
}
}
『捌』 單片機用一個按鍵隨意切換控制三種狀態
按鍵程序你會吧 判斷你說的要用定時器 剛按下時啟動定時器 定時1秒 同時記住按鍵次數松開加一次 一秒後檢測如果次數為1 那麼是狀態1 如果次數為3 那麼是狀態3 如果按鍵仍然是按下的 那麼再啟動一次定時器 定時一秒 一秒後自動切換到狀態2
『玖』 如何通過單片機配置進入或切換到某種工作模式
首先,要看你用的單片機有沒有模式選擇,沒有那我也沒辦法!有的話,看一下資料,看它是什麼觸發方式的!然後在編寫程序設置觸發腳!然後寫一個觸發子程序(通常為WAKEUP:......)看你的資料而定!如果還不明白,可以把資料發到我的郵箱:[email protected] 我看看能不能幫你一下!
『拾』 單片機中如何用按鍵進行模式切換
參考如下:
假設按鍵按下為低電平;
if(key1==0)
{
while(key1==0);//彈起後執行
{
按鍵1需要執行的功能;
}
}
if(key2==0)
{
while(key2==0);//彈起後執行
{
按鍵2需要執行的功能;
}
}