国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

按鍵控制流水燈方向——FPGA

這篇具有很好參考價值的文章主要介紹了按鍵控制流水燈方向——FPGA。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

環(huán)境:
1、Quartus18.0
2、vscode
3、板子型號:EP4CE6F17C8
要求:
按鍵1按下,流水燈從右開始向左開始流動,按鍵2按下,流水燈從左開始向右開始流動,按鍵3按下LED每隔1s進行亮滅,按鍵4按下LED常亮。


一、按鍵

按鍵控制流水燈,FPGA,fpga開發(fā)
按鍵控制流水燈,FPGA,fpga開發(fā)

“自鎖”是指開關能通過鎖定機構保持某種狀態(tài)(通或斷),“輕觸”是說明操作開關使用的力量大小。cyclone IV開發(fā)板上的按鍵屬于輕觸式按鍵。

二、系統(tǒng)設計

1、模塊框圖

按鍵控制流水燈,FPGA,fpga開發(fā)

2、RTL視圖

按鍵控制流水燈,FPGA,fpga開發(fā)

三、源碼

module key_led #(parameter  MAX_NUM = 24'd9_999_999)(
    input   clk,
    input   rst_n,
    input   [3:0] key,

    output  reg [3:0] led
);

//parameter  MAX_NUM = 24'd9_999_999;//0.2s
reg [1:0] state;
reg [23:0] cnt;
reg [3:0]  key_r;

always @(posedge clk or negedge rst_n) begin
    if(!rst_n)begin
        cnt <= 24'd0;
    end
    else if (cnt == MAX_NUM) begin
        cnt <= 24'd0;
    end
    else begin
        cnt <= cnt + 1'd1;
    end
end

always @(posedge clk or negedge rst_n) begin
    if(!rst_n)begin
        state <= 24'd0;
    end
    else if (cnt == MAX_NUM) begin
        state <= state + 2'd1;
    end
    else begin
        state <= state;
    end
end

always @(posedge clk or negedge rst_n) begin
    if(!rst_n)begin
        led <= 4'b0000;
    end
    else if (key[0] == 0) begin
            case (state)
                2'd0 : led <= 4'b0001;
                2'd1 : led <= 4'b0010;
                2'd2 : led <= 4'b0100;
                2'd3 : led <= 4'b1000; 
                default: ;
            endcase
        end
    else if (key[1] == 0) begin
            case (state)
                2'd0 : led <= 4'b1000;
                2'd1 : led <= 4'b0100;
                2'd2 : led <= 4'b0010;
                2'd3 : led <= 4'b0001; 
                default: ;
            endcase
        end
    else if (key[2] == 0) begin
            case (state)
                2'd0 : led <= 4'b1111;
                2'd1 : led <= 4'b0000;
                2'd2 : led <= 4'b1111;
                2'd3 : led <= 4'b0000; 
                default: ;
            endcase
        end
    else if (key[3] == 0) begin
            case (state)
                2'd0 : led <= 4'b1111;
                2'd1 : led <= 4'b1111;
                2'd2 : led <= 4'b1111;
                2'd3 : led <= 4'b1111; 
                default: ;
            endcase
        end
    else 
        led <= led;
end

endmodule

四、效果

按鍵控制流水燈


五、總結

這里的實現并不難,加強了按鍵與LED的互動性,使用了狀態(tài)控制LED,槽點就是按鍵沒有進行消抖。

六、參考資料

按鍵控制led燈文章來源地址http://www.zghlxwxcb.cn/news/detail-734506.html

到了這里,關于按鍵控制流水燈方向——FPGA的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • FPGA 學習筆記:Verilog 實現LED流水燈控制

    在初步了解 Xilinx Vivado 的使用后,開啟了FPGA Hello World 程序:LED 流水燈控制 在嵌入式MCU中,流水燈需要延時來實現,FPGA的延時,使用外部晶振來實現 實現 3個 LED 流水燈控制,也就是循環(huán)依次點亮, LED 低電平亮, 高電平滅,FPGA 有一個40MHz的外部晶振,作為系統(tǒng)時鐘輸入開

    2023年04月08日
    瀏覽(32)
  • 「FPGA項目」—— 基于AMBA總線的流水燈控制系統(tǒng)

    「FPGA項目」—— 基于AMBA總線的流水燈控制系統(tǒng)

    本文將介紹一個完全用Verilog HDL手寫的AMBA片上系統(tǒng), 項目的主題是設計一個 基于AMBA總線的流水燈控制系統(tǒng) , 項目中所有數字邏輯電路部分都不會通過調用成熟IP核的方式來實現,而是通過Verilog進行RTL設計, 然后利用Vivado平臺對RTL模型進行仿真、綜合與布線, 最后在FPGA開

    2023年04月25日
    瀏覽(39)
  • FPGA開發(fā)之Vivado安裝及HLS環(huán)境配置,并實現流水燈實例

    FPGA開發(fā)之Vivado安裝及HLS環(huán)境配置,并實現流水燈實例

    HLS(High-Level Synthesis)高層綜合,就是將 C/C++的功能用 RTL 來實現,將 FPGA 的組件在一個軟件環(huán)境中來開發(fā),這個模塊的功能驗證在軟件環(huán)境中來實現,無縫的將硬件仿真環(huán)境集合在一起,使用軟件為中心的工具、報告以及優(yōu)化設計,很容易的在 FPGA 傳統(tǒng)的設計工具中生成 IP。

    2024年02月05日
    瀏覽(28)
  • 51單片機按鍵控制流水燈

    51單片機按鍵控制流水燈

    1獨立按鍵的原理圖 按鍵所對應的引腳為P3的0、1、2、3引腳口,并且這里總共有四個獨立按鍵,它們公共的一段都接到了 GND 電源的負極。這樣我們就知道按鍵上電的默認電平為高電平。所以我們只需要控制按鍵按下時給一個低電平0,不按下時默認高電平1就行。 ?2按鍵控制

    2024年02月11日
    瀏覽(18)
  • 【51單片機】獨立按鍵,每個按鍵不同功能,數碼管數值的加減,控制流水燈模式,包含按鍵消抖,數碼顯示,流水燈

    【51單片機】獨立按鍵,每個按鍵不同功能,數碼管數值的加減,控制流水燈模式,包含按鍵消抖,數碼顯示,流水燈

    實驗內容: 利用所學的單片機知識及電路知識編程實現單片機 I/O 口檢測按鍵輸入電平。 ????????1.選中 8 位數碼管的其中 1 位數碼管,當獨立按鍵 1 每按下一次,數碼管加一(按下期間加 1),范圍為 0—F; ????????2.選中 8 位數碼管的另 1 位數碼管,當獨立按鍵 2

    2024年02月06日
    瀏覽(20)
  • 流水燈——FPGA

    流水燈——FPGA

    環(huán)境: 1、Quartus18.0 2、vscode 3、板子型號:EP4CE6F17C8 要求: 每隔0.2s循環(huán)亮起LED燈 從LED0開始亮起到LED3又回到LED0循環(huán)往復。 流水燈 這里使用了拼接符對LED進行處理加上一個0.2s的計時器進行控制即可。 led流水燈

    2024年02月16日
    瀏覽(26)
  • fpga--流水燈

    fpga流水燈的設計 思路:外部時鐘頻率50mhz,若要實現每隔0.5s閃爍一次,則使用內部計數器計數到24999999拉高一個周期電平,當電平被拉高的時候,進行LED燈電平的設置,每次檢測到高電平,就進行一位LED燈的設置,進行循環(huán)設置,就形成了流水燈的設計。 測試代碼 ?

    2024年02月15日
    瀏覽(32)
  • FPGA學習——點亮流水燈

    FPGA學習——點亮流水燈

    在FPGA開發(fā)板中,一般板載LED默認高電平點亮,因此我們只需要將想要亮起的LED賦值為1即可。 本入門實驗要求為每隔1s開發(fā)板上的LED輪流亮起,因此我們需要一個1s的計數器, 由于開發(fā)板晶振時鐘為50MHz,因此我們計數50_000_000即為1s。 注意:為了后續(xù)方便仿真所以這里MAX設置

    2024年02月13日
    瀏覽(46)
  • FPGA學習——verilog實現流水燈

    FPGA學習——verilog實現流水燈

    學習芯片: EP4CE6F17C8 verilog代碼如下: 配置引腳,查看芯片的指導書: 燒錄運行結果如下: 如圖我們可以看見開發(fā)板上四個led燈同時被電亮。 代碼如下: 配置引腳,查看clock和key的引腳: 運行結果如下圖: 此時可以看見四個led燈同時閃爍。 流水燈代碼實現: 實驗效果圖如

    2024年02月16日
    瀏覽(33)
  • SOC FPGA之流水燈設計

    SOC FPGA之流水燈設計

    ????????Altera Soc EDS開發(fā)套件的核心是Altera版ARM Development Studio 5(DS-5)工具包,為SoC器件提供了完整的嵌入式開發(fā)環(huán)境、FPGA自適應調試和對Altera工具的兼容。 首先下載破解器 然后進入cmd運行,進入到破解器所在文件夾 ?然后輸入patcher.exe --license ?:licensepath 最后顯示.dat文件即

    2024年02月14日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包