- /******************WS2812**************************/
- /**************************************************/
- /**************************************************/
- /*****************20250705*************************/
- //PMS150G ________ ________
- // 5v-|1-vdd \_/ gnd-8|-gnd
- // |2-pa7 pa0-7|-di→→→→→→→→→
- // |3-pa6 pa4-6|
- // |4-pa5_________pa3-5|
- /**************************************************/
- // ________
- //0 | 220ns |_____580ns______|
- // ________
- //1 |_____580ns______| 220ns |
- //复位|________280us____________|
- //R7----R0,G7----G0,B7-----B0;
- // 绿 红 蓝
- /**************************************************/
- #include "extern.h"
- void fuwei(); //复位
- void fa0(); //发0
- void fa1(); //发1
- /**************************************************/
- di bit pa.0;
- /**************************************************/
- void FPPA0 (void)
- {
- /**************************************************/
- .ADJUST_IC SYSCLK=IHRC/2, IHRC=16MHz;
- $ di out,high;
- byte a1;
- /**************************************************/
- di =0; //释放总线
- fuwei();
- while (1)
- {
- fuwei();
- a1 =7; while(a1 --){fa0();} fa1();
- a1 =8; while(a1 --){fa0();}
- a1 =8; while(a1 --){fa0();}
- a1 =8; while(a1 --){fa0();}
- a1 =7; while(a1 --){fa0();} fa1();
- a1 =8; while(a1 --){fa0();}
- a1 =8; while(a1 --){fa0();}
- a1 =8; while(a1 --){fa0();}
- a1 =7; while(a1 --){fa0();} fa1();
- a1 =8; while(a1 --){fa0();}
- a1 =7; while(a1 --){fa0();} fa1();
- a1 =8; while(a1 --){fa0();}
- a1 =8; while(a1 --){fa0();}
- a1 =8; while(a1 --){fa0();}
- a1 =7; while(a1 --){fa0();} fa1();
- while(1){}
- }
- }
- /**************************************************/
- void fuwei() //复位
- {
- di =0;
- .delay 800;
- }
- 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;
- }
|