来人帮我看看问题在哪
时间:10-02
整理:3721RD
点击:
while(1)
{
if(TF0 == 1 && flag ==1)
{
TF0 = 0;
TH0 = 0x4c;
TL0 = 0x00;
n++;
if(n >= 20)
{
n = 0;
P0 = ~(0x01<<i);
i++;
if(i>=7)
{
flag = 0;
}
}
}
if(TF0 == 1 && flag == 0)
{
TF0 = 0;
i = 0;
TH0 = 0x4c;
TL0 = 0x00;
n++;
if(n >= 20)
{
n = 0;
P0 = ~(0x80>>i);
i++;
if(i>=7)
{
flag = 1;
i = 0;
}
}
}
这是一个流水灯的小程序 编译运行OK 但是小灯左移第一次走到最后一个就常亮了 不进入到下个大if语句右移了
这是什么情况?
{
if(TF0 == 1 && flag ==1)
{
TF0 = 0;
TH0 = 0x4c;
TL0 = 0x00;
n++;
if(n >= 20)
{
n = 0;
P0 = ~(0x01<<i);
i++;
if(i>=7)
{
flag = 0;
}
}
}
if(TF0 == 1 && flag == 0)
{
TF0 = 0;
i = 0;
TH0 = 0x4c;
TL0 = 0x00;
n++;
if(n >= 20)
{
n = 0;
P0 = ~(0x80>>i);
i++;
if(i>=7)
{
flag = 1;
i = 0;
}
}
}
这是一个流水灯的小程序 编译运行OK 但是小灯左移第一次走到最后一个就常亮了 不进入到下个大if语句右移了
这是什么情况?
好像少2个括号
第一个if已经把TF0清零了
你的TF1关掉没有打开
TF0关闭后一直没有打开 你要在下面的软件中打开
TF=0执行本语句,TF=1才能继续。
哟西