用定时器控制走马灯,程序如下。
#include<reg51.h>
unsigned char A; //学到了,c51的变量定义应该在开头
void main()
{
TMOD=0x01; //设定定时器的模式
TH0=(65536-46083)/256; //给定时器的高8位赋初值
TL0=(65536-46083)%256; //给定时器的低8位赋初值
TR0=1;
A=0xfe;
P2=A;
while(1)
{
while(TF0==0)
{
;
}
TF0=0;
A<<=1;
if(A!=0xfe)
A|=1;
P2=A;
TH0=(65536-46083)/256;
TL0=(65536-46083)%256;
}
}
我搞不懂,
if(A!=0xfe)
A|=1;
这一步是怎么起作用的,因为我删掉它的话,烧录起来,灯亮起来就不会灭掉了
#include<reg51.h>
unsigned char A; //学到了,c51的变量定义应该在开头
void main()
{
TMOD=0x01; //设定定时器的模式
TH0=(65536-46083)/256; //给定时器的高8位赋初值
TL0=(65536-46083)%256; //给定时器的低8位赋初值
TR0=1;
A=0xfe;
P2=A;
while(1)
{
while(TF0==0)
{
;
}
TF0=0;
A<<=1;
if(A!=0xfe)
A|=1;
P2=A;
TH0=(65536-46083)/256;
TL0=(65536-46083)%256;
}
}
我搞不懂,
if(A!=0xfe)
A|=1;
这一步是怎么起作用的,因为我删掉它的话,烧录起来,灯亮起来就不会灭掉了