<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一鍵多能(按鍵控制RGB漸變)

          一鍵多能(按鍵控制RGB漸變)

          作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏
          首先,RGB漸變,實(shí)際屬于,動(dòng)態(tài),循環(huán)過(guò)程,還是通過(guò)模擬方法,實(shí)現(xiàn),在延時(shí)中檢測(cè)按鍵函數(shù),再次發(fā)揮作用,讓我們?yōu)檫@個(gè)函數(shù)鼓掌10秒鐘
          void timer(uint t)
          {
          uint n;
          for(n=0;n
          {
          while(RC5==0)

          num=5;

          }
          }

          程序代碼如下:
          #include
          __CONFIG(0X1B4);
          #define uchar unsigned char
          #define uint unsigned int
          unsigned char a;
          unsigned char g,r,b,p,num;

          void delay(uint x)
          {
          uint c,d;
          for(c=x;c>0;c--)
          for(d=110;d>0;d--);

          }

          void timer(uint t)
          {
          uint n;
          for(n=0;n
          {
          while(RC5==0)

          num=5;

          }
          }
          void LED0_ON()
          {
          RC0=0;
          RC1=0;
          RC2=0;
          RC3=0;
          }

          void LED1_ON()
          {
          RC0=0;
          RC1=1;
          RC2=0;
          RC3=0;
          }

          void LED2_ON()
          {
          RC0=0;
          RC1=0;
          RC2=1;
          RC3=0;
          }

          void LED3_ON()
          {
          RC0=0;
          RC1=0;
          RC2=0;
          RC3=1;
          }

          void LED4_ON()//此漸變函數(shù)是無(wú)意中在網(wǎng)上發(fā)現(xiàn)的
          {
          RC3=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!=240)
          {
          g=200;
          r=0;
          b=0;
          }
          for(a=0;a<10;a++)
          {
          if(g!=0)
          {
          RC0=0;
          timer(g);
          RC0=1;
          }
          if(r!=0)
          {
          RC1=0;
          timer(r);
          RC1=1;
          }
          if(b!=0)
          {
          RC2=0;
          timer(b);
          RC2=1;
          }
          }
          }

          void LED5_ON()
          {
          RC0=1;
          RC1=1;
          RC2=1;
          RC3=1;
          }
          void init()
          {
          TRISA=0b11111111;
          TRISC=0b11100000;
          ANSEL=0X00;//把RC1,RC2,RC3設(shè)置為普通I/O 或者中斷輸入,模擬輸入時(shí)候ANSEL=0XFF
          CMCON=0X07;//比較器禁止
          RC4=0;
          RC3=0;
          RC0=0;
          RC1=0;
          RC2=0;
          g=240;r=0;b=0;
          }

          void scan()
          {

          while(!RC5)
          {
          delay(5);
          p++;
          }
          if(p>10)
          {
          p=0;
          num++;
          if(num>5)num=0;
          }
          void main()
          {
          init();
          while(1)
          {
          scan();

          switch(num)
          {
          case 0:LED0_ON();break;
          case 1:LED1_ON();break;
          case 2:LED2_ON();break;
          case 3:LED3_ON();break;
          case 4:LED4_ON();break;
          case 5:LED5_ON();break;
          }

          }
          }



          關(guān)鍵詞: 一鍵多能按鍵控制RGB漸

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();