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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
WS2812B RGB 彩灯 51单片机 STC15W 驱动代码6 W1 h* x# B8 R% |& x4 W
, n& S. l; j- t+ t
' z* T9 z! ^+ R) X
7 [" w- r+ f& R$ k' I% N

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

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

该用户从未签到

3#
发表于 2022-12-1 13:59 | 只看该作者
AVR的RGB彩灯控制芯片WS2801的控制程序
$ t4 F# |4 h& w: w! a8 [
5 ~- l  h3 ]; x9 d- Q#include"color.h"
& S+ {2 X% ]6 @, x, U#include"delay.h"
5 J& q5 }8 ]0 J) t8 C- y- \$ W; h9 |// 0.18084us
  v& e# c' ^9 b/ ~! Z& Q; [' Fvoid Sbi_SDI()7 a! K6 S1 V6 ~! i
{; G- I, M/ _5 w! Y) F$ j6 p
sbi(PORTC,1);1 X1 h1 c2 ]+ T* X1 \' z8 y( h
}
5 |* j1 H2 F4 f4 T, x' K4 r- ^void Cbi_SDI()4 |: @% T3 [; |- Y. r
{
6 M* c: l, \% |3 Xcbi(PORTC,1);2 S% W. g* l5 X7 W2 _2 ^( ]
}
: g( [* I( P+ ^: D3 t5 t9 x" |void Sbi_CKI()
8 A2 n$ k2 v$ t{
3 k& o. B1 K' ?$ m3 ysbi(PORTC,0);
( r! M" F/ u, M3 s}
+ G7 k2 g# T- Z# Y. f5 Uvoid Cbi_CKI()
2 ^- q+ u5 S& f! h# P+ j( ~, j( k{
# A0 R* B9 H% L9 w% R, W9 Acbi(PORTC,0);
: @! T: c$ a5 I0 F}) n& U7 f# S% |) z: |
void Send_CKI()  //WS2801 上升沿6 y+ q! [3 [7 G! b! i9 S1 Q
{) w8 ~, f3 _+ }# T/ }* Y9 {9 T0 c% G; T
Cbi_CKI();      // 时钟 拉低! Y4 y: U. z: ?/ H( |& s9 Y
_delay_us(6);+ U0 D. l9 I$ V% g0 r
Sbi_CKI();      // 时钟 拉高# v- M) Y% z: g3 H( B) E. ?
_delay_us(6);& p' P( a. N. ?2 w- Q
Cbi_CKI();      // 时钟 拉低
8 X9 I  S9 s' c6 K. x5 g" s}
9 u7 v4 D. x; A" [void Write_WS2801_Data(unsigned char _data)  //WS2801
3 c- g$ x2 }$ x{
8 @1 J. }3 [0 d  Funsigned char dai;
) ~9 R! x4 T8 N. w8 cunsigned char cache;
7 ~+ J& g/ O6 f' N9 p# Tfor(dai=0;dai<8;dai++)' F! ^$ S2 X6 S: f
{
# M. s* ~* u/ V- f  y# zcache = (_data & 0x80)>>7;
9 ?1 J3 p  A4 X0 S# Eif(cache)- a9 D/ y+ r5 j  O+ }& p& W
Sbi_SDI();
; L* v! n2 N8 Welse  f' D5 y2 ~: g) z. V7 m
Cbi_SDI();
& Q0 b  y  u* @' O/ zSend_CKI();
& G  Y0 e6 z8 m% v+ ^" N& f% D6 H_data <<= 1;
, e0 r  U" E3 W7 K7 f# p& G}! c" o: U* j- |, |6 s% [8 ]- i; a
}
1 q& ]& J6 o! A7 \. a3 {void Write_WS2801_ColorData(unsigned char *pd); @( J# n: x6 p4 q+ P3 i+ [, c
{
% S; l; I- J# ~unsigned char LEDMax = 0; // LED 最大数量5 R  k1 V) `) {5 d# b$ N
Cbi_CKI();
  n; ?$ A( G/ q1 q& ]Cbi_SDI();0 G( Q4 p  ^/ c$ q
_delay_us(250);
6 Y! Y  n; H( {7 Y0 p_delay_us(250);$ M) n* S# |& a% y1 i
for(LEDMax = 0;LEDMax<27;LEDMax++)0 X: Q! j9 q$ Q$ @8 m
{
& Z5 a8 _! {6 X//Write_WS2801_Data(Red);
5 l9 C4 \! o4 o1 B: y//Write_WS2801_Data(Green);8 z0 H- o/ P. f6 J8 x* A
//Write_WS2801_Data(Blue);
  k. C  m5 V7 E2 E4 ?& ^" V# gWrite_WS2801_Data(*pd);
( z- K% t: ^1 s2 [# f' kpd++;5 ~. O1 H- M- p" A! x' Z
}% y# V3 a  ^( R) b' r* L' R
}

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-26 13:31 , Processed in 0.140625 second(s), 27 queries , Gzip On.

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

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

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