新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > LED彩色護(hù)欄管程序---1個IO口搞定!

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

作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
/*************************************
MCU:STC12C56      晶振:12MHZ*************************************/#include#include#define uchar unsigned char#define uint  unsigned int#define RGB_count  20#define RGB_speed  30sbit 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*7for(i=3;i>0;i--); }/*************1碼*******************/void DIN_bit_1(){uchar i;DIN=1;       //1+3+4*7+1for(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--);   }/*************數(shù)據(jù)傳輸******************/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;i0;t--)  delay(1);}/*************B跑馬燈減少*******************/for(i=RGB_count;i>0;i--) {for(num=0;num0;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;i0;t--)  delay(1);}/*************G跑馬燈減少*******************/           for(i=RGB_count;i>0;i--) {for(num=0;num0;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;i0;t--)  delay(1);}/*************R跑馬燈減少*******************/for(i=RGB_count;i>0;i--){for(num=0;num0;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;i0;t--)  delay(1);}/*************RG跑馬燈減少*******************/           for(i=RGB_count;i>0;i--) {for(num=0;num0;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;i0;t--)  delay(1);}/*************GB跑馬燈減少*******************/           for(i=RGB_count;i>0;i--) {for(num=0;num0;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;i0;t--)  delay(1);}/*************RB跑馬燈減少*******************/           for(i=RGB_count;i>0;i--) {for(num=0;num0;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;i0;t--)  delay(1);}/*************RGB跑馬燈減少*******************/for(i=RGB_count;i>0;i--){for(num=0;num0;t--)  delay(1);/*************RGB全滅*******************/for(num=RGB_count;num>0;num--){send_dat(0);send_dat(0);send_dat(0);}reset();}  }}


關(guān)鍵詞: LED彩色護(hù)欄管IO

評論


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

關(guān)閉