写了个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条回答
xunfeng0862
1楼-- · 2019-07-15 19:48
a没有初始化
void init()里面加一条a = 0;

void init();
int a;

这两条最好换下位置
int a;
void init();


if(a==20)
                 {
                 a=0;
               
                 P1=_crol_(P1,1);
                 }
改为if(a >= 20)
Addan
2楼-- · 2019-07-16 01:18
你没有定义接口吧!?就是sbit L1=p1^0,sbit L2=p1^1,sbit L3=p1^2.......
伏尔加的鱼
3楼-- · 2019-07-16 06:54
能把你的计算都人工算好了再用来复制吗
zy2014
4楼-- · 2019-07-16 12:20
 精彩回答 2  元偷偷看……
我的电子发烧友
5楼-- · 2019-07-16 17:24
伏尔加的鱼 发表于 2014-7-31 08:48
能把你的计算都人工算好了再用来复制吗

没明白你什么意思!
我的电子发烧友
6楼-- · 2019-07-16 20:14
Addan 发表于 2014-7-31 08:20
你没有定义接口吧!?就是sbit L1=p1^0,sbit L2=p1^1,sbit L3=p1^2.......

可以直接对八位com口直接操作的,我上面有赋值给P1口……

一周热门 更多>