写了个LED循环灯,程序不执行!求大神

2019-07-15 18:57发布

看不出什么毛病啊,程序也很简单,怎么就是不行啊!已经验证板子没有问题。

#include<reg52.h>
#include<intrins.h>
void init();
int a;
void main()
{
   init();
   P1=0xfe;
         while(1)
         {
                 if(a==20)
                 {
                 a=0;
               
                 P1=_crol_(P1,1);
                 }
         }
}
void init()
{
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
}

void timer0() interrupt 1
{
        a++;
        TH0=(65535-50000)/256;
        TL0=(65535-50000)%256;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
我的电子发烧友
2019-07-17 21:08
学中 发表于 2014-8-3 20:21
你的程序我试了 可以  下面是我在改的其实也一样 你看一下 #include #include int a,temp; void init() {          ...

  P1=temp;temp=_crol_(temp,1); 这样写就正常运行了,但是直接写上P1=_crol_(P1,1)的话,亮的灯就不熄灭了,只是一个一个的点亮而已!这是为什么啊P1的值应该已经被替换了啊,为什么不执行啊,很迷茫

一周热门 更多>