里面包含了不同方式的循環移動,直接、用for、按位移
#include<reg51.h>
#include<intrins.h>
void delay()
{
unsigned int t;
for(t=30000;t>0;t--);
}
void main()
{
unsigned int i,t;
while(1)
{
P1=0x00;
delay() ;
P1=~0x00; delay() ;
P1=0xff;
delay() ;
P1=0xE7;
delay() ;
P1=0xdb;
delay();
P1=0xBD;
delay();
P1=0x7E;
delay();
P1=0x00;
delay();
P1=0xff;
delay(); //從中間到兩邊
for(i=0;i<4;i++)
{
P1=0x99;
delay();
delay() ;
P1=0x66;
delay() ;
delay() ; } //循環移動
P1=0xE7;
delay() ;
P1=0xdb;
delay();
P1=0xBD;
delay();
P1=0x7E;
delay();
for(i=0;i<4;i++)
{
P1=0xFE<<i; delay() ;
P1=0x66>>i; delay() ;
P1=0x99<<i;delay();
} //循環按位移
t=0x81;
for(i=0;i<4;i++)
{
delay() ;
delay() ;
P1=_crol_(t,3);
t=P1 ;
}
}
}
|