呼吸燈的效果是燈逐漸由暗變亮再逐漸由亮變暗,FPGA的引腳電壓只有“0”和“1”兩個(gè)等級(jí)。
因此通過改變引腳單位時(shí)間內(nèi)高電平的輸出時(shí)間來實(shí)現(xiàn)呼吸燈,也就是讓FPGA引腳輸出一系列PWM波信號(hào)并不斷改變PWM波的占空比。
PWM(Pluse Width Modulation)脈沖寬度調(diào)制,是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。
占空比(Duty Cycle or Duty Ratio),可以解釋為,在一脈沖序列中(方波),正脈沖序列的持續(xù)時(shí)間與脈沖總周期的比值。也可理解為,電路釋放能量的有效時(shí)間與總釋放時(shí)間的比值。
我們將led從亮到滅(從滅到亮)的過程設(shè)為1S.將周期設(shè)為1MS.就是有1000個(gè)周期,然后每相鄰兩個(gè)周期改變的差值為1us;如下圖所示
波形圖繪制如下:
按照這個(gè)撰寫代碼,因?yàn)?0M時(shí)鐘,一個(gè)周期是20ns,故50個(gè)單位為1us.
在框1中為1us模塊;
在框2中為1ms模塊,這里有個(gè)細(xì)節(jié)需要注意一下,第24行只有微妙的計(jì)數(shù)完成同時(shí)ms到達(dá)溢出值時(shí),才進(jìn)行置零。若當(dāng)前ms為999,但us處于計(jì)數(shù)0-48時(shí),ms仍不改變。
在框3中為1s模塊,與框2同理;
在框4中為控制從亮到滅,從滅到亮的一個(gè)標(biāo)志信號(hào);
在框5中,當(dāng)en為0,且當(dāng)前ms小于S對(duì)應(yīng)的時(shí)間段就是低電平時(shí)刻;同理當(dāng)en為1,且當(dāng)前ms大于S對(duì)應(yīng)的時(shí)間段就是低電平時(shí)刻.
測(cè)試代碼編寫如下:
測(cè)試圖如下:
注這里為消除前綴。CRTL+G為分組。CRTL+w為添加信號(hào)。
-
FPGA
+關(guān)注
關(guān)注
1630文章
21796瀏覽量
605987 -
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2261瀏覽量
94981 -
脈沖寬度調(diào)制
+關(guān)注
關(guān)注
7文章
81瀏覽量
13789 -
PWM波
+關(guān)注
關(guān)注
0文章
99瀏覽量
16947 -
呼吸燈
+關(guān)注
關(guān)注
10文章
111瀏覽量
42808
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
PWM實(shí)現(xiàn)呼吸燈效果
怎么通過PWM來實(shí)現(xiàn)呼吸燈的
PWM實(shí)現(xiàn)呼吸燈流程
PWM實(shí)現(xiàn)呼吸燈的應(yīng)用
STM32實(shí)現(xiàn)PWM呼吸燈的程序合集免費(fèi)下載
![STM32實(shí)現(xiàn)<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的程序合集免費(fèi)下載](https://file.elecfans.com/web1/M00/B8/23/o4YBAF5zO2-AYvdzAAFrqUpbM_Y434.png)
呼吸燈的設(shè)計(jì)與仿真資料合集免費(fèi)下載
![<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的設(shè)計(jì)與<b class='flag-5'>仿真</b>資料合集免費(fèi)下載](https://file.elecfans.com/web1/M00/C4/1D/o4YBAF82PsyAITgJAAJr4E9kyJk953.png)
STM32_PWM呼吸燈
![STM32_<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32—PWM控制呼吸燈實(shí)驗(yàn)
![STM32—<b class='flag-5'>PWM</b>控制<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>實(shí)驗(yàn)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32 使用PWM實(shí)現(xiàn)呼吸燈
![STM32 使用<b class='flag-5'>PWM</b>實(shí)現(xiàn)<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
proteus仿真stm32控制呼吸燈
![proteus<b class='flag-5'>仿真</b>stm32控制<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
通過STM32實(shí)現(xiàn)PWM呼吸燈的教程
![通過STM32實(shí)現(xiàn)<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的教程](https://file.elecfans.com/web2/M00/09/EC/pYYBAGD3YAKAS28bAAGTMd8j4Pw933.png)
評(píng)論