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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

成功挑戰(zhàn) 89C52驅(qū)動(dòng)WS2812

查看數(shù): 15487 | 評(píng)論數(shù): 26 | 收藏 26
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2019-10-6 19:10

正文摘要:

本帖最后由 人人學(xué)會(huì)單片機(jī) 于 2019-10-6 19:11 編輯 https://v.youku.com/v_show/id_XNDM1MDczMDc0OA==.html WS2812是一個(gè)通信速度比較快的芯片,而89單片機(jī)是比較慢的單片機(jī)。 89單片機(jī)使用32M晶振、12T模 ...

回復(fù)

ID:579397 發(fā)表于 2024-12-4 18:28


  1. /**********接口說(shuō)明**********/
  2. sbit led_in=P2^0;

  3. /**********全局變量**********/
  4. #define led_max 256
  5. xdata unsigned char Buff[led_max][3];

  6. /******************************
  7.                 發(fā)送比特到WS2812
  8. ******************************/
  9. void WS2812_Send(bit DI)
  10.         {
  11.                 if(DI)                //發(fā)送1碼
  12.                         {
  13.                                 led_in=1;NOP25();                //580ns~1000ns
  14.                                 led_in=0;NOP12();                //220ns~420ns
  15.                                 }
  16.                         else                //發(fā)送0碼
  17.                                 {
  18.                                         led_in=1;NOP12();                //220ns~380ns
  19.                                         led_in=0;NOP25();                //580ns~1000ns
  20.                                         }
  21.         }
  22.         
  23. /******************************
  24.                 發(fā)送字節(jié)到WS2812
  25. ******************************/
  26. void WS2812_SendByte(unsigned char dat)
  27.         {
  28.                 unsigned char i;
  29.     for (i=0;i<8;i++)
  30.                 {
  31.                         dat<<=1;                //左移一位
  32.                         WS2812_Send(CY);                //發(fā)送最高位
  33.                         }
  34.         }
  35.         
  36. /******************************
  37.                 發(fā)送RGB顏色到WS2812
  38. ******************************/
  39. void WS2812_SendColor(unsigned char red,unsigned char green,unsigned char blue)
  40.         {
  41.     WS2812_SendByte(green);
  42.     WS2812_SendByte(red);
  43.     WS2812_SendByte(blue);
  44.         }
  45.         
  46. /******************************
  47.                 刷新LED顯示
  48. ******************************/
  49. void WS2812_Display(unsigned char red,unsigned char green,unsigned char blue)
  50.         {
  51.                 unsigned int i;
  52.     for (i=0;i<led_max;i++)
  53.                 {
  54.                         WS2812_SendColor(red,green,blue);
  55.                         }
  56.                 led_in=0;
  57.                 Delay(1);
  58.         }
  59.         
  60. /******************************
  61.                 清空緩存數(shù)組
  62. ******************************/
  63. void WS2812_BuffClear()
  64.         {
  65.                 unsigned int i;
  66.                 for(i=0;i<led_max;i++)
  67.                 {
  68.                         Buff[i][0]=0;
  69.                         Buff[i][1]=0;
  70.                         Buff[i][2]=0;        
  71.                 }
  72.         }
  73.         
  74. /******************************
  75.                 指定某點(diǎn),某顏色寫(xiě)入緩存
  76. ******************************/
  77. void WS2812_D0T(unsigned char num,unsigned char red,unsigned char green,unsigned char blue)
  78.         {
  79.                 Buff[num][0]=red;
  80.                 Buff[num][1]=green;
  81.                 Buff[num][2]=blue;
  82.         }
復(fù)制代碼

1.png (175.13 KB, 下載次數(shù): 0)

1.png
ID:390416 發(fā)表于 2024-12-4 14:11
發(fā)表于 2024-6-11 09:42
static xdata u8 count=0;   為什么一定要用XDATA?不用會(huì)怎么樣?

如果其他的存儲(chǔ)空間夠用 那就不用xdata空間  
ID:85743 發(fā)表于 2024-6-11 09:42
static xdata u8 count=0;   為什么一定要用XDATA?不用會(huì)怎么樣?
ID:1120202 發(fā)表于 2024-6-7 16:33
點(diǎn)贊!正要學(xué)習(xí)這個(gè)內(nèi)容!!
ID:433219 發(fā)表于 2023-12-20 15:47
只要 注意50us 為時(shí)間處理間隙處理,,,
ID:1105362 發(fā)表于 2023-12-20 14:11
牛啊,小馬拉大車
ID:317998 發(fā)表于 2023-12-16 22:49
這個(gè)程序最多只能點(diǎn)亮255個(gè)燈珠,請(qǐng)問(wèn):想點(diǎn)更多燈珠要改哪一項(xiàng)?
ID:256110 發(fā)表于 2023-10-18 10:35
WS2812燈帶 控制
ID:1057863 發(fā)表于 2023-1-13 09:43
這個(gè)我之前弄就沒(méi)弄好,感謝UP主
ID:390416 發(fā)表于 2023-1-8 10:32
hgig 發(fā)表于 2022-11-8 14:44
大神,求電路連接圖

WS2812燈帶 電路超級(jí)簡(jiǎn)單
ID:390416 發(fā)表于 2023-1-8 10:32
1111513 發(fā)表于 2022-3-24 18:40
在哪里修改燈珠數(shù)量

WS2812_Write_Data(WS2812_Write_Buffer+1,8);  這個(gè)8 就是8顆燈
ID:1055167 發(fā)表于 2022-12-2 10:37
12分頻是375ns吧,不是整數(shù)啊
ID:1050867 發(fā)表于 2022-11-8 14:44
大神,求電路連接圖
ID:27642 發(fā)表于 2022-9-12 22:14
感謝,剛好有這燈帶
ID:212904 發(fā)表于 2022-7-19 13:37
試試看好用不
ID:390416 發(fā)表于 2022-4-19 12:39
1111513 發(fā)表于 2022-3-24 18:40
在哪里修改燈珠數(shù)量

WS2812_Write_Data(WS2812_Write_Buffer+1,8);  括號(hào)里面數(shù)字8 表示8個(gè)燈
ID:47286 發(fā)表于 2022-3-25 00:55
牛人 膜拜下
ID:977831 發(fā)表于 2022-3-24 18:40
在哪里修改燈珠數(shù)量
ID:615170 發(fā)表于 2021-4-12 10:16
精彩,剛好遇到了不知道如何調(diào)PWM的問(wèn)題,學(xué)習(xí)下!
ID:390416 發(fā)表于 2021-2-23 16:56
xxd0708 發(fā)表于 2021-2-21 14:20
試試左移位和CY位直送IO口,應(yīng)該運(yùn)行周期會(huì)小一點(diǎn),這樣晶振頻率可能會(huì)小一點(diǎn)。我用的函數(shù)可以參考一下:
...

嗯 CY 主要是匯編的指令 初學(xué)者容易看蒙圈
ID:885138 發(fā)表于 2021-2-21 14:20
人人學(xué)會(huì)單片機(jī) 發(fā)表于 2021-1-7 18:33
是的,分享這個(gè)代碼 主要是挑戰(zhàn)一下89系列的性能。小馬拉著火車皮跑。測(cè)試的是89能不能拉得動(dòng)

試試左移位和CY位直送IO口,應(yīng)該運(yùn)行周期會(huì)小一點(diǎn),這樣晶振頻率可能會(huì)小一點(diǎn)。我用的函數(shù)可以參考一下:
void ws2812_write_byte( u8 dat)
{        
        u8 i = 8;
        dat <<= 1;         //最高位進(jìn)入CY
        while(i)
        {
                 //高電平時(shí)間小于0.45uS為邏輯0,大于時(shí)為邏輯1
                WS2812_IO = 1;
                //如果主頻較高可在此處適當(dāng)增加_nop_();
                WS2812_IO = CY;
                //如果主頻較高可在此處適當(dāng)增加_nop_();
                _nop_();
        WS2812_IO = 0;
                dat <<= 1;         //最高位進(jìn)入CY
                i--;                        
        }
}
ID:885138 發(fā)表于 2021-2-21 14:09
啤酒瓶子老大 發(fā)表于 2021-1-7 18:13
大師,如果用STC8H1K這種1T的單片機(jī),是不是速度就夠快了?

我用了另一種1T的單片機(jī),4MHZ就可以了。參看http://m.zg4o1577.cn/bbs/dpj-202768-1.html

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

ID:390416 發(fā)表于 2021-1-7 18:33
啤酒瓶子老大 發(fā)表于 2021-1-7 18:13
大師,如果用STC8H1K這種1T的單片機(jī),是不是速度就夠快了?

是的,分享這個(gè)代碼 主要是挑戰(zhàn)一下89系列的性能。小馬拉著火車皮跑。測(cè)試的是89能不能拉得動(dòng)
ID:230742 發(fā)表于 2021-1-7 18:13
大師,如果用STC8H1K這種1T的單片機(jī),是不是速度就夠快了?
ID:724172 發(fā)表于 2020-8-20 15:29
太厲害了,一直都在找這個(gè)教程來(lái)做個(gè)模型加燈
ID:334047 發(fā)表于 2020-8-12 22:53
點(diǎn)贊!正要學(xué)習(xí)這個(gè)內(nèi)容!!

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人av | av网站免费在线观看 | 国产美女视频网站 | 亚洲乱淫 | 成人免费视频一区二区 | 在线不卡视频 | 国产精品久久免费 | 国产一区二区自拍 | 国产精品黄色 | 毛片视频免费观看 | 日韩毛片网站 | 一区二区三区色 | 欧美日韩精品一区二区在线播放 | 国产日韩欧美精品 | 在线免费黄色 | 精久久 | 日本中文在线观看 | 手机成人在线视频 | 免费观看一级毛片 | 亚洲一区在线视频 | av福利在线观看 | 四虎影院在线 | av综合网站 | 99国产在线观看 | 日本在线免费观看 | 日韩av专区 | 日韩视频在线免费观看 | 成人动漫一区二区 | 狠狠综合网 | 天天看天天爽 | 国产精品久久久久久久午夜 | 免费视频久久 | 国产成人免费在线观看 | cao在线| av黄色在线观看 | 欧美精品二区三区四区免费看视频 | 国产资源在线播放 | 免费人成 | 亚洲国产精 | 日韩欧美国产高清91 | 国产精品一区二区在线免费观看 |