欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 花樣流水燈,拉幕花樣+左移位+右移位+循環左移+循環右移 [打印本頁]

作者: lids    時間: 2016-9-28 11:53
標題: 花樣流水燈,拉幕花樣+左移位+右移位+循環左移+循環右移
//花樣流水燈,拉幕花樣+左移位+右移位+循環左移+循環右移


#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char

uchar y,aa;

void delay(uint i)                         //延時子函數
{
        uint m;
        uchar n;
        for(m=i;m>0;m--)
        for(n=110;n>0;n--);
}


void main()
{       
     while(1)
       {
            uchar k;
                for(k=0;k<2;k++)
                {
                P1=0xff;
            delay(1000);                 //拉幕花樣
                P1=0x7e;
            delay(1000);
            P1=0x3c;
            delay(1000);
            P1=0x18;
            delay(1000);
            P1=0x00;
            delay(1000);
            P1=0x00;
            delay(1000);
                P1=0x18;
            delay(1000);
            P1=0x3c;
            delay(1000);
            P1=0x7e;
            delay(1000);
            P1=0xff;
            delay(1000);
               
                P1=0;                                   //燈閃爍1次
            delay(1000);
                P1=0xff;
            delay(1000);
                   }

               
                         
                   y=8;                                           // y=8時,不需要里面的for循環就可以,流水燈為1次,改變y的值可以改變亮燈的位數。
                 while(y--)                                   //這里如果不加while語句,燈會亂跳幾下后,就去執行后面的程序了
             {                                                   //如果需要多次流水燈,就需要for循環語句,改變K的值就可以改變次數
                     uchar k;
                     for(k=0;k<2;k++)          //流水循環次數
                         {
                         P1 = P1 << 1;                  //按位左移
                     delay(1000);                  //延時
                     
                         if(P1 == 0)              //如果P1等于零,
                             {                                  /*則跳到下一步,P1全送高電平*/
                              P1 = 0xff;
                              delay(1000);
                             }
                         
                           }
                    }
          
                 
                 y=8;
                 while(y--)
             {
                     uchar k;
                     for(k=0;k<2;k++)          //流水循環次數
                         {
                         P1 = P1 >> 1;                  //按位右移
                     delay(1000);                  //延時
                     
                         if(P1 == 0)              //如果P1等于零,
                             {                                  /*則跳到下一步,P1全送高電平*/
                              P1 = 0xff;
                              delay(1000);
                              }
                         
                          }
                    }
                          
                          
                           aa=0xfe;
                           y=8;
                           while(y--)
                           {
                                   P1 = aa;
                                delay(1000);
                                aa=_crol_(aa,1);        //循環左移
                                }
         
                           
                           aa=0x7f;
                           y=8;
                           while(y--)
                           {
                                   P1 = aa;
                                delay(1000);
                                aa=_cror_(aa,1);          //循環右移
                                }
         }
}






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1