0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過FPGA實現(xiàn)一個流水燈?

h1654155282.3538 ? 來源: 硬禾學(xué)堂 ? 作者: 硬禾學(xué)堂 ? 2021-06-06 10:42 ? 次閱讀

流水燈,有時候也叫跑馬燈,是一個簡單、有趣又經(jīng)典的實驗,基本所有單片機(jī)的玩家們在初期學(xué)習(xí)的階段都做過。本次我們也來介紹一下如何通過小腳丫FPGA實現(xiàn)一個流水燈。

流水燈就是讓一連串的燈在一定時間內(nèi)先后點亮并循環(huán)往復(fù),所以其中的關(guān)鍵要領(lǐng)就在于控制每兩個相鄰LED亮滅的時間差,以及所有LED燈完成一組亮滅動作后的循環(huán)。很久都沒有用過小腳丫的朋友可以再回顧一下,這上面有8個LED燈,且低電平點亮。

實現(xiàn)流水燈的方法絕不止一種,在這里我們采用模塊化的設(shè)計思路,因為模塊化設(shè)計對于之后構(gòu)建大型電路系統(tǒng)非常有幫助,并且我們還可以借機(jī)溫習(xí)一下以前學(xué)過的內(nèi)容。

現(xiàn)在我們的目標(biāo)是每過1秒后點亮下一個LED燈并且熄滅當(dāng)前燈,且在第8個燈熄滅之后循環(huán)整個流程,該如何設(shè)計整個模塊?我們先上圖后解釋。

poYBAGC8NkGAZm09AAAzjxoCpyo822.png

毫無疑問,第一步需要做的就是通過分頻來生成一個周期為1秒的時鐘信號,不了解時鐘分頻童鞋可以讀一下本系列的第6篇內(nèi)容。

有了一個1秒鐘嘀嗒一次的時鐘后,我們還要考慮到循環(huán)問題,因為在第8個LED燈熄滅之后還需要再返回到第1個。那么這個時候我們就需要一個計數(shù)器,它的作用就是數(shù)羊,一只,兩只…。。。數(shù)到第八只后重頭再來。數(shù)8只羊需要一個3位寬的變量(23=8)。

最后,由于我們是要依次點亮,也就是說8位的輸出中每次只有1位是低電平,其余均為高電平(小腳丫LED燈為低電平點亮)。這個特性正好對應(yīng)了我們之前學(xué)過的3-8譯碼器。

現(xiàn)在我們再來捋一遍。首先,通過分頻在小腳丫上生成一個周期為1秒的慢速時鐘信號,這個時鐘信號傳送到計數(shù)器之中;這個計數(shù)器是3位寬的,因此最多可以計八次慢速時鐘的嘀嗒,并且計數(shù)每增加1時,都對應(yīng)著3-8譯碼器的下一種輸出,也就對應(yīng)著流水燈的下一個狀態(tài)。

現(xiàn)在我們上代碼:

pYYBAGC8Nk-AYq29AACNV7qya1Q412.png

在第四篇講譯碼器的文章里,我們介紹過,如果需要調(diào)用/例化子模塊時,需要將各子模塊與大模塊放入同一個工程文件下進(jìn)行編譯。最后我們再來對小腳丫進(jìn)行管腳配置并燒錄就可以了。

poYBAGC8Nk-AFtvyAAA2QC8kpH8034.png

如果大家成功地在小腳丫上實現(xiàn)了流水燈的程序,還可以自己玩一個有意思的實驗:比如,你可以通過修改程序來提高流水燈的刷新頻率,然后看看LED燈的刷新率為多少時你的肉眼無法分別。同時再打開手機(jī)的攝像頭,也以同樣的方法試驗一番。結(jié)合到你觀察的現(xiàn)象,可以自己琢磨并思考一下,說不定能挖掘出更多的知識。

備注一些大伙都知道的常識:我國交流電工頻為50Hz,電腦常用顯示器的刷新率有60,75和144赫茲。華為Mate30刷新頻率為90赫茲,蘋果6-12的刷新頻率為60赫茲。
責(zé)任編輯人:CC

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601232
  • 流水燈
    +關(guān)注

    關(guān)注

    21

    文章

    432

    瀏覽量

    59598
收藏 人收藏

    評論

    相關(guān)推薦

    基于Verilog FPGA 流水燈設(shè)計

    流水廣告燈主要應(yīng)用于LED燈光控制。通過程序控制LED的亮和滅, 多個LED燈組成陣列,依次逐個點亮的時候像流水
    發(fā)表于 08-09 15:14 ?1.7w次閱讀
    基于Verilog <b class='flag-5'>FPGA</b> <b class='flag-5'>流水燈</b>設(shè)計

    基于FPGA的音樂流水燈控制系統(tǒng)設(shè)計

    介紹種基于 FPGA的音樂流水燈控制器, 采用硬件描述語言對其進(jìn)行描述, 分別實現(xiàn)樂曲的播放和同步流水燈的閃爍。并構(gòu)建
    發(fā)表于 10-20 17:21 ?4466次閱讀

    基于Verilog FPGA 流水燈設(shè)計_流水燈源碼_明德?lián)P資料

    LED流水廣告燈工程說明在本案例中,使用常用的verilog語言完成該程序,設(shè)計并控制8燈的花式或循環(huán)點亮;即上電后,實現(xiàn)左移和右移交替的流水燈。案例補充說明在
    發(fā)表于 08-02 17:56

    如何上手FPGA實現(xiàn)簡單的流水燈效果

    配置選擇上篇【FPGA實驗】流水燈實驗記錄了如何上手FPGA實現(xiàn)簡單的流水燈效果,本篇將稍微升級
    發(fā)表于 01-18 10:28

    簡單流水燈程序仿真

    簡單流水燈程序仿真,可以實現(xiàn)花式亮滅,循環(huán)。
    發(fā)表于 11-25 11:40 ?7次下載

    利用FPGA DIY開發(fā)板控制流水燈功能實現(xiàn)

    asean的 FPGA DIY 流水燈視頻
    的頭像 發(fā)表于 06-20 05:04 ?2948次閱讀
    利用<b class='flag-5'>FPGA</b> DIY開發(fā)板控制<b class='flag-5'>流水燈</b>功能<b class='flag-5'>實現(xiàn)</b>

    采用FPGA DIY 開發(fā)板實現(xiàn)8流水燈向左移功能

    FPGA diy作業(yè)實現(xiàn)8位LED輸出向左的流水燈
    的頭像 發(fā)表于 06-20 08:26 ?5406次閱讀
    采用<b class='flag-5'>FPGA</b> DIY 開發(fā)板<b class='flag-5'>實現(xiàn)</b>8<b class='flag-5'>個</b><b class='flag-5'>流水燈</b>向左移功能

    采用 FPGA DIY開發(fā)板實現(xiàn)流水燈功能

    實現(xiàn)從右到左邊的流水燈,間隔1s
    的頭像 發(fā)表于 06-20 06:30 ?3862次閱讀
    采用 <b class='flag-5'>FPGA</b> DIY開發(fā)板<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>流水燈</b>功能

    數(shù)字設(shè)計FPGA應(yīng)用:流水燈的設(shè)計

    LED流水燈這篇采用最簡單的就是點亮燈延時定時間,然后關(guān)閉,接下去點亮下一個燈,依次類推形成流水燈
    的頭像 發(fā)表于 12-04 07:09 ?3573次閱讀
    數(shù)字設(shè)計<b class='flag-5'>FPGA</b>應(yīng)用:<b class='flag-5'>流水燈</b>的設(shè)計

    使用FPGA實現(xiàn)流水燈的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用FPGA實現(xiàn)流水燈的詳細(xì)資料說明。流水燈模塊對于發(fā)展商而言,動土儀式無疑是最重要的任務(wù)。為此,流水燈實驗作為
    發(fā)表于 07-11 16:45 ?27次下載
    使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>流水燈</b>的詳細(xì)資料說明

    使用FPGA實現(xiàn)流水燈設(shè)計的資料合集

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用FPGA實現(xiàn)流水燈設(shè)計的資料合集免費下載。
    發(fā)表于 01-18 08:00 ?30次下載

    詳解基于FPGA的數(shù)字電路對流水燈的實驗

    流水燈,有時候也叫跑馬燈,是簡單、有趣又經(jīng)典的實驗,基本所有單片機(jī)的玩家們在初期學(xué)習(xí)的階段都做過。本次我們也來介紹下如何通過小腳丫
    的頭像 發(fā)表于 03-19 16:36 ?4412次閱讀

    51單片機(jī)實現(xiàn)流水燈

    文章目錄51單片機(jī)實現(xiàn)流水燈、點亮第一個LED燈二、流水燈1.總線型控制2.延時函數(shù)3._ crol _函數(shù)使用4.
    發(fā)表于 11-05 13:36 ?24次下載
    51單片機(jī)<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>流水燈</b>

    基于FPGA流水燈設(shè)計

    依次點亮4LED燈,實現(xiàn)流水燈的效果,兩燈之間點亮間隔為0.5s,LED燈次點亮持續(xù)時間0.5s。
    的頭像 發(fā)表于 06-23 16:54 ?2298次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>流水燈</b>設(shè)計

    基于FPGA開發(fā)板流水燈的設(shè)計實現(xiàn)

    流水燈,有時候也叫跑馬燈,是簡單、有趣又經(jīng)典的實驗,基本所有單片機(jī)的玩家們在初期學(xué)習(xí)的階段都做過。本次我們也來介紹下如何通過小腳丫
    發(fā)表于 06-20 17:10 ?1246次閱讀
    基于<b class='flag-5'>FPGA</b>開發(fā)板<b class='flag-5'>流水燈</b>的設(shè)計<b class='flag-5'>實現(xiàn)</b>