久久久久久久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();
        }  
 }
}
關閉窗口

相關文章

主站蜘蛛池模板: 亚洲精品麻豆 | 日本久久综合网 | 午夜影院中文字幕 | 欧美一区二区三区的 | 国产精品一区二区三区久久久 | 欧美日韩精品一区二区 | 亚洲免费在线观看 | 在线免费观看成人 | 成人精品国产 | 中文字幕一区二区三区在线观看 | 国产欧美日韩精品一区 | 欧美亚州综合 | www.久草.com| 成人欧美一区二区三区在线播放 | 日韩中文欧美 | 欧美精品中文字幕久久二区 | 午夜精品视频在线观看 | 久久国产成人精品国产成人亚洲 | av中文字幕在线播放 | 国产综合久久 | 中文字幕视频在线看5 | 四色永久 | 欧美高清成人 | 999精品视频| xx性欧美肥妇精品久久久久久 | 中文字幕在线观看视频网站 | 日本免费一区二区三区四区 | 久久久免费 | 国产精品夜间视频香蕉 | 免费国产一区二区 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 精品久久久久国产免费第一页 | 中文字幕在线不卡播放 | 91久久精品国产91久久 | 一级毛片播放 | 九九精品在线 | 欧美久久一区二区三区 | 日韩久久在线 | 国产视频综合 | 亚洲一区在线免费观看 | 国产99久久精品一区二区300 |