找回密码
 注册
查看: 210|回复: 2
打印 上一主题 下一主题

WS2812B RGB 彩灯 51单片机 STC15W 驱动代码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-12-1 09:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
WS2812B RGB 彩灯 51单片机 STC15W 驱动代码
9 F1 s$ r+ {0 s# t1 X1 m0 }
2 R3 U3 Q3 Z  A/ ?; t3 f" |& K0 c
1 m/ ~* B$ m3 z; ^6 K

WS2812B RGB 彩灯 51单片机 STC15W 驱动代码.zip

912.78 KB, 下载次数: 2, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-12-1 10:53 | 只看该作者
调用被测函数的代码。 在单元测试过程中,驱动模块通常包括调用被测函数前的数据准备、调用被测函数以及验证相关结果三个步骤。驱动代码的结构,通常由单元测试的框架决定。

该用户从未签到

3#
发表于 2022-12-1 13:59 | 只看该作者
AVR的RGB彩灯控制芯片WS2801的控制程序
0 f  L& ~/ M" N: M* X6 `- q3 Q1 m7 E0 p5 `
#include"color.h", M& t( \/ `! q" ^5 z
#include"delay.h"
/ R* k$ ]8 N$ x1 E// 0.18084us
9 B, p6 T: i& Zvoid Sbi_SDI()3 N# v, T+ x  i# k) m6 L% i$ C+ o7 M
{6 J& O$ d& \6 _+ @# D2 b. Y
sbi(PORTC,1);, b% Z" A) S- E- p5 ^/ g* C
}" G4 Y6 r6 `' [! r6 D3 c
void Cbi_SDI()
- P0 |6 f& Q1 R7 ~* E, Y1 {{+ G9 [4 Z$ u3 N( Y# n
cbi(PORTC,1);
' d: x: Z; V2 Y( z' s8 S1 g}
" u; V. ]' |0 n" K/ t- Q: E- Y: ?& cvoid Sbi_CKI()2 _1 N3 G( A# u7 c
{( @$ |: I3 m- e' [
sbi(PORTC,0);( P0 G3 t6 r( M: r' H. B( N0 `" m; W
}
8 U! S" m# l' l$ Lvoid Cbi_CKI()
1 ~) W$ \1 q$ k, \8 U# u" @; p{% C* f- o7 Y7 |4 n
cbi(PORTC,0);8 `9 y' C, k) }# I) O& E
}- D. Z0 u& U5 ?" Y' y/ |. c
void Send_CKI()  //WS2801 上升沿& X5 D% ]% W3 `- u% D
{
% W! O, M  ~& C$ c7 ZCbi_CKI();      // 时钟 拉低
! t& K. y& h0 G_delay_us(6);
7 r# L; L/ }/ u$ {3 k! s: WSbi_CKI();      // 时钟 拉高1 z; U4 ^! R7 z  J8 h8 P
_delay_us(6);8 a9 {4 e/ L( j" ~) l
Cbi_CKI();      // 时钟 拉低
8 R2 ?/ D: g( ^' S}
9 p: k6 X' Z5 n! y( k7 [void Write_WS2801_Data(unsigned char _data)  //WS2801
2 j) T' K& @0 G4 I- j{
3 h; q! b0 j) e5 V+ Gunsigned char dai;8 a* i; k# j( E  d/ v' R  L
unsigned char cache;0 I8 u: d  i4 N6 t% _* m) L
for(dai=0;dai<8;dai++)' R2 ]( g1 V" b, E
{: y% |) r3 g9 D+ c% ^8 M4 ^& @0 i
cache = (_data & 0x80)>>7;: S% S4 Y9 _8 C$ Y/ a* U- ?
if(cache)8 G2 B7 j" l5 K# _5 D4 ^) ?
Sbi_SDI();3 i. s/ N3 t4 s; ^, f' L
else
4 D6 j7 O/ o4 v& T5 cCbi_SDI();
$ ]1 e' }+ l1 VSend_CKI();
2 x$ P7 x( Q. G+ f# F0 N4 N_data <<= 1;- E$ r) j1 w! n" a% G. D7 L1 g
}% F/ i6 M  ]# g# T  A/ Y/ S
}9 i, G' _' P# |
void Write_WS2801_ColorData(unsigned char *pd)
5 b) @7 j+ x% }4 o2 f5 z) \{
. U0 c5 u) z7 W4 O, E( n! J& Gunsigned char LEDMax = 0; // LED 最大数量1 n& M7 Z; t0 ?# g
Cbi_CKI();
& K* z# M! j$ G" }( P2 ?Cbi_SDI();5 ]/ V; Y! V) R7 F
_delay_us(250);) Y" }7 Z# ^( m$ A) x1 R" L4 j: a
_delay_us(250);
9 s1 o0 f! I9 b3 l$ N8 t" d' cfor(LEDMax = 0;LEDMax<27;LEDMax++)
3 r* {; b, G6 f{
- E, k% A4 q7 G//Write_WS2801_Data(Red);& c; i" p0 x- l  n* x
//Write_WS2801_Data(Green);
. W7 z, r1 f) r) u//Write_WS2801_Data(Blue);
- O. L# M' f5 l$ jWrite_WS2801_Data(*pd);1 R* p3 n! A$ v% i" {( c
pd++;
% H  Q2 ~. h: A% x( t}  B' \( P! U6 {! B( U1 U
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-28 21:17 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表