/******************WS2812**************************/ /**************************************************/ /**************************************************/ /*****************20250705*************************/ //PMS150G ________ ________ // 5v-|1-vdd \_/ gnd-8|-gnd // |2-pa7 pa0-7|-k1 // |3-pa6 pa4-6|-k2 // |4-pa5_________pa3-5|-di→→→→→→→→→ /**************************************************/ // ________ //0 | 220ns |_____580ns______| // ________ //1 |_____580ns______| 220ns | //复位|________280us____________| //R7----R0,G7----G0,B7-----B0; // 绿 红 蓝 /**************************************************/ #include "extern.h" void fuwei(); //复位; void fa0(); //发0; void fa1(); //发1; void hong(); //红色; void lv(); //绿色; void lan(); //蓝色; void bai(); //白色; void hei(); //黑//不亮; void qingping(); //清屏 void yanshi_500(); //延时500ms; /**************************************************/ di bit pa.3; k1 bit pa.0; k2 bit pa.4; /**************************************************/ byte di_a1; /**************************************************/ void FPPA0 (void) { /**************************************************/ .ADJUST_IC SYSCLK=IHRC/2, IHRC=16MHz; $ di low, out; //输出,低; $ k2 in,ph; //输入,上拉; $ k1 in,ph; //输入,上拉; byte a1; /**************************************************/ di =1; //释放总线; fuwei(); while(1) { yanshi_500(); if(! k1) { fuwei(); a1 =3; while(a1 --) { hong(); lv(); lan(); bai(); hei(); } di =1; } yanshi_500(); if(! k2) { qingping(); } di =1; } } /**************************************************/ void fuwei() //复位 { di =0; .delay 100; } /**************************************************/ void fa0() //发0 { di =1; nop;nop; di =0; nop;nop;nop;nop; } /**************************************************/ void fa1() //发1 { di =1; nop;nop;nop;nop; di =0; nop;nop; } /**************************************************/ void hong() //红色 { di_a1 =8; while(di_a1 --){fa0();} di_a1 =7; while(di_a1 --){fa0();} fa1(); di_a1 =8; while(di_a1 --){fa0();} } /**************************************************/ void lv() //绿色 { di_a1 =7; while(di_a1 --){fa0();} fa1(); di_a1 =8; while(di_a1 --){fa0();} di_a1 =8; while(di_a1 --){fa0();} } /**************************************************/ void lan() //蓝色 { di_a1 =8; while(di_a1 --){fa0();} di_a1 =8; while(di_a1 --){fa0();} di_a1 =7; while(di_a1 --){fa0();} fa1(); } /**************************************************/ void bai() //白色 { di_a1 =7; while(di_a1 --){fa0();} fa1(); di_a1 =7; while(di_a1 --){fa0();} fa1(); di_a1 =7; while(di_a1 --){fa0();} fa1(); } /**************************************************/ void hei() //黑//不亮 { di_a1 =8; while(di_a1 --){fa0();} di_a1 =8; while(di_a1 --){fa0();} di_a1 =8; while(di_a1 --){fa0();} } /**************************************************/ void qingping() //清屏 { di_a1 =240; while(di_a1 --){fa0();} } /**************************************************/ void yanshi_500() //延时500ms; { .delay 2000000; } /**************************************************/
举报
人才类勋章
319
487
63
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号