|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
void main(void)
{
u8 led;
u8 cnt;
u8 num;
TMOD=1;
TH0=0XB8; //20ms
TL0=0X00;
TR0=1; //定时器开启
led=0xfe;
num=8;
while(num>0)
{
if(1==TF0)
{
TF0=0;
TH0=0XB8;
TL0=0X00;
cnt++;
if(cnt>=50)
{
cnt=0;
P2=led;
led=led<<1; //左移
led=led|0x01;
num--;
if(num==1)
{
num--; //8个led移动完毕,跳出while循环
}
}
}
}
num=8;
while(num>0) //烧录到开发板,现象也只运行的上面一段while循环
{
if(1==TF0) //调试到这里就进不去if判断了,为什么?
{
TF0=0;
TH0=0XB8;
TL0=0X00;
cnt++;
if(cnt>=50) //1s移动一次
{
cnt=0;
P2=led;
led=led>>1; //右移
led=led|0xfe;
num--;
if(num==1)
{
num--;
}
}
}
}
}
|
|