找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)定時(shí)器內(nèi)的按鍵總是處于按下狀態(tài)?

[復(fù)制鏈接]
ID:705846 發(fā)表于 2024-7-9 15:31 | 顯示全部樓層 |閱讀模式
單片機(jī)定時(shí)器內(nèi)的按鍵總是處于按下狀態(tài)。實(shí)際并沒有按下。要實(shí)現(xiàn)松開按鈕有效該怎么實(shí)現(xiàn)。

不想在while(state=1),while(state=2),while(state=3)內(nèi)增加按鍵跳出按鈕,想通過定時(shí)器掃描按鍵狀態(tài),不成功,總是檢測(cè)到K2已按下,請(qǐng)幫忙看看。


定時(shí)器內(nèi)代碼
                static unsigned char presscount=0; //K2按鍵掃描
               
                if(state==1||state==2||state==3){
                        if(K2==0){
                                presscount++;
                                if(presscount>100){
                                        if(K2==0){
                                                        
                                                        state=0;//返回        
                                                        presscount=0;
                                        }        else{
                                                presscount=0;
                                        }                        
                                }                        
                        }               
                }

回復(fù)

使用道具 舉報(bào)

ID:1109793 發(fā)表于 2024-7-9 18:40 | 顯示全部樓層
k2==0是按下狀態(tài)?
回復(fù)

使用道具 舉報(bào)

ID:1089588 發(fā)表于 2024-7-9 22:28 | 顯示全部樓層
k2不按會(huì)==1嗎
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2024-7-9 22:35 | 顯示全部樓層
  1. static unsigned char presscount=0; //K2按鍵掃描

  2. if(state==1||state==2||state==3)
  3. {
  4.         if(K2==0)
  5.         {
  6.                 presscount++;
  7.                 if(presscount>100)
  8.                 {
  9.                         state=0;//返回
  10.                         presscount=0;
  11.                 }
  12.         }
  13.         else
  14.         {
  15.                 presscount=0;
  16.         }
  17. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:1125252 發(fā)表于 2024-7-10 10:15 | 顯示全部樓層
static unsigned char presscount=0; //K2按鍵掃描
if(state==1||state==2||state==3)
{
        if(K2==0)
        {        
        presscount++;
        if(presscount>100)
      {
           while(K2)
           {
                                                        
                state=0;//返回        
                 presscount=0;
          }        
                  
     }                        
      }                                
}
回復(fù)

使用道具 舉報(bào)

ID:705846 發(fā)表于 2024-7-22 22:01 | 顯示全部樓層
1481509156 發(fā)表于 2024-7-10 10:15
static unsigned char presscount=0; //K2按鍵掃描
if(state==1||state==2||state==3)
{

完全沒問題,完美解決。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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