51单片机的初了解(8)

C语言循环语句学习

1、while循环(条件初始化)

while(条件)

{

        //循环体,若干条代码

      //循环体中包含条件增量

}

2、for循环

for(循环初始化;循环条件;循环增量)

{

扫描二维码关注公众号,回复: 1551826 查看本文章

           //循环体

}

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();

             }

       }

}

猜你喜欢

转载自www.cnblogs.com/zzz2333/p/9165119.html
今日推荐