求一个花式流水灯程序!单片机!详见问题补充
发布网友
发布时间:2023-02-07 15:14
我来回答
共2个回答
热心网友
时间:2024-11-20 15:34
这个简单啊现编个吧
#include<at89x51.h>
unsigned char m,n,i=0;
unsigned int q=1,s=0;
main()
{TMOD=0x01;
EA=1;
TH0=0x3c;
TL0=0xb0;
ET0=1;
TR0=1;
while(1)
{m=(unsigned char)q;
s=(q&0xff00);
s>>=8;
n=(unsigned char)s;
P1=~m;
P2=~n;
}
}
timesx() interrupt 1
{EA=0;
TH0=0x3c;
TL0=0xb0;
i++;
if(i==10)
{i=0;
if(q<0x8000)q<<=1;
else q=1;
}
EA=1;
}
顺便说一下啊,低电平点亮。要高电平点亮把P1=~m;P2=~n;的~去掉
热心网友
时间:2024-11-20 15:34
我给你提个思路,就是向左或向右移动你可以设个变量a=0xfe在时间中断中;进来一次让a<<=1;a|=0x01;进来8次在让a=0xfe在主程序中让P0=a;P2=a就可以了,