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

QQ登錄

只需一步,快速開始

帖子
查看: 5194|回復(fù): 4
收起左側(cè)

可按照腳本分別控制8路PWM函數(shù)波形輸出程序分享

[復(fù)制鏈接]
ID:62033 發(fā)表于 2014-6-1 15:41 | 顯示全部樓層 |閱讀模式
本程序最大可獨(dú)立控制8路LED燈按照不同的腳本(最大亮度,閃爍時(shí)間)進(jìn)行呼吸燈效果的顯示。
并且按照非線性函數(shù)曲線輸出,使得呼吸燈的效果更好,比單純線性控制更為自然。

首先對(duì)多路PWM輸出進(jìn)行單獨(dú)控制是非常消耗單片機(jī)資源的,特別是還要控制每一路信號(hào)都按照函數(shù)曲線進(jìn)行顯示。顯然通過(guò)函數(shù)實(shí)時(shí)計(jì)算太過(guò)消耗MCU的資源,是根本行不通的。所以本程序是通過(guò)預(yù)先計(jì)算好的數(shù)值進(jìn)行查表操作來(lái)實(shí)現(xiàn)COS曲線輸出的。方法很簡(jiǎn)單,用EXCEL拉一個(gè)公式就都有了。
每一路都可以按照預(yù)先設(shè)定好的若干個(gè)執(zhí)行腳本循環(huán)執(zhí)行,只要讓每一路的腳本執(zhí)行時(shí)間不同,就可以做到無(wú)數(shù)種組合效果,目前代碼中每個(gè)IO口設(shè)置了6個(gè)腳本,如果大家選用的芯片F(xiàn)LASH比較大的話,可以多設(shè)一些腳本,是非常適合大家DIY制作螢火蟲瓶。
簡(jiǎn)單的用手頭上的sct15f104e做了一個(gè)6路的螢火蟲。

試驗(yàn)的時(shí)候不小心燒掉一個(gè)LED,所以實(shí)際只有5只了。
具體效果可以看下面的視頻。
DSC_0182_small.jpg DSC_0181_small.jpg
視頻


firefly.zip (2.23 KB, 下載次數(shù): 30819)



回復(fù)

使用道具 舉報(bào)

ID:62033 發(fā)表于 2014-6-3 12:20 | 顯示全部樓層
自己坐沙發(fā)吧
回復(fù)

使用道具 舉報(bào)

ID:62033 發(fā)表于 2014-6-6 12:38 | 顯示全部樓層
程序不是可以直接下載附件嗎?
電路圖我連自己都沒(méi)畫。邊做邊想,就這么做出來(lái)了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表