找回密码
 注册
关于网站域名变更的通知
查看: 216|回复: 2
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
WS2812B RGB 彩灯 51单片机 STC15W 驱动代码
$ B: G1 {' \# j
* m$ Y, P& x" L7 R3 ?) @/ Y& g" W3 P4 p( v

- L5 O. h: u# ~

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的控制程序6 e' u+ }4 f4 k
" }1 Q/ e5 J3 L
#include"color.h"
2 {  h/ J# k% n- G  P$ ?4 _#include"delay.h"/ C: B& H$ E* U! C- B
// 0.18084us
$ [# U% I# V9 e" t0 l# A, Avoid Sbi_SDI()& u8 _" \  {3 m. ~1 T1 |4 I# Y
{
" K3 y% e. H9 s$ Zsbi(PORTC,1);1 H* }9 m  h; i  e: t
}: \6 ?$ f4 z0 G7 r
void Cbi_SDI()/ b2 K% R- p# W5 [" I+ F
{
5 F; G7 {9 W% r. W) k+ Q; ucbi(PORTC,1);: S$ I( p: c. b. Y. N5 N6 @
}
" ]. n% B0 m. }* S  avoid Sbi_CKI()" ~3 d; u! w7 I8 M: |
{
4 v( `0 J$ e" X% C8 |) Tsbi(PORTC,0);) l) P  a; k9 F9 j; q3 z& n$ l
}5 N% |, H4 Q9 N5 g' r
void Cbi_CKI()
5 u! M: n% z; ]. L{6 S5 }! [9 K! p, a+ h1 `/ I
cbi(PORTC,0);
( I% K, F; R) J  |) t) I: Q  h}! S) ~1 j# _6 G6 G; H: q
void Send_CKI()  //WS2801 上升沿+ A8 Q; h$ {5 k4 S0 ]0 w: `
{
  H& ]" ^7 m4 UCbi_CKI();      // 时钟 拉低
. E# q- z0 w6 K. X! K; A_delay_us(6);. e. H6 K" x. t" L* |  q
Sbi_CKI();      // 时钟 拉高- X8 p# h2 W3 s9 k$ A' o
_delay_us(6);, r" Q3 Q3 K; v; `) \( ]
Cbi_CKI();      // 时钟 拉低
0 P' Z( w5 C  y, C}
# d4 T) |( {' _: o1 r9 ^* Bvoid Write_WS2801_Data(unsigned char _data)  //WS2801
( m% j( B. O- r{8 ~+ u" p# c$ u( [; e
unsigned char dai;
* T: E8 o2 A. ounsigned char cache;+ Q. f$ v1 x+ B+ x
for(dai=0;dai<8;dai++)1 j6 }8 a) `/ i8 v4 T" l, T
{
+ n8 J4 L, E7 ]4 L- M# M" lcache = (_data & 0x80)>>7;
: V) C, Y- z8 ^if(cache)
( `; C7 I7 E! pSbi_SDI();
5 o8 o% L4 ?* F+ y- Xelse
3 i8 I& i. ^1 v4 R5 {; [Cbi_SDI();
; i; L+ i& L8 K+ D* A4 `! G7 q! kSend_CKI();& S/ @: d/ i% N, t0 r, [1 [% t
_data <<= 1;
. ~; F4 A6 U. {# @; [- h4 j5 _}4 O1 C& O3 L' Y" H) N
}
3 {. b1 R! e* J5 O9 e) nvoid Write_WS2801_ColorData(unsigned char *pd)8 b, ]& k6 L( t) B2 k6 ]& c) U
{" k7 I6 ~9 r8 |* q. r8 a
unsigned char LEDMax = 0; // LED 最大数量7 _6 g1 Y4 @& `1 u6 V
Cbi_CKI();
" q  A; M4 E. g3 B; tCbi_SDI();) Q0 G) {, z6 s0 z7 A3 ?
_delay_us(250);4 T; `8 V% ~9 s0 ~
_delay_us(250);
, A/ I$ ]3 F" \0 gfor(LEDMax = 0;LEDMax<27;LEDMax++)' |/ T; t9 h! {2 M5 Z
{
- t* A0 W! T- L5 ~//Write_WS2801_Data(Red);) k1 L) p& k2 R' }
//Write_WS2801_Data(Green);" ]; g9 T" p6 P, A# y
//Write_WS2801_Data(Blue);1 q  y+ k! u: J4 }* l
Write_WS2801_Data(*pd);: O! [) J0 ^3 {( ?. V2 ^
pd++;
: c8 Z. r# }. c# A/ R}
! ^) V6 U% M; o4 R( \7 y# ~; Q}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-6 05:28 , Processed in 0.062500 second(s), 26 queries , Gzip On.

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

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

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