我是初学者,这是我编得代码,但现象是所有的led灯都亮了,百思不得其解,哪位大佬帮帮忙!
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
#define led P2
void TimeroInit()
{
TMOD|=0x01;
TH0=0xfc;
TL0=0x18;
ET0=1;
EA=1;
TR0=1;
}
void main()
{
TimeroInit();
while(1);
led=0x00;
}
void Time0() interrupt 1
{
static u16 i;
TH0=0xfc;
TL0=0x18;
i++;
if(i=1000)
{
i=0;
{
u8 i;
led=0x01;
while(1)
{
for(i=0;i<7;i++)
{
led=_crol_(led,1);
}
for(i=0;i<7;i++)
{
led=_cror_(led,1);
}
}
}
}
} |