<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        七彩LED漸變程序源碼-51單片機

        作者:佚名   來源:本站原創   點擊數:  更新時間:2014年08月12日   【字體:
        /******************************* 
        程序名稱:七彩LED漸變程序 
        編寫者:ZH YU 
        MCU:51/2051 
        晶振:12MHz 
        /*********************************/ 
        #include <AT892051.H>
         
         
        sbit g1=P1^6;   //綠色 
        sbit r1=P1^7;   //紅 
        sbit b1=P1^5;   //蘭 
        sbit key1=P3^3;   
         
        /*********************************/ 
         unsigned char i;
         unsigned char mode;
        /*********************************/ 
        void delay(unsigned int k)
        {
        unsigned int i,j;
        for(i=0;i<k;i++){
        for(j=0;j<121;j++)
        {;}}
        }
        /*********************************/ 
        void interint1() interrupt 2 //using **
              //外部中斷1處理      
        {     
         EA=0;
         
         if(key1==0)
         {
         delay(20);
          key1=1;
         if(key1==0)
         {
         mode++;
         if(mode==4)mode=0;
         }
         while(key1==0);
         }
         
         key1=1;     
         EA=1;     
        }
        /*********************************/ 
        timer(unsigned char t) 
        {unsigned char b; 
           for(b=0;b<t;b++) 
           {; } 
         
        /*********************************/ 
        ledout(unsigned char g,r,b) 
        {unsigned char a; 
          for(a=0;a<10;a++) 
        {if(g!=0) 
            {g1=1;timer(g);g1=0;} 
          if(r!=0) 
            {r1=1;timer(r);r1=0;} 
          if(b!=0) 
            {b1=1;timer(b);b1=0;} 
          } 
        /*********************************/ 
         
        /*********************************/ 
        main() 
        {
         
        unsigned char g,r,b; 
        r1=0;
        g1=0;
        b1=0; 
        EA=1;
        EX1=1;
        delay(1);
        while(1)
        {
         
        if(mode==0)
        {
         {if(g!=0&&b==0) 
            {g--;r++;} 
           if(r!=0&&g==0) 
            {r--;b++;} 
           if(b!=0&&r==0) 
            {b--;g++;} 
           if(g+r+b!=100) 
            {g=100;r=0;b=0;} 
           ledout(g,r,b); 
           } 
           }
         
        if(mode==1)
        {
        i++;
        if(i==7)i=0;
        switch(i)
        {
        case 0 : r1=1;g1=0;b1=0;delay(100); r1=0;g1=0;b1=0; delay(100); break;
        case 1 : r1=0;g1=1;b1=0;delay(100);     r1=0;g1=0;b1=0; delay(100); break;
        case 2 : r1=0;g1=0;b1=1;delay(100); r1=0;g1=0;b1=0;  delay(100); break;
        case 3 : r1=1;g1=1;b1=0;delay(100); r1=0;g1=0;b1=0;  delay(100); break;
        case 4 : r1=1;g1=0;b1=1;delay(100); r1=0;g1=0;b1=0;  delay(100); break;
        case 5 : r1=0;g1=1;b1=1;delay(100); r1=0;g1=0;b1=0;  delay(100); break;
        case 6 : r1=1;g1=1;b1=1;delay(100); r1=0;g1=0;b1=0;  delay(100); break;
        default : break;
        }
        }
         
         
        if(mode==2)
        {
        i++;
        if(i==7)i=0;
        switch(i)
        {
        case 0 : r1=1;g1=0;b1=0;delay(300); r1=0;g1=0;b1=0; delay(300); break;
        case 1 : r1=0;g1=1;b1=0;delay(300);     r1=0;g1=0;b1=0; delay(300); break;
        case 2 : r1=0;g1=0;b1=1;delay(300); r1=0;g1=0;b1=0;  delay(300); break;
        case 3 : r1=1;g1=1;b1=0;delay(300); r1=0;g1=0;b1=0;  delay(300); break;
        case 4 : r1=1;g1=0;b1=1;delay(300); r1=0;g1=0;b1=0;  delay(300); break;
        case 5 : r1=0;g1=1;b1=1;delay(300); r1=0;g1=0;b1=0;  delay(300); break;
        case 6 : r1=1;g1=1;b1=1;delay(300); r1=0;g1=0;b1=0;  delay(300); break;
        default : break;
        }
        }
         
        if(mode==3)
        {
        i++;
        if(i==7)i=0;
        switch(i)
        {
        case 0 : r1=1;g1=0;b1=0;delay(300); break;
        case 1 : r1=0;g1=1;b1=0;delay(300); break;
        case 2 : r1=0;g1=0;b1=1;delay(300); break;
        case 3 : r1=1;g1=1;b1=0;delay(300); break;
        case 4 : r1=1;g1=0;b1=1;delay(300); break;
        case 5 : r1=0;g1=1;b1=1;delay(300); break;
        case 6 : r1=1;g1=1;b1=1;delay(300); break;
        default : break;
        }
        }
         
        }
        }
         
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮