久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

LED彩色護欄管程序---1個IO口搞定!

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年04月30日   【字體:
/*************************************
MCU:STC12C56      晶振:12MHZ
*************************************/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int

#define RGB_count  20
#define RGB_speed  30

sbit DIN=P1^2;
/*************0碼*******************/
void DIN_bit_0()
{
 uchar i;
 DIN=1;
 for(i=1;i>0;i--);    //低速模式   1+3+4*3+1
 _nop_();
 DIN=0;        //1+3+4*7
 for(i=3;i>0;i--); 
}
/*************1碼*******************/
void DIN_bit_1()
{
 uchar i;
 DIN=1;       //1+3+4*7+1
 for(i=3;i>0;i--);
 _nop_();
 DIN=0;
 for(i=1;i>0;i--);   //1+3+4*3
  
}
/*************reset碼*******************/
void reset()
{
 uint i;
 DIN=0;
 for(i=250;i>0;i--);   
}
/*************數據傳輸******************/
void send_dat(uchar dat)  //高位先傳
{
    uchar i;
    for(i=8;i>0;i--)
    {
        if(dat & 0x80)  DIN_bit_1();
            else        DIN_bit_0();
        dat <<=1;
    }
}
/***************延時******************/
void delay(uchar t)
{
 unsigned long j;
    while(t--)   for(j=0;j<1000;j++);
}
/*************主程序******************/
void main()
{
 uchar i,n,num,t;
 while(1)
 {
 /*************R漸亮*******************/
  for(i=0;i<255;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(i);
    send_dat(0);
    send_dat(0);
   }
   reset();
   delay(1);
  }
  /*************R漸滅*******************/
  for(i=255;i>0;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(i);
    send_dat(0);
    send_dat(0);
   }
   reset();
   delay(1);
  }
  /*************G漸亮*******************/
  for(i=0;i<255;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(0);
    send_dat(i);
    send_dat(0);
   }
   reset();
   delay(1);
  }
  /*************G漸滅*******************/
  for(i=255;i>0;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(0);
    send_dat(i);
    send_dat(0);
   }
   reset();
   delay(1);
  }
  /*************B漸亮*******************/
  for(i=0;i<255;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(0);
    send_dat(0);
    send_dat(i);
   }
   reset();
   delay(1);
  }
  /*************B漸滅*******************/
  for(i=255;i>0;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(0);
    send_dat(0);
    send_dat(i);
   }
   reset();
   delay(1);
  }
  /*************RG漸亮*******************/
  for(i=0;i<255;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(i);
    send_dat(i);
    send_dat(0);
   }
   reset();
   delay(1);
  }
  /*************RG漸滅*******************/
  for(i=255;i>0;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(i);
    send_dat(i);
    send_dat(0);
   }
   reset();
   delay(1);
  }
  /*************GB漸亮*******************/
  for(i=0;i<255;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(0);
    send_dat(i);
    send_dat(i);
   }
   reset();
   delay(1);
  }
  /*************GB漸滅*******************/
  for(i=255;i>0;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(0);
    send_dat(i);
    send_dat(i);
   }
   reset();
   delay(1);
  }
  /*************RB漸亮*******************/
  for(i=0;i<255;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(i);
    send_dat(0);
    send_dat(i);
   }
   reset();
   delay(1);
  }
  /*************RB漸滅*******************/
  for(i=255;i>0;i++)
  {
   for(n=RGB_count;n>0;n--)
   {
    send_dat(i);
    send_dat(0);
    send_dat(i);
   }
   reset();
   delay(1);
  }
  /*************RGB全滅*******************/
  for(num=RGB_count;num>0;num--)
        {
            send_dat(0);
            send_dat(0);
            send_dat(0);
        }
        reset();
  /*************B跑馬燈增加*******************/
  for(i=0;i<RGB_count;i++) 
        {
            for(num=0;num<i;num++)
            {
                send_dat(0);
                send_dat(0);
                send_dat(255);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
        }
  /*************B跑馬燈減少*******************/
        for(i=RGB_count;i>0;i--) 
        {
            for(num=0;num<i;num++)
            {
                send_dat(0);
                send_dat(0);
                send_dat(255);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
   /*************RGB全滅*******************/
   for(num=RGB_count;num>0;num--)
            {
                send_dat(0);
                send_dat(0);
                send_dat(0);
            }
            reset();
  }
  /*************G跑馬燈增加*******************/
  for(i=0;i<RGB_count;i++)
        {     
            for(num=0;num<i;num++)
            {
                send_dat(0);
                send_dat(255);
                send_dat(0);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
        }
        /*************G跑馬燈減少*******************/           
        for(i=RGB_count;i>0;i--) 
        {
            for(num=0;num<i;num++)
            {
                send_dat(0);
                send_dat(255);
                send_dat(0);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
   /*************RGB全滅*******************/
   for(num=RGB_count;num>0;num--)
            {
                send_dat(0);
                send_dat(0);
                send_dat(0);
            }
            reset();
  }
  /*************R跑馬燈增加*******************/
  for(i=0;i<RGB_count;i++)
        {
            for(num=0;num<i;num++)
            {
                send_dat(255);
                send_dat(0);
                send_dat(0);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
        }
  /*************R跑馬燈減少*******************/
        for(i=RGB_count;i>0;i--)
        {
            for(num=0;num<i;num++)
            {
                send_dat(255);
                send_dat(0);
                send_dat(0);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
    /*************RGB全滅*******************/
            for(num=RGB_count;num>0;num--)
            {
                send_dat(0);
                send_dat(0);
                send_dat(0);
            }
            reset();
        }
  /*************RG跑馬燈增加*******************/
  for(i=0;i<RGB_count;i++)
        {     
            for(num=0;num<i;num++)
            {
                send_dat(255);
                send_dat(255);
                send_dat(0);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
        }
        /*************RG跑馬燈減少*******************/           
        for(i=RGB_count;i>0;i--) 
        {
            for(num=0;num<i;num++)
            {
                send_dat(255);
                send_dat(255);
                send_dat(0);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
   /*************RGB全滅*******************/
   for(num=RGB_count;num>0;num--)
            {
                send_dat(0);
                send_dat(0);
                send_dat(0);
            }
            reset();
  }
  /*************GB跑馬燈增加*******************/
  for(i=0;i<RGB_count;i++)
        {     
            for(num=0;num<i;num++)
            {
                send_dat(0);
                send_dat(255);
                send_dat(255);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
        }
        /*************GB跑馬燈減少*******************/           
        for(i=RGB_count;i>0;i--) 
        {
            for(num=0;num<i;num++)
            {
                send_dat(0);
                send_dat(255);
                send_dat(255);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
   /*************RGB全滅*******************/
   for(num=RGB_count;num>0;num--)
            {
                send_dat(0);
                send_dat(0);
                send_dat(0);
            }
            reset();
  }
  /*************RB跑馬燈增加*******************/
  for(i=0;i<RGB_count;i++)
        {     
            for(num=0;num<i;num++)
            {
                send_dat(255);
                send_dat(0);
                send_dat(255);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
        }
        /*************RB跑馬燈減少*******************/           
        for(i=RGB_count;i>0;i--) 
        {
            for(num=0;num<i;num++)
            {
                send_dat(255);
                send_dat(0);
                send_dat(255);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
   /*************RGB全滅*******************/
   for(num=RGB_count;num>0;num--)
            {
                send_dat(0);
                send_dat(0);
                send_dat(0);
            }
            reset();
  }
     /*************RGB跑馬燈增加*******************/
  for(i=0;i<RGB_count;i++)
        {
            for(num=0;num<i;num++)
            {
                send_dat(255);
                send_dat(255);
                send_dat(255);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
        }
  /*************RGB跑馬燈減少*******************/
        for(i=RGB_count;i>0;i--)
        {
            for(num=0;num<i;num++)
            {
                send_dat(255);
                send_dat(255);
                send_dat(255);
            }
            reset();
            for(t=RGB_speed;t>0;t--)  delay(1);
   /*************RGB全滅*******************/
            for(num=RGB_count;num>0;num--)
            {
                send_dat(0);
                send_dat(0);
                send_dat(0);
            }
            reset();
        }  
 }
}
關閉窗口

相關文章

主站蜘蛛池模板: 亚洲欧美日韩精品久久亚洲区 | 国产精品视频免费观看 | 99国内精品| 91精品亚洲 | 精品一二三 | 99精品国产一区二区青青牛奶 | 一级毛片视频 | 天天精品综合 | 97国产超碰| 99re视频在线 | 爱爱视频在线观看 | 国产精品日韩欧美 | 亚洲h视频| 国产精品久久久久久久久久尿 | 欧美一级黄带 | 国产一区二区三区四区 | 国产一区二区在线免费视频 | 国产亚洲一区二区三区在线 | 成人免费看黄 | 国产高清免费视频 | 国产91一区二区三区 | 国产精品视频一二三区 | 午夜欧美 | 四虎成人免费视频 | 国产成人在线视频播放 | 伊人久麻豆社区 | 亚洲成av人片在线观看 | 91亚洲精品久久久电影 | 性高湖久久久久久久久aaaaa | 欧美极品在线 | 日韩在线免费视频 | 久久国产成人 | 在线亚洲人成电影网站色www | 一区二区成人 | 日本一区二区高清不卡 | 欧美女优在线观看 | 国产91黄色 | 久久久久欧美 | 国产欧美精品一区二区三区 | 日韩二三区 | 美女黄视频网站 |