久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1685|回復: 0
收起左側

WS2812燈珠驅動程序

[復制鏈接]
ID:474201 發表于 2019-12-3 10:07 | 顯示全部樓層 |閱讀模式
本啟動方案MCU采用的是STC8 24M晶振 驅動的 需要挪用需要修改延時函數
#ifndef WS2812_Drive    //如果其他文件已經做了這個記號,那么不執行#define.
#define WS2812_Drive    //如果其他文件沒有這個標記,那么就需要新做一個記號(唯一的)。

#define Pixel_Data_Num 36 //定義緩存空間一顆燈珠3個緩存一共12顆燈珠
sbit WS2812_Data=P3^2;
extern void WS2812_Init();
extern u8 xdata WS2812_Write_Buffer[Pixel_Data_Num];
extern void WS2812B_Display_Drive();
#endif


文件中的u8 和u16 u32分別如下:
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned long u32;

  1. #include "all.h"
  2. u8 xdata WS2812_Write_Buffer[Pixel_Data_Num];//調用數組
  3. void WS2812_Init()
  4. {
  5.         WS2812_Data=1;
  6. }
  7. void WS2812B_Write_Data(u8 *chr,u8 len)//驅動程序
  8. {
  9.         u8 idata i,j,k,value;
  10.         for(i=0;i<len;i++)
  11.         {
  12.                 value=*chr;
  13.                 for(j=0;j<3;j++)
  14.                 {
  15.                         switch(j)
  16.                         {
  17.                                 case 0:value=*(chr+1);break;
  18.                                 case 1:value=*(chr+0);break;
  19.                                 case 2:value=*(chr+2);break;
  20.                         }
  21.                         for(k=0;k<8;k++)
  22.                         {
  23.                                 if((value&0x80)==0x80)
  24.                                 {
  25.                                         WS2812_Data=1;
  26.                                         _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
  27.                                         _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
  28.                                         _nop_();_nop_();_nop_();_nop_();_nop_();
  29.                                         value<<=1;
  30.                                         WS2812_Data=0;
  31.                                         _nop_();
  32.                                 }
  33.                                 else
  34.                                 {
  35.                                         WS2812_Data=1;
  36.                                          _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
  37.                                         WS2812_Data=0;
  38.                                         _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
  39.                                         value<<=1;
  40.                                 }
  41.                         }
  42.                 }
  43.                 chr+=3;
  44.         }
  45.         
  46. }
  47. void WS2812B_Display_Drive()//顯示程序
  48. {
  49.         static xdata u8 count=0;
  50.         switch(count)
  51.         {
  52.                 case 0 :WS2812_Data=0;break;
  53.                 case 100 :
  54.                         EA=0;
  55.                         WS2812B_Write_Data(WS2812_Write_Buffer+1,12);
  56.                         EA=1;break;
  57.                 case 101 :WS2812_Data=1;break;
  58.         }
  59.         count++;
  60. }
復制代碼

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久性色 | 一区二区三区四区国产 | 日韩欧美一级片 | 亚洲精品黄色 | www亚洲精品 | 日韩成人在线免费视频 | 国产一区二区三区在线 | 亚洲国产成人在线视频 | 成人精品在线观看 | 91精品国产综合久久久亚洲 | 91精品福利| 中文字幕在线视频网站 | 大乳boobs巨大吃奶挤奶 | 久久久久久九九九九九九 | 国产精品欧美一区二区三区不卡 | 久久国产一区二区三区 | 久久久久亚洲av毛片大全 | 午夜在线免费观看 | 欧美精品导航 | 一区二区三区国产在线观看 | 国产精品一区二区在线观看 | 中文在线播放 | 日日爱av| 亚洲成网 | 欧洲性生活视频 | 亚洲不卡在线观看 | 久久亚洲综合 | 免费观看黄 | 成人在线精品视频 | 一区二区三区精品视频 | 国产农村妇女精品一二区 | 亚洲精品福利视频 | 久久久久国色av免费观看性色 | 九九九久久国产免费 | 欧美激情亚洲 | 国产在线精品一区二区三区 | 国产成人久久av免费高清密臂 | 亚洲男人天堂网 | 国产激情一区二区三区 | 久久青草av| 色偷偷888欧美精品久久久 |