#include
#define uchar unsigned char
#define uint unsigned int
unsigned int t=0;
void main()
{
EA=1;
ET0=1;
TMOD=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
P1=0xfe;
while(1)
{
if(t==10)
{
P1<<=1; //左移一位 该语句等效于 P1=P1<<1
P1|=0x01; //最后一位补1,该语句等效于 P1=P1|0x01 符号"|"表示"或"
if(P1==0x7f) //检测是否移到最左端?"=="表示检测符号2端的值是否相等
{
P1=0xfe; //重新赋值
t=0;
}
}
}
}
void time()interrupt 1
{
t++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
程序拷错了,下面的是对的:
#include
unsigned int k,t=0;
void lichao()interrupt 1
{
t++;
TH0=0x3c;
TL0=0xb0;
}
void main()
{
TMOD=0x01;
EA=1;
ET0=1;
TH0=0x3c;
TL0=0xb0;
TR0=1;
P1=0xfe;
while(1)
{
switch(t)
{
case 10:P1<<=1;P1|=0x01;
if(P1==0x7f)
{
P1=0xfe;
}
t=0;break;
}
}
}