3種效果的程序編寫
發(fā)布時間:2013/11/16 15:18:08 訪問次數(shù):675
程序的PWM頻率設置為最高的37.5kHz。BYM11-600-E3/76之所以選擇這么高的頻率是為了不影響動態(tài)掃描。試想,如果PWM頻率為100Hz,那么還怎么動態(tài)掃描呢?在程序中,動態(tài)掃描實際的頻率為62Hz。這已經(jīng)足夠騙過人的眼睛,讓我們看不到燈的閃爍。
在單片機的中斷代碼中,程序每過26 us就會產(chǎn)生溢出中斷一次,通過變量count計數(shù)中斷次數(shù)。當中斷的次數(shù)達到50次時,就更換下~個LED燈,顯示它對應的亮度。LED的亮度存儲到led[]這個數(shù)組中,每個LED燈通過載入對應的亮度值,即通過改變PWM產(chǎn)生寄存器的OCROA與OCROB,來實際控制高低電平脈寬長度,最終實現(xiàn)亮度的控制。當然,每次通過PWM控制亮度,都要先根據(jù)LED的驅動電平方式,重新設置PWM的控制模式。在此之前,還要記得設置不相關的引腳為高阻態(tài)。
LED的3種效果控制程序能夠實現(xiàn)LED燈不斷地變換,只要調(diào)用就能分別實現(xiàn)如下功能:所有LED燈的呼吸效果;逐個點亮和熄滅LED燈.LED燈流水顯示的效果。從編程的思路上講,led數(shù)組存放了12個元素,每個元素所存內(nèi)容,即對應每個LED燈亮度值。耍改變某個LED燈亮度,都是通過設置led[]數(shù)組中對應元素的PWM緩沖數(shù)值來實現(xiàn)自動變換。要讓所有的燈全亮只需設置數(shù)組中的每個元素的數(shù)值都為255即可。如果要一半的亮度就設置為1 28。要讓某個燈單獨最亮,只要設置這個LED燈元素數(shù)值為255.其他的元素為0。如果任意LED要產(chǎn)生漸漸變亮的效果,那么只要對應數(shù)組元素中的數(shù)值從O逐漸變?yōu)?55即可。同理,漸漸變暗,數(shù)值就從255變成0。要實現(xiàn)什么樣的效果,大家可以通過改變led[]數(shù)組來實現(xiàn)。
在單片機的中斷代碼中,程序每過26 us就會產(chǎn)生溢出中斷一次,通過變量count計數(shù)中斷次數(shù)。當中斷的次數(shù)達到50次時,就更換下~個LED燈,顯示它對應的亮度。LED的亮度存儲到led[]這個數(shù)組中,每個LED燈通過載入對應的亮度值,即通過改變PWM產(chǎn)生寄存器的OCROA與OCROB,來實際控制高低電平脈寬長度,最終實現(xiàn)亮度的控制。當然,每次通過PWM控制亮度,都要先根據(jù)LED的驅動電平方式,重新設置PWM的控制模式。在此之前,還要記得設置不相關的引腳為高阻態(tài)。
LED的3種效果控制程序能夠實現(xiàn)LED燈不斷地變換,只要調(diào)用就能分別實現(xiàn)如下功能:所有LED燈的呼吸效果;逐個點亮和熄滅LED燈.LED燈流水顯示的效果。從編程的思路上講,led數(shù)組存放了12個元素,每個元素所存內(nèi)容,即對應每個LED燈亮度值。耍改變某個LED燈亮度,都是通過設置led[]數(shù)組中對應元素的PWM緩沖數(shù)值來實現(xiàn)自動變換。要讓所有的燈全亮只需設置數(shù)組中的每個元素的數(shù)值都為255即可。如果要一半的亮度就設置為1 28。要讓某個燈單獨最亮,只要設置這個LED燈元素數(shù)值為255.其他的元素為0。如果任意LED要產(chǎn)生漸漸變亮的效果,那么只要對應數(shù)組元素中的數(shù)值從O逐漸變?yōu)?55即可。同理,漸漸變暗,數(shù)值就從255變成0。要實現(xiàn)什么樣的效果,大家可以通過改變led[]數(shù)組來實現(xiàn)。
程序的PWM頻率設置為最高的37.5kHz。BYM11-600-E3/76之所以選擇這么高的頻率是為了不影響動態(tài)掃描。試想,如果PWM頻率為100Hz,那么還怎么動態(tài)掃描呢?在程序中,動態(tài)掃描實際的頻率為62Hz。這已經(jīng)足夠騙過人的眼睛,讓我們看不到燈的閃爍。
在單片機的中斷代碼中,程序每過26 us就會產(chǎn)生溢出中斷一次,通過變量count計數(shù)中斷次數(shù)。當中斷的次數(shù)達到50次時,就更換下~個LED燈,顯示它對應的亮度。LED的亮度存儲到led[]這個數(shù)組中,每個LED燈通過載入對應的亮度值,即通過改變PWM產(chǎn)生寄存器的OCROA與OCROB,來實際控制高低電平脈寬長度,最終實現(xiàn)亮度的控制。當然,每次通過PWM控制亮度,都要先根據(jù)LED的驅動電平方式,重新設置PWM的控制模式。在此之前,還要記得設置不相關的引腳為高阻態(tài)。
LED的3種效果控制程序能夠實現(xiàn)LED燈不斷地變換,只要調(diào)用就能分別實現(xiàn)如下功能:所有LED燈的呼吸效果;逐個點亮和熄滅LED燈.LED燈流水顯示的效果。從編程的思路上講,led數(shù)組存放了12個元素,每個元素所存內(nèi)容,即對應每個LED燈亮度值。耍改變某個LED燈亮度,都是通過設置led[]數(shù)組中對應元素的PWM緩沖數(shù)值來實現(xiàn)自動變換。要讓所有的燈全亮只需設置數(shù)組中的每個元素的數(shù)值都為255即可。如果要一半的亮度就設置為1 28。要讓某個燈單獨最亮,只要設置這個LED燈元素數(shù)值為255.其他的元素為0。如果任意LED要產(chǎn)生漸漸變亮的效果,那么只要對應數(shù)組元素中的數(shù)值從O逐漸變?yōu)?55即可。同理,漸漸變暗,數(shù)值就從255變成0。要實現(xiàn)什么樣的效果,大家可以通過改變led[]數(shù)組來實現(xiàn)。
在單片機的中斷代碼中,程序每過26 us就會產(chǎn)生溢出中斷一次,通過變量count計數(shù)中斷次數(shù)。當中斷的次數(shù)達到50次時,就更換下~個LED燈,顯示它對應的亮度。LED的亮度存儲到led[]這個數(shù)組中,每個LED燈通過載入對應的亮度值,即通過改變PWM產(chǎn)生寄存器的OCROA與OCROB,來實際控制高低電平脈寬長度,最終實現(xiàn)亮度的控制。當然,每次通過PWM控制亮度,都要先根據(jù)LED的驅動電平方式,重新設置PWM的控制模式。在此之前,還要記得設置不相關的引腳為高阻態(tài)。
LED的3種效果控制程序能夠實現(xiàn)LED燈不斷地變換,只要調(diào)用就能分別實現(xiàn)如下功能:所有LED燈的呼吸效果;逐個點亮和熄滅LED燈.LED燈流水顯示的效果。從編程的思路上講,led數(shù)組存放了12個元素,每個元素所存內(nèi)容,即對應每個LED燈亮度值。耍改變某個LED燈亮度,都是通過設置led[]數(shù)組中對應元素的PWM緩沖數(shù)值來實現(xiàn)自動變換。要讓所有的燈全亮只需設置數(shù)組中的每個元素的數(shù)值都為255即可。如果要一半的亮度就設置為1 28。要讓某個燈單獨最亮,只要設置這個LED燈元素數(shù)值為255.其他的元素為0。如果任意LED要產(chǎn)生漸漸變亮的效果,那么只要對應數(shù)組元素中的數(shù)值從O逐漸變?yōu)?55即可。同理,漸漸變暗,數(shù)值就從255變成0。要實現(xiàn)什么樣的效果,大家可以通過改變led[]數(shù)組來實現(xiàn)。
熱門點擊
- 本征激發(fā)產(chǎn)生自由電子一空穴對
- 直流通路
- Arduino應用
- 色帶電阻器的色碼
- 放大器的靜態(tài)工作點
- LED驅動電源
- 通頻帶(passband)
- 變壓器實際繞制過程
- 晶體管的制作調(diào)試
- 數(shù)據(jù)提取與處理
推薦技術資料
- 繪制印制電路板的過程
- 繪制印制電路板是相當重要的過程,EPL2010新穎的理... [詳細]