找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2316|回復: 0
打印 上一主題 下一主題
收起左側

大神幫我看看單片機程序,按鍵不管用

[復制鏈接]
跳轉到指定樓層
樓主
ID:148337 發(fā)表于 2017-4-15 13:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void keyscan()
{

        uchar slnum,flag;
        if(K1==0)
          {
            delayms(5);
                  if(K1==0)  //確認功能鍵被按下
                  {
                                slnum++;    //功能選擇計數(shù)變量加1,
                                while(!K1);  //等待按鍵釋放,防抖動
                  }write_com(0x0f);

                                                                if(slnum==1)
                                                                {
                                                                                                        flag=1;     //標志位為1,表示有功能鍵被按下,此時不在執(zhí)行溫度檢測
                                                                        write_com(0x80+14);  //光標定位到MIN位置
                                                                        write_com(0x0f);          //光標開始閃速
                                                                }
                                                                if(slnum==2)
                                                                {
                                                                        write_com(0x80+4);    //光標定位到MAX位置
                                                                        write_com(0x0f);       //光標開始閃速
                                                                }
                                                                if(slnum==3)
                                                                {
                                                                        slnum=0;               //功能鍵第三下按下后,功能計數(shù)清零
                                                                        flag=0;                 //標志位恢復,執(zhí)行溫度轉化
                                                                        write_com(0x0c);        //關閉光標閃速
                                                                }
                                                        }
        if(slnum!=0)     //只有在功能鍵被按下后,K2,K3才有效
           {
                   if(K2==0)
                   {
                            delayms(1);
                            if(K2==0)
                             {
                          while(!K2);
                                                        if(slnum==1)
                                                        {
                                                                MIN++;
                                                                if(MIN==99) {MIN=0;}
                                                                write_com(0x80+14);    //MIN++顯示的位置
                                                                write_com(0x0f);
                                                                write_maxmin(14,MIN);
                                                                write_com(0x80+14);
                                                        }
                                                        if(slnum==2)
                                                        {
                                                                MAX++;
                                                                if(MAX==99) {MAX=0;}
                                                                write_com(0x80+4);   
                                                                write_com(0x0f);
                                                                write_maxmin(4,MAX);
                                                                write_com(0x80+4);
                                                        }
                             }
        }
                      if(K3==0)
                      delayms(1);
                      if(K3==0)
                      {
                               while(!K3);
                               if(slnum==1)
                                      {
                                                    MIN--;
                                                    if(MIN==-1) {MIN=99;}
                                              write_com(0x80+14);   
                                              write_com(0x0f);
                                                    write_maxmin(14,MIN);
                                                    write_com(0x80+14);
                                       }
                                       if(slnum==2)
                                        {
                                                                        MAX--;
                                                                        if(MAX==-1){MAX=99;}
                                                                        write_com(0x80+4);   
                                                                        write_com(0x0f);
                                                                        write_maxmin(4,MAX);
                                                                        write_com(0x80+4);
                                         }
                             }
  }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

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

快速回復 返回頂部 返回列表