写了个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条回答
我的电子发烧友
1楼-- · 2019-07-16 22:36
xunfeng0862 发表于 2014-7-31 08:20
a没有初始化
void init()里面加一条a = 0;

好的,这些细节我会注意的!等会试试……谢谢啊
我的电子发烧友
2楼-- · 2019-07-16 22:49
zy2014 发表于 2014-7-31 11:01
同意二楼的方法 把if(a==20)
改为 if(a>=20)

是啊,我也同意……
我的电子发烧友
3楼-- · 2019-07-17 00:05
 精彩回答 2  元偷偷看……
dengruoxian
4楼-- · 2019-07-17 03:20
while里加个temp=p1,然后p1=-crol(temp)
星无泪
5楼-- · 2019-07-17 04:45
你这程序在我板子上运行很正常
阿信509
6楼-- · 2019-07-17 05:20
你的程序只有在a=20的时候才进去执行了一次,而且进去后a清0 了,P1也就只有输出0 了

一周热门 更多>