日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

C程序出錯(cuò),請(qǐng)高人查找BUG.

搞了半年的電源,把單片機(jī)都給忘了.今天試著寫一個(gè)程序,竟然沒(méi)有實(shí)現(xiàn)我本來(lái)的效果,折騰了一下午,都不可以.

按一下按鍵,跑馬燈就開(kāi)始跑動(dòng),按兩下就熄滅,再按再亮,再按再滅,如此循環(huán).

但是我現(xiàn)在的效果是按一下以后,跑馬燈一直在工作,按第二下三下四下……都不起作用了,與我寫程序的初衷不合,請(qǐng)高人幫忙.

程序如下:

#include "reg51.h"
#include
sbit A=P3^5;

void delayms(unsigned char time)         // 延時(shí)子程序
{                        
    unsigned char i;    
    while(time--)
    {
        for(i = 0; i < 120; i++);
    }
}

main()
{
  unsigned int i;
  i=0;
  if(!A)
    {
  unsigned int j;
  for(j=0;j<1000;j++)  //延時(shí)去抖
      {
             if(!A)   //延時(shí)以后按鍵依然按下.
i=i++;   //變量加1.
  }
  
    }
   while(i%2)           //奇數(shù)次就開(kāi)始運(yùn)行,偶數(shù)次就跳出去.
     {
       unsigned char LED;
       LED = 0xfe;
       P0 = LED;
    
       while(1)
            {
              delayms(1000);            
              LED = _cror_(LED,1);        //循環(huán)右移1位,點(diǎn)亮下一個(gè)LED
              P0 = LED;
}
     }  

}
全部回復(fù)(1)
正序查看
倒序查看
2007-10-13 23:36
while(1)
            {
              delayms(1000);            
              LED = _cror_(LED,1);        //循環(huán)右移1位,點(diǎn)亮下一個(gè)LED
              P0 = LED;
}
/*你的程序會(huì)一直執(zhí)行這個(gè)循環(huán),不會(huì)去判斷按鍵的狀態(tài)*/
0
回復(fù)
發(fā)