流水灯c语言程序tm,51单片机用定时器实现流水灯左右移动
目录
流水灯c语言程序tm,51单片机用定时器实现流水灯左右移动?
满意答案
haozi8288
2017.01.10
采纳率:49% 等级:9
已帮助:1365人
#include
unsigned char a=0xfe;
bit flag=0;
bit k=0;
unsigned char n=0;
void main()
{
EA=1;
ET1=1;
TR1=1;
TH1=0x3c;
TL1=0xb0;
TMOD=0x10;
while(1)
{
if(flag==1)
{
P0=a;
flag=0;
if (k==0)
{
a«=1;
a|=1;
if (a==0xff)
{
a=0xfe;
k=1;
}
}
else
{
a»=1;
a|=0x80;
if (a==0)
{
a=0xfe;
k=0;
}
}
}
}
}
void tm()interrupt 3
{
n++;
TH1=0x3c;
TL1=0xb0;
if(n==20)
{
flag=1;
n=0;
}
}追问: 不行啊!还是左移,不能右移?
追答:#include
unsigned char a=0xfe;
bit flag=0;
bit k=0;
unsigned char n=0;
void main()
{
EA=1;
ET1=1;
TR1=1;
TH1=0x3c;
TL1=0xb0;
TMOD=0x10;
while(1)
{
if(flag==1)
{
P0=a;
flag=0;
if (k==0)
{
a«=1;
a|=1;
if (a==0xff)
{
a=0xfe;
k=1;
}
}
else
{
a»=1;
a|=0x80;
if (a==0xff)//这个地方搞错了,不好意思。
{
a=0xfe;
k=0;
}
}
}
}
}
void tm()interrupt 3
{
n++;
TH1=0x3c;
TL1=0xb0;
if(n==20)
{
flag=1;
n=0;
}
}
10分享举报