LED彩色护栏管程序---1个IO口搞定!
时间:11-29
来源:互联网
点击:
/*************************************
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--); }/*************数据传输******************/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 0;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;i 0;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;i 0;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;i 0;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;i 0;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;i 0;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;i 0;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();} }}
LED彩色护栏管IO 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)