找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2187|回復(fù): 6
收起左側(cè)

單片機按鍵程序第一次按下確認,第二次按下切換菜單 每次進來都如此 如何實現(xiàn)

[復(fù)制鏈接]
ID:686513 發(fā)表于 2022-4-8 10:50 | 顯示全部樓層 |閱讀模式
單片機源程序如下:
void key_Service()
{         
        switch(key_scan(170))
                {                        
                        case 1:
                                  switch(wnd)
                                  {                                                
                                               
                                        case 0:T1Cnt=epxs_short; parm1 = Read_EEPROM_u16(0x0400);  if(parm1<1000) parm1 = parm1+5; else {parm1++;} if(parm1<30) parm1=30;if (parm1>1050) parm1=1050; Save_EEPROM_u16(0x0400, parm1); break;//psi:0~150,0~100加5,到100退位顯示100~150加1
                                        case 1:T1Cnt=epxs_short; parm2 = Read_EEPROM_u16(0x0500);  parm2++;         if(parm2<20) parm2=20;if(parm2>103)  parm2=103;   Save_EEPROM_u16(0x0500, parm2); break;        
                                        case 2:T1Cnt=epxs_short; parm3 = Read_EEPROM_u16(0x0600);  parm3 = parm3+5; if(parm3<20) parm3=20;if(parm3>995)  parm3=995;   Save_EEPROM_u16(0x0600, parm3); break;         
                                        case 3:T1Cnt=epxs_short; parm4 = Read_EEPROM_u16(0x0700);  parm4++;         if(parm4<20) parm4=20;if(parm4>103)  parm4=103;   Save_EEPROM_u16(0x0700, parm4); break;                                                                    
                                        }                                                
                                        FMQCnt = FMQ_short;        //按鍵聲音觸發(fā),滴一聲就停。                                       
                                        break;
                                
//case 2:第一次按下進來后執(zhí)行T1Cnt=0; ,第二次按下進來后執(zhí)行wnd++;if(wnd>3) wnd=0;如此循環(huán),如何實現(xiàn)?                                        
      case 2:                                                                                       
                                        T1Cnt=0;
                                        wnd++;if(wnd>3) wnd=0;

                                                FMQCnt = FMQ_short;        //按鍵聲音觸發(fā),滴一聲就停。     
                                                break;        

回復(fù)

使用道具 舉報

ID:752974 發(fā)表于 2022-4-8 12:34 | 顯示全部樓層
按鍵計數(shù),1做事情1,2做事情2。
回復(fù)

使用道具 舉報

ID:121859 發(fā)表于 2022-4-8 12:37 | 顯示全部樓層
如果就一個按鍵的話,那么可以設(shè)置一個變量,來記錄按鍵次數(shù),奇數(shù)次執(zhí)行第一個,偶數(shù)次執(zhí)行第二個。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2022-4-9 09:18 | 顯示全部樓層
加一個標(biāo)記位B_X即可,每按一次鍵,將B_X求反。
B_X=0、1分別做你想做的事。
回復(fù)

使用道具 舉報

ID:686513 發(fā)表于 2022-4-12 07:47 | 顯示全部樓層
munuc_w 發(fā)表于 2022-4-8 12:34
按鍵計數(shù),1做事情1,2做事情2。

明白了,多謝!
回復(fù)

使用道具 舉報

ID:686513 發(fā)表于 2022-4-12 07:48 | 顯示全部樓層
zhxiufan 發(fā)表于 2022-4-8 12:37
如果就一個按鍵的話,那么可以設(shè)置一個變量,來記錄按鍵次數(shù),奇數(shù)次執(zhí)行第一個,偶數(shù)次執(zhí)行第二個。

謝 謝 ,方法不錯!
回復(fù)

使用道具 舉報

ID:686513 發(fā)表于 2022-4-12 07:49 | 顯示全部樓層
yzwzfyz 發(fā)表于 2022-4-9 09:18
加一個標(biāo)記位B_X即可,每按一次鍵,將B_X求反。
B_X=0、1分別做你想做的事。

多謝 ,這個求反很適合按兩次,方法很不錯!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表