3種效果的程序編寫(xiě)
發(fā)布時(shí)間:2013/11/16 15:18:08 訪問(wèn)次數(shù):657
程序的PWM頻率設(shè)置為最高的37.5kHz。BYM11-600-E3/76之所以選擇這么高的頻率是為了不影響動(dòng)態(tài)掃描。試想,如果PWM頻率為100Hz,那么還怎么動(dòng)態(tài)掃描呢?在程序中,動(dòng)態(tài)掃描實(shí)際的頻率為62Hz。這已經(jīng)足夠騙過(guò)人的眼睛,讓我們看不到燈的閃爍。
在單片機(jī)的中斷代碼中,程序每過(guò)26 us就會(huì)產(chǎn)生溢出中斷一次,通過(guò)變量count計(jì)數(shù)中斷次數(shù)。當(dāng)中斷的次數(shù)達(dá)到50次時(shí),就更換下~個(gè)LED燈,顯示它對(duì)應(yīng)的亮度。LED的亮度存儲(chǔ)到led[]這個(gè)數(shù)組中,每個(gè)LED燈通過(guò)載入對(duì)應(yīng)的亮度值,即通過(guò)改變PWM產(chǎn)生寄存器的OCROA與OCROB,來(lái)實(shí)際控制高低電平脈寬長(zhǎng)度,最終實(shí)現(xiàn)亮度的控制。當(dāng)然,每次通過(guò)PWM控制亮度,都要先根據(jù)LED的驅(qū)動(dòng)電平方式,重新設(shè)置PWM的控制模式。在此之前,還要記得設(shè)置不相關(guān)的引腳為高阻態(tài)。
LED的3種效果控制程序能夠?qū)崿F(xiàn)LED燈不斷地變換,只要調(diào)用就能分別實(shí)現(xiàn)如下功能:所有LED燈的呼吸效果;逐個(gè)點(diǎn)亮和熄滅LED燈.LED燈流水顯示的效果。從編程的思路上講,led數(shù)組存放了12個(gè)元素,每個(gè)元素所存內(nèi)容,即對(duì)應(yīng)每個(gè)LED燈亮度值。耍改變某個(gè)LED燈亮度,都是通過(guò)設(shè)置led[]數(shù)組中對(duì)應(yīng)元素的PWM緩沖數(shù)值來(lái)實(shí)現(xiàn)自動(dòng)變換。要讓所有的燈全亮只需設(shè)置數(shù)組中的每個(gè)元素的數(shù)值都為255即可。如果要一半的亮度就設(shè)置為1 28。要讓某個(gè)燈單獨(dú)最亮,只要設(shè)置這個(gè)LED燈元素?cái)?shù)值為255.其他的元素為0。如果任意LED要產(chǎn)生漸漸變亮的效果,那么只要對(duì)應(yīng)數(shù)組元素中的數(shù)值從O逐漸變?yōu)?55即可。同理,漸漸變暗,數(shù)值就從255變成0。要實(shí)現(xiàn)什么樣的效果,大家可以通過(guò)改變led[]數(shù)組來(lái)實(shí)現(xiàn)。
在單片機(jī)的中斷代碼中,程序每過(guò)26 us就會(huì)產(chǎn)生溢出中斷一次,通過(guò)變量count計(jì)數(shù)中斷次數(shù)。當(dāng)中斷的次數(shù)達(dá)到50次時(shí),就更換下~個(gè)LED燈,顯示它對(duì)應(yīng)的亮度。LED的亮度存儲(chǔ)到led[]這個(gè)數(shù)組中,每個(gè)LED燈通過(guò)載入對(duì)應(yīng)的亮度值,即通過(guò)改變PWM產(chǎn)生寄存器的OCROA與OCROB,來(lái)實(shí)際控制高低電平脈寬長(zhǎng)度,最終實(shí)現(xiàn)亮度的控制。當(dāng)然,每次通過(guò)PWM控制亮度,都要先根據(jù)LED的驅(qū)動(dòng)電平方式,重新設(shè)置PWM的控制模式。在此之前,還要記得設(shè)置不相關(guān)的引腳為高阻態(tài)。
LED的3種效果控制程序能夠?qū)崿F(xiàn)LED燈不斷地變換,只要調(diào)用就能分別實(shí)現(xiàn)如下功能:所有LED燈的呼吸效果;逐個(gè)點(diǎn)亮和熄滅LED燈.LED燈流水顯示的效果。從編程的思路上講,led數(shù)組存放了12個(gè)元素,每個(gè)元素所存內(nèi)容,即對(duì)應(yīng)每個(gè)LED燈亮度值。耍改變某個(gè)LED燈亮度,都是通過(guò)設(shè)置led[]數(shù)組中對(duì)應(yīng)元素的PWM緩沖數(shù)值來(lái)實(shí)現(xiàn)自動(dòng)變換。要讓所有的燈全亮只需設(shè)置數(shù)組中的每個(gè)元素的數(shù)值都為255即可。如果要一半的亮度就設(shè)置為1 28。要讓某個(gè)燈單獨(dú)最亮,只要設(shè)置這個(gè)LED燈元素?cái)?shù)值為255.其他的元素為0。如果任意LED要產(chǎn)生漸漸變亮的效果,那么只要對(duì)應(yīng)數(shù)組元素中的數(shù)值從O逐漸變?yōu)?55即可。同理,漸漸變暗,數(shù)值就從255變成0。要實(shí)現(xiàn)什么樣的效果,大家可以通過(guò)改變led[]數(shù)組來(lái)實(shí)現(xiàn)。
程序的PWM頻率設(shè)置為最高的37.5kHz。BYM11-600-E3/76之所以選擇這么高的頻率是為了不影響動(dòng)態(tài)掃描。試想,如果PWM頻率為100Hz,那么還怎么動(dòng)態(tài)掃描呢?在程序中,動(dòng)態(tài)掃描實(shí)際的頻率為62Hz。這已經(jīng)足夠騙過(guò)人的眼睛,讓我們看不到燈的閃爍。
在單片機(jī)的中斷代碼中,程序每過(guò)26 us就會(huì)產(chǎn)生溢出中斷一次,通過(guò)變量count計(jì)數(shù)中斷次數(shù)。當(dāng)中斷的次數(shù)達(dá)到50次時(shí),就更換下~個(gè)LED燈,顯示它對(duì)應(yīng)的亮度。LED的亮度存儲(chǔ)到led[]這個(gè)數(shù)組中,每個(gè)LED燈通過(guò)載入對(duì)應(yīng)的亮度值,即通過(guò)改變PWM產(chǎn)生寄存器的OCROA與OCROB,來(lái)實(shí)際控制高低電平脈寬長(zhǎng)度,最終實(shí)現(xiàn)亮度的控制。當(dāng)然,每次通過(guò)PWM控制亮度,都要先根據(jù)LED的驅(qū)動(dòng)電平方式,重新設(shè)置PWM的控制模式。在此之前,還要記得設(shè)置不相關(guān)的引腳為高阻態(tài)。
LED的3種效果控制程序能夠?qū)崿F(xiàn)LED燈不斷地變換,只要調(diào)用就能分別實(shí)現(xiàn)如下功能:所有LED燈的呼吸效果;逐個(gè)點(diǎn)亮和熄滅LED燈.LED燈流水顯示的效果。從編程的思路上講,led數(shù)組存放了12個(gè)元素,每個(gè)元素所存內(nèi)容,即對(duì)應(yīng)每個(gè)LED燈亮度值。耍改變某個(gè)LED燈亮度,都是通過(guò)設(shè)置led[]數(shù)組中對(duì)應(yīng)元素的PWM緩沖數(shù)值來(lái)實(shí)現(xiàn)自動(dòng)變換。要讓所有的燈全亮只需設(shè)置數(shù)組中的每個(gè)元素的數(shù)值都為255即可。如果要一半的亮度就設(shè)置為1 28。要讓某個(gè)燈單獨(dú)最亮,只要設(shè)置這個(gè)LED燈元素?cái)?shù)值為255.其他的元素為0。如果任意LED要產(chǎn)生漸漸變亮的效果,那么只要對(duì)應(yīng)數(shù)組元素中的數(shù)值從O逐漸變?yōu)?55即可。同理,漸漸變暗,數(shù)值就從255變成0。要實(shí)現(xiàn)什么樣的效果,大家可以通過(guò)改變led[]數(shù)組來(lái)實(shí)現(xiàn)。
在單片機(jī)的中斷代碼中,程序每過(guò)26 us就會(huì)產(chǎn)生溢出中斷一次,通過(guò)變量count計(jì)數(shù)中斷次數(shù)。當(dāng)中斷的次數(shù)達(dá)到50次時(shí),就更換下~個(gè)LED燈,顯示它對(duì)應(yīng)的亮度。LED的亮度存儲(chǔ)到led[]這個(gè)數(shù)組中,每個(gè)LED燈通過(guò)載入對(duì)應(yīng)的亮度值,即通過(guò)改變PWM產(chǎn)生寄存器的OCROA與OCROB,來(lái)實(shí)際控制高低電平脈寬長(zhǎng)度,最終實(shí)現(xiàn)亮度的控制。當(dāng)然,每次通過(guò)PWM控制亮度,都要先根據(jù)LED的驅(qū)動(dòng)電平方式,重新設(shè)置PWM的控制模式。在此之前,還要記得設(shè)置不相關(guān)的引腳為高阻態(tài)。
LED的3種效果控制程序能夠?qū)崿F(xiàn)LED燈不斷地變換,只要調(diào)用就能分別實(shí)現(xiàn)如下功能:所有LED燈的呼吸效果;逐個(gè)點(diǎn)亮和熄滅LED燈.LED燈流水顯示的效果。從編程的思路上講,led數(shù)組存放了12個(gè)元素,每個(gè)元素所存內(nèi)容,即對(duì)應(yīng)每個(gè)LED燈亮度值。耍改變某個(gè)LED燈亮度,都是通過(guò)設(shè)置led[]數(shù)組中對(duì)應(yīng)元素的PWM緩沖數(shù)值來(lái)實(shí)現(xiàn)自動(dòng)變換。要讓所有的燈全亮只需設(shè)置數(shù)組中的每個(gè)元素的數(shù)值都為255即可。如果要一半的亮度就設(shè)置為1 28。要讓某個(gè)燈單獨(dú)最亮,只要設(shè)置這個(gè)LED燈元素?cái)?shù)值為255.其他的元素為0。如果任意LED要產(chǎn)生漸漸變亮的效果,那么只要對(duì)應(yīng)數(shù)組元素中的數(shù)值從O逐漸變?yōu)?55即可。同理,漸漸變暗,數(shù)值就從255變成0。要實(shí)現(xiàn)什么樣的效果,大家可以通過(guò)改變led[]數(shù)組來(lái)實(shí)現(xiàn)。
上一篇:控制原理LED
熱門(mén)點(diǎn)擊
- 本征激發(fā)產(chǎn)生自由電子一空穴對(duì)
- 直流通路
- Arduino應(yīng)用
- 色帶電阻器的色碼
- 放大器的靜態(tài)工作點(diǎn)
- LED驅(qū)動(dòng)電源
- 通頻帶(passband)
- 變壓器實(shí)際繞制過(guò)程
- 晶體管的制作調(diào)試
- 數(shù)據(jù)提取與處理
推薦技術(shù)資料
- 繪制印制電路板的過(guò)程
- 繪制印制電路板是相當(dāng)重要的過(guò)程,EPL2010新穎的理... [詳細(xì)]
- 人形機(jī)器人市場(chǎng)未來(lái)發(fā)展格局前景預(yù)測(cè)
- 新一代航空器用激光雷達(dá)CES2
- SPAD-SoC集成1080-
- 全球首款1080線激光雷達(dá)應(yīng)用
- 激光雷達(dá)行業(yè)市場(chǎng)發(fā)展新動(dòng)態(tài)
- AI時(shí)代存儲(chǔ)技術(shù)產(chǎn)品走向趨勢(shì)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究