用WS2812制作的灯带控制程序非常实用

2018-12-22 21:08

#include #include #define uchar unsigned char #define uint unsigned int sbitkk=P3^7; sbit Led1=P1^7; sbit Led2=P3^3; sbit Led3=P3^4; sbit Led4=P3^5; uchar t; uchar y; void fasong0() { kk=1; _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); kk=0; _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); } void fasong1() { kk=1;

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); kk=0; _nop_();_nop_();_nop_();_nop_(); } voidlanguang(uchar a) { while(a--) {uchar data j=16; while(j){fasong0();j--;}; j=8;while(j){fasong1();j--;} }} voidyanshi() {uchar m; int x; y=P1; y=~y; y=y&0x0f; if(y==0){x=2;Led4=Led2=0;Led3=Led1=1;} else if(y==1){x=20;Led1=0;Led2=1;Led3=1;Led4=1;} else if(y==2){x=70;Led2=0;Led1=1;Led3=1;Led4=1;} else if(y==3){x=200;Led1=Led2=0;Led3=Led4=1;} else if(y==4){x=500;Led3=0;Led1=1;Led2=1;Led4=1;} else if(y==5){x=1000;Led3=0;Led1=0;Led2=Led4=1;}

else if(y==6){x=2500;Led3=Led2=0;Led1=Led4=1;} else if(y==7){x=5000;Led3=0;Led2=0;Led1=0;Led4=1;} else if(y==8){x=10000;Led4=0;Led3=Led2=1;Led1=1;} else if(y==9){x=15000;Led4=Led1=0;Led3=Led2=1;} while(x--) {for(m=0;m<70;m++);} } voidbaiguang(uchar b) { while(b--) {uchar j=24; while(j) {fasong1(); j--; } } } voidmie(uchar c) {while(c--) {uchar j=24; while(j){fasong0();j--;} }} voidlala(uchar c) {uchar d; uchar e; uchar j=16; while(j){fasong0();j--;} e=0x80; j=8; while(j) {d=c&e;if(d==0){fasong0();} else {fasong1();} e=e>>1; j--;} } voidlalaquan() {lala(1);lala(1);lala(30);lala(30);lala(60);lala(60);lala(90);lala(90);lala(120);lala(120);lala(150);lala(150);lala(180);lala(180);lala(210);lala(210);lala(240);lala(240);} voidbaihao(uchar f) {while(f--) {mie(18);lalaquan();languang(24);baiguang(12);} } void main() {uint a; char b; uchar c; uchard;uchar n; n=4; Led1=1;Led2=1;Led3=1;Led4=1; while(1) {uchar g; for(g=1;g<13;g++) {baiguang(g);baihao(n);yanshi();}

}

}

for(g=1;g<25;g++) {languang(g);baiguang(12);baihao(n);yanshi();} for(c=0;c<18;c++) {a=239;b=-1;d=14*c; do{lala(a-d);a=a+14;b++;} while(b!=c); languang(24);baiguang(12);baihao(n);yanshi(); }

for(g=1;g<19;g++)

{mie(g);lalaquan();languang(24);baiguang(12);baihao(n);yanshi();}


用WS2812制作的灯带控制程序非常实用.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:微机原理课程设计——8255_8253交通灯模拟实验

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: