|
發(fā)布時(shí)間: 2021-2-20 16:07
正文摘要:示例采用HC89S003F4單片機(jī)和7燈Ws2812燈帶。HC89S003F4是1T增強(qiáng)型51單片機(jī),如用其他51單片機(jī),需調(diào)整晶振頻率。示例僅進(jìn)行7燈的單次驅(qū)動,可在聲明和數(shù)組中改變燈珠數(shù)量和數(shù)據(jù),主函數(shù)中修改后可實(shí)現(xiàn)流水燈效果。 ... |
| xdata那里我用的時(shí)候他總說前面少了個分號,咋回事 |
xxd0708 發(fā)表于 2021-5-13 07:01 好的謝謝作者! |
xxd0708 發(fā)表于 2021-5-13 07:00 搜索“51單片機(jī)(12MHz@12T)驅(qū)動WS2812B” |
tungkin 發(fā)表于 2021-5-12 19:16 8M4T每個指令周期0.5uS,置位或清零引腳為2個指令周期即1uS,顯然不能直接驅(qū)動。但可以用RC電路延時(shí)解決,參看我的另一個貼子 |
| 8M4T的片子有方法驅(qū)動嗎?樓主可以提供一下思路嗎謝謝。 |
xxd0708 發(fā)表于 2021-3-30 09:20 雖然這個單片機(jī)沒用過,我就大概猜一下邏輯,也就是說再while(i)里面,就先直接將IO口拉高,這里有一個時(shí)間,然后把CY(也就是左移后的高位給IO口),如果是1,那么就是高位持續(xù)了2個時(shí)間,如果是0,那么高位就持續(xù)了1個時(shí)間,如果WS2812_IO = 1;這個時(shí)間是0.45us,2個時(shí)間就是*2 =0.9us, 一個時(shí)間就是0.45us。 就是CY是1的話,就是高0.9us +_nop_();+WS2812_IO = 0;就是符合了W2812的時(shí)序 |
xxd0708 發(fā)表于 2021-3-30 09:20 哦,這個單片機(jī)沒用過 |
johnspen 發(fā)表于 2021-3-30 00:40 1,CY就是進(jìn)位標(biāo)志C,51單片機(jī)頭文件中有定義,在C語言中用CY直接調(diào)用; 2,左移data后,最高位移入CY; 3,函數(shù)中,將CY值寫至引腳的作用,CY=0比CY=1提前拉低,體現(xiàn)為高電平的脈寬變化。 |
| 你的CY定義在哪里? 還有ws2812_write_byte 函數(shù)中 data<1逐個發(fā)送過程中,在while(i)里面怎么區(qū)分data的0,1? 如果是0,那么時(shí)間要小于0.45us,如果是1要大于0.45,這在函數(shù)中沒有體現(xiàn)? |
Levent 發(fā)表于 2021-2-23 16:22 我的另一個貼子里有普通51單片機(jī)驅(qū)動ws2812b的例子,對晶振頻率要求低一些。參看http://www.denmoz.com/bbs/forum.php?mod=viewthread&tid=202899&extra=page%3D1&mobile=no |
Levent 發(fā)表于 2021-2-23 16:22 如圖中實(shí)物連有三條線,兩條是電源VCC GND,另一條是數(shù)據(jù)線。 電源可與單片機(jī)共用,燈珠數(shù)量多時(shí)最好單獨(dú)供電,但要與單片機(jī)共地,電壓5V(USB)至3.7V(鋰電池)都可以,3.3V有點(diǎn)閃。每個(或每兩個)燈珠的電源處要并一個小電容(0.1uF)。 單片機(jī)IO上拉輸出或推挽輸出,與燈帶數(shù)據(jù)輸入(DIN)間最好加一個小電阻(100歐)防沖擊,實(shí)驗(yàn)時(shí)不加也可以。燈帶還有個輸出線DOUT,可以級聯(lián)下一燈帶的DIN。 單總線方式,驅(qū)動較簡單,兩種狀態(tài):復(fù)位(較長時(shí)間的低電平)或位傳送。位0或位1取決于高電平脈寬,低電平寬度要求不高,小于復(fù)位就行。(三樓有具體說明) 應(yīng)用挺方便的,動手試試。需要注意的是,因位傳送時(shí)高電平的脈寬均在uS級以下,單片機(jī)頻率要適當(dāng)提高些。 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
Levent 發(fā)表于 2021-2-23 16:22 普通IO口 串聯(lián)100歐電阻 連過去就行了 必須能夠輸出5V電平。不能3.3V |
|
樓主你好,新手求教,燈帶和單片機(jī)的接口該怎么連接呢? |
| 89C52驅(qū)動WS2812 http://www.denmoz.com/bbs/dpj-170855-1.html |
Powered by 單片機(jī)教程網(wǎng)