/*************************************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();} }}
評論