1. 程式人生 > >51單片機的初了解(8)

51單片機的初了解(8)

條件 操作 循環 變量 變化 sign 語句 HA 增量

C語言循環語句學習

1、while循環(條件初始化)

while(條件)

{

//循環體,若幹條代碼

   //循環體中包含條件增量

}

2、for循環

for(循環初始化;循環條件;循環增量)

{

//循環體

}

for(i=100;i>0;i--)

{

for(j=100;j>0;j--)

   {

      ;

   }

}

3、do while循環

流水燈效果實現

流水燈本質:不同的亮的狀態相互間隔一定時間。

0x80(10000000)

0x40(01000000)

0x20(00100000)

0x10(00010000)

0x08(00001000)

0x04(00000100)

0x02(00000010)

0x01(00000001)

延時時間越長流水燈流的越慢,越短就流水越快;

8個狀態執行一次,完成後從頭開始,即循環。

編程實現流水燈

while(1) //1永遠為真,死循環

{

}

缺陷:功能實現,寫的太笨

改進思路:通過變量運算來得到合適的端口輸出值

1)定義變量unsigned char a,初值等於0x80(10000000)

2)8個狀態,即a依次右移0-7位

C語言移位運算

C語言移位運算符,>>可以右移,<<可以左移。(無符號數移位,空出的位用0補)

例:12345678

>>1 01234567 <<1 23456780

>>2 00123456 <<2 34567800

void main(void)

{

unsigned char i=0;

   unsigned char d=0x80;

   while(1)

   {

for(i=0;i<0;i++)

      {

P0=(d>>i); //d在正在操作中一直不變

         delay();

}

}

}

void main(void)

{

unsigned char i=0;

   while(1)

   {

unsigned char d=0x80;

for(i=0;i<8;i++)

      {

         d=d>>1; //在每次循環時d會變化

P0=d;

         delay();

}

}

}

51單片機的初了解(8)