欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)代碼 為什么按第三次K1的時(shí)候沒(méi)有反應(yīng)? [打印本頁(yè)]

作者: umasouye    時(shí)間: 2023-4-22 12:06
標(biāo)題: 單片機(jī)代碼 為什么按第三次K1的時(shí)候沒(méi)有反應(yīng)?
大哥們,幫看下這段代碼,為什么按第三次K1的時(shí)候沒(méi)有反應(yīng),明明和前兩次是一樣的代碼,是按鍵這里的問(wèn)題嗎
void key_baihei_scan()
{
        if(!K1)  //如果檢測(cè)到低電平,說(shuō)明按鍵按下
    {
            Delayms(10); //延時(shí)去抖,一般10-20ms
        if(!K1)     //再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出
            {
                while(!K1)//如果確認(rèn)按下按鍵等待按鍵釋放,沒(méi)有則退出
                    {
                                    
                            Delayus(50);        
                                      
                          }
                        moshi = moshi+1;
                        if(moshi == 1) //靜態(tài)動(dòng)畫(huà)模式
                        {        
                                shuzhi=shuzhi+1;                     
                        }
                        if(moshi == 2) //靜態(tài)動(dòng)畫(huà)模式
                        {        
                                shuzhi=shuzhi+1;                     
                        }
                        if(moshi == 3) //靜態(tài)動(dòng)畫(huà)模式
                        {        
                                shuzhi=shuzhi+3;                     
                        }

                        
                }
        }
}
void shuchu()
{
                if(K1)
                {        
                        if(shuzhi==1)
                        {
                        for(layer=0;layer<8;layer++)
                        {
                        lie(~shuzua[layer*8+1],~shuzua[layer*8+3],~shuzua[layer*8+5],~shuzua[layer*8+7]);
                        lie(~shuzua[layer*8+0],~shuzua[layer*8+2],~shuzua[layer*8+4],~shuzua[layer*8+6]);

                        RCLK=0;                        //模擬鎖存信號(hào)端口      
                        nop_();
                        RCLK=1;        
                        hansao(7-layer);                     
                        Delayus(10);                        
                 }
                }
                        if(shuzhi==2)
                        {
                        for(layer=0;layer<8;layer++)
                        {
                        lie(~shuzub[layer*8+1],~shuzub[layer*8+3],~shuzub[layer*8+5],~shuzub[layer*8+7]);
                        lie(~shuzub[layer*8+0],~shuzub[layer*8+2],~shuzub[layer*8+4],~shuzub[layer*8+6]);

                        RCLK=0;                        //模擬鎖存信號(hào)端口      
                        nop_();
                        RCLK=1;        
                        hansao(7-layer);                     
                        Delayus(10);                        
                 }
                }
                        if(shuzhi==3)
                        {
                        for(layer=0;layer<8;layer++)
                        {
                        lie(~shuzuc[layer*8+1],~shuzuc[layer*8+3],~shuzuc[layer*8+5],~shuzuc[layer*8+7]);
                        lie(~shuzuc[layer*8+0],~shuzuc[layer*8+2],~shuzuc[layer*8+4],~shuzuc[layer*8+6]);

                        RCLK=0;                        //模擬鎖存信號(hào)端口      
                        nop_();
                        RCLK=1;        
                        hansao(7-layer);                     
                        Delayus(10);                        
                 }
                }
               
                }
}        
        
void main()
{
        while(1)
        {key_baihei_scan();
                shuchu();

        }
}



作者: zhuls    時(shí)間: 2023-4-22 15:23
moshi 的賦值范圍是多少?0-3嗎?那就moshi ++; moshi =moshi %4;
另外moshi =0是什么情況?
作者: wulin    時(shí)間: 2023-4-22 16:09
void key_baihei_scan()
{
        if(!K1)  //如果檢測(cè)到低電平,說(shuō)明按鍵按下
        {
                Delayms(10); //延時(shí)去抖,一般10-20ms
                if(!K1)     //再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出
                {
                        while(!K1);//如果確認(rèn)按下按鍵等待按鍵釋放,沒(méi)有則退出
                        moshi++;
                        if(moshi>3)
                        {        
                                shuzhi=0;
                        }
                        if(moshi == 0)
                        {        
                                //
                        }
                        if(moshi == 1) //靜態(tài)動(dòng)畫(huà)模式
                        {        
                                shuzhi=shuzhi+1;
                        }
                        if(moshi == 2) //靜態(tài)動(dòng)畫(huà)模式
                        {        
                                shuzhi=shuzhi+1;                     
                        }
                        if(moshi == 3) //靜態(tài)動(dòng)畫(huà)模式
                        {        
                                shuzhi=shuzhi+3;                     
                        }
                }
        }
}
作者: fushunwang    時(shí)間: 2023-4-22 18:04
程序需要在按下三次按鍵后對(duì)moshi初始化,否則三次按鍵后這個(gè)程序沒(méi)有反應(yīng)。                     if(moshi == 2) //靜態(tài)動(dòng)畫(huà)模式                         {                                         shuzhi=shuzhi+2;                                              }                         if(moshi == 3) //靜態(tài)動(dòng)畫(huà)模式                         {                                         shuzhi=shuzhi+3;                                              }其每次響應(yīng)按鍵后需要加shuzhi==0;或改為         if(moshi == 2) //靜態(tài)動(dòng)畫(huà)模式                         {                                         shuzhi=shuzhi+2;                                              }                         if(moshi == 3) //靜態(tài)動(dòng)畫(huà)模式                         {                                         shuzhi=shuzhi+1;                                              },三次按鍵響應(yīng)后初始化shuzhi==0




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1