/*實現流水燈雙向循環,并且在每次來回滾動后添加全亮或者全滅的閃爍效果 #include"reg52.h"
#include"intrins.h"
#define uint unsigned int
#define uchar unsigned char
inti,j;
voiddelay1ms(uint) ;
void delay1ms(uint) ;
voidmain()
{
while(1)
{
P2=0xfe;
delay1ms(60);
for(i=0;i<7;i++) //注意左移六次而不是7次和8次。i=0為第一個燈跳到第二個燈后,第二個燈亮。所以為了跳到第八個燈,i=6;即i<7
{
P2=_crol_(P2,1);
delay1ms(60);
}
for(j=0;j<7;j++)
{
P2=_cror_(P2,1);
delay1ms(60);
}
P2=0xff;
P2=0x00;
P2=0xfe; //為什么不能實現先全亮再全滅的效果?是因為一個口不能先后被多個數賦值嗎,那應該如何解決 }
}
voiddelay1ms(uint z)
{
uint x,y;
for(x=450;x>0;x--)
for(y=z;y>0;y--);
}
|