国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

FPGA學習系列:19. rom到數(shù)碼管顯示設計

FPGA學習交流 ? 2018-06-18 19:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

設計背景:

rom是讀寫的的靜態(tài)存儲單元,在我們的設計中我們會經(jīng)常用到,數(shù)碼管模塊同樣的大大小小的設計還是工程應用中都有這至關重要的作用。

設計原理:

前幾節(jié)我們學習了rom存儲器的設計,還有數(shù)碼管模塊的設計,為了我們聯(lián)系這兩個模塊的應用我們今天將設計一個按鍵來控制讀取rom中的數(shù)據(jù),來顯示到數(shù)碼管上。

因為我們的數(shù)碼管模塊的顯示頻率是10K,所以我們應該小于10K的頻率給一個rom地址,從而出一個數(shù)據(jù),我們的設計是0.5s出一個數(shù)據(jù),這樣我們就能在數(shù)碼管上顯示隨著地址的增加,數(shù)據(jù)同樣也在變化。

第一步我們要先設計我們的.mif文件,我們在前10個地址是上寫入0 -- 10,然后建立一個rom 的ip核,添加進去從而便于后面的例化。

設計模塊,我們前面講過數(shù)碼管模塊,這樣就可以直接拿過來用了,今天我們將主要給大家展示我們的rom控制模塊。

設計架構圖:

image.png

設計代碼:

頂層模塊

0modulerom_seg (clk,rst_n,key,sel,seg_n);

1

2 inputclk,rst_n;

3 inputkey;

4 output[7:0]seg_n;//段選信號

5 output[2:0]sel;//位選信號

6

7 wire[3:0]data;

8 wire[23:0]hex;

9

10 //6個數(shù)碼管上顯示同樣的數(shù)據(jù)

11 assignhex[23:0]= {data[3:0],data[3:0],data[3:0],data[3:0],data[3:0],data[3:0]};

12

13 rom rom_inst ( //rom控制模塊的例化

14 .key(key),

15 .clk(clk),

16 .rst_n(rst_n),

17 .data(data)

18 );

19

20

21 seg SEG( //數(shù)碼管模塊的裂化

22 .clk(clk),

23 .rst_n(rst_n),

24 .sel(sel),

25 .seg7(seg_n),

26 .data_in(hex)

27 );

28

29

30endmodule

設計模塊

0modulerd_rom (key,clk,rst_n,addr);

1

2 inputclk;//輸入系統(tǒng)時鐘

3 inputrst_n;//輸入系統(tǒng)復位

4 inputkey;//按鍵控制

5

6 outputreg[3:0]addr;

7 reg[31:0]cnt;

8

9 always@(posedgeclk ornegedgerst_n)

10 begin

11 if(!rst_n)//異步復位

12 addr <=0;

13 elseif(addr <15&&key ==0&&cnt ==50000000/2-1)

14 addr <=addr +1'b1;//地址加1

15 else

16 addr <=addr;

17 end

18

19 always@(posedgeclk ornegedgerst_n)

20 begin

21 if(!rst_n)

22 begin

23 cnt<=0;

24 end

25 else

26 begin

27 if(cnt <50000000/2-1)// 50000000/10000/2 1hz的一 28 cnt <=cnt +1;

29 else

30 cnt <=0;

31 end

32 end

33endmodule

測試模塊

0`timescale1ns/1ps

1

2modulerom_seg_tb;

3

4 regclk;

5 regrst_n;

6 regkey;

7

8 wire[2:0]sel;

9 wire[7:0]seg_n;

10

11 initialbegin

12 clk =0;

13 rst_n =0;

14 key =1;

15

16 #200.1rst_n=1;

17 #200

18 forever

19 begin

20 #50key =1; //模擬按鍵

21 #50key =0;

22 end

23 end

24

25 always#10clk =~clk;

26

27 rom_seg rom_seg_dut( //例化頂層模塊

28 .clk(clk),

29 .rst_n(rst_n),

30 .key(key),

31 .sel(sel),

32 .seg_n(seg_n)

33 );

34

35endmodule

仿真:

image.png

在設計我們可以看到我們讀出了第一個數(shù),然后下面的數(shù)我們可以調整我們的計數(shù)單元來通過顯示。

數(shù)碼管模塊我們可以用我們以前的 或者下面的:

0moduleseg(clk,rst_n,sel,seg7,data_in);//端口定義

1

2 inputclk;

3 inputrst_n;

4 input[23:0]data_in;//輸入6個燈的數(shù)據(jù)

5

6 outputreg[2:0]sel;

7 outputreg[7:0]seg7;

8

9 parameters0 =3'b000;

10 parameters1 =3'b001;

11 parameters2 =3'b010;

12 parameters3 =3'b011;

13 parameters4 =3'b100;

14 parameters5 =3'b101;

15

16 //`define T1ms 50_000 //定義1k的計數(shù)值

17 `defineT1ms 5

18 reg[15:0]count;

19 wireflag;

20 always@(posedgeclk ornegedgerst_n)

21 if(!rst_n)

22 begin

23 count <=15'b0;

24 end

25 else

26 if(count ==`T1ms-1)//計數(shù)到1MS

27 begin

28 count <=15'b0;

29 end

30 else

31 begin

32 count <=count +1'b1;

33 end

34

35 assignflag =(count ==`T1ms-1)?1'b1:1'b0;//標志位賦值

36

37 reg[2:0]state;

38 reg[3:0]num;

39 always@(posedgeclk ornegedgerst_n)

40 if(!rst_n)

41 begin

42 sel <=3'b0;

43 state <=3'b0;

44 num <=4'b0;

45 end

46 else

47 begin

48 case(state)

49 s0:begin

50 if(flag)

51 state <=s1;//亮第一個燈,給24位數(shù)據(jù)的 4

52 else

53 begin

54 sel <=3'b000;

55 num <=data_in[23:20];

56 end

57 end

58 s1:begin

59 if(flag) ////亮第2個燈,給24位數(shù)據(jù) 4

60 state <=s2;

61 else

62 begin

63 sel <=3'b001;

64 num <=data_in[19:16];

65 end

66 end

67 s2:begin

68 if(flag) //亮第3個燈,給24位數(shù)據(jù)的 4

69 state <=s3;

70 else

71 begin

72 sel <=3'b010;

73 num <=data_in[15:12];

74 end

75 end

76 s3:begin

77 if(flag) //亮第4個燈,給24位數(shù)據(jù)的4

78 state <=s4;

79 else

80 begin

81 sel <=3'b011;

82 num <=data_in[11:8];

83 end

84 end

85 s4:begin

86 if(flag) //亮第5個燈,給24位數(shù)據(jù)的4

87 state <=s5;

88 else

89 begin

90 sel <=3'b100;

91 num <=data_in[7:4];

92 end

93 end

94 s5:begin

95 if(flag) //亮第6個燈,給24位數(shù)據(jù)的4

96 state <=s0;

97 else

98 begin

99 sel <=3'b101;

100 num <=data_in[3:0];

101 end

102 end

103 default:state <=s0;

104 endcase

105 end

106

107 always@(*) //數(shù)碼管的譯碼模塊

108 begin

109 case(num)

110 0:seg7 =8'b1100_0000;

111 1:seg7 =8'b1111_1001;

112 2:seg7 =8'b1010_0100;

113 3:seg7 =8'b1011_0000;

114 4:seg7 =8'b1001_1001;

115 5:seg7 =8'b1001_0010;

116 6:seg7 =8'b1000_0010;

117 7:seg7 =8'b1111_1000;

118 8:seg7 =8'b1000_0000;

119 9:seg7 =8'b1001_0000;

120 10:seg7 =8'b1000_1000;

121 11:seg7 =8'b1000_0011;

122 12:seg7 =8'b1100_0110;

123 13:seg7 =8'b1010_0001;

124 14:seg7 =8'b1000_0110;

125 15:seg7 =8'b1000_1110;

126 default:;

127 endcase

128 end

129endmodule


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

    關注

    1660

    文章

    22412

    瀏覽量

    636332
  • 數(shù)碼管
    +關注

    關注

    32

    文章

    1894

    瀏覽量

    94145
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【RA-Eco-RA2E1-V1.0開發(fā)板試用】串行數(shù)碼管模塊顯示驅動

    為了便于輸出顯示,就為開發(fā)板配備了以MAX7219為控制芯片的數(shù)碼管顯示模塊,它有兩種工作模式,一種是采用編碼的工作模式,另一種則是采用非編碼的工作模式。 為了驅動該模塊,所使用的是接口J3,見圖1
    發(fā)表于 01-26 11:54

    數(shù)碼管 選型手冊2025年最新版

    數(shù)碼管具有高亮度、多種顏色、寬視角、簡單驅動、長壽命、抗震抗沖擊、節(jié)能環(huán)保和成本低等特點。適用于電子設備、工業(yè)控制和家用電器等領域的數(shù)字顯示,提供清晰、均勻的顯示效果,易于集成和控制。
    發(fā)表于 12-30 11:34 ?0次下載

    【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+串行數(shù)碼管顯示驅動

    在開發(fā)板上,為用戶預留了3個GPIO引腳以便測試和使用,見圖1所示。 圖1預留的GPIO資源 這3個GPIO引腳的位置見圖2所示,用它可驅動串行數(shù)碼管顯示模塊來實現(xiàn)顯示功能。 圖2 引腳位置 為此
    發(fā)表于 12-24 19:03

    第6章 中斷與數(shù)碼管動態(tài)顯示(6.1 6.2)

    中斷是單片機系統(tǒng)重點中的重點,因為有了中斷,單片機就具備了快速協(xié)調多模塊工作的能力,可以完成復雜的任務。本章將首先帶領大家學習一些必要的C語言基礎知識,然后講解數(shù)碼管動態(tài)顯示的原理,并最終借助于中斷
    的頭像 發(fā)表于 12-08 17:03 ?632次閱讀

    第5章 定時器與數(shù)碼管基礎(5.3)

    5.3 數(shù)碼管學習 LED小燈是一種簡單的LED,只能通過亮和滅來表達簡單的信息。這節(jié)課學習一種能表達更復雜信息的器件——LED數(shù)碼管。 5.3.1
    的頭像 發(fā)表于 12-02 15:57 ?694次閱讀
    第5章 定時器與<b class='flag-5'>數(shù)碼管</b>基礎(5.3)

    FZH183 帶鍵盤掃描接口的LED(發(fā)光二極顯示器)驅動控制專用電路--方中禾科技

    ,數(shù)據(jù)按低位高位寫入。示例:共陰數(shù)碼管顯示“0”需向地址00H寫入數(shù)據(jù)3FH。鍵盤掃描自動完成鍵掃描,用戶需按時序讀取鍵值。鍵掃數(shù)據(jù)通過4字節(jié)寄存器(BYTE1-BYTE4)存儲,按鍵按下時對應
    發(fā)表于 11-28 09:31

    FZH182 帶鍵盤掃描接口的LED(發(fā)光二極顯示器)驅動控制專用電路

    驅動。o 顯示數(shù)據(jù)通過16字節(jié)寄存器(00H-0FH)存儲,數(shù)據(jù)按低位高位寫入。o 示例:共陰數(shù)碼管顯示“0”需向地址00H寫入數(shù)據(jù)3FH。鍵盤掃描o 自動完成鍵掃描,用戶需按時序讀
    發(fā)表于 11-27 14:58

    【瑞薩RA6E2】ADC數(shù)據(jù)采集與數(shù)碼管顯示

    概述 項目簡介 本報告基于瑞薩RA6E2評估板,實現(xiàn)了一個完整的ADC數(shù)據(jù)采集與顯示系統(tǒng)。通過板載ADC通道采集模擬信號,將采集的數(shù)字量通過動態(tài)掃描方式在4位數(shù)碼管上實時顯示,展示了
    發(fā)表于 11-27 00:52

    原廠 FZH114C  一款LED(發(fā)光二極數(shù)碼管、點陣屏)驅動控制專用芯片

    :驅動6位數(shù)碼管,每位數(shù)碼管7段(a-g)。8段×5位:驅動5位數(shù)碼管,每位數(shù)碼管8段(含小數(shù)點DP)。亮度調節(jié):段驅動電流8級可調(建議≥2/8以確保亮度)。位占空比16級可調,靈活
    發(fā)表于 11-19 14:43

    FZH114  LED(發(fā)光二極數(shù)碼管、點陣屏)驅動控制專用芯片,集成數(shù)字通訊電路、 解碼電路、數(shù)據(jù)鎖存器、震蕩器

    顯示、LED點陣屏、機頂盒顯示等。 工業(yè)控制設備:需要多位數(shù)碼管或LED點陣顯示的場景。 注意事項 段驅動電流:建議設置為2/8及以上,以確保LED正常點亮。 共陰設計:僅適用于共陰
    發(fā)表于 11-19 11:13

    級聯(lián)動態(tài)掃描顯示數(shù)碼管問題

    GD32F103C8T6 硬件SPI連接移位寄存器74HC595級聯(lián),動態(tài)掃描顯示五位數(shù)碼管 是否需要電平轉換芯片TXB0104 數(shù)碼管選擇共陰極和共陽極區(qū)別是什么 若使用TXB0104,TXB0104的OE腳在代碼書寫時是否需
    發(fā)表于 10-07 20:36

    抗噪數(shù)顯驅動數(shù)碼管顯示IC芯片VK1616

    產(chǎn)品品牌:永嘉微電/VINKA 產(chǎn)品型號:VK1616 封裝形式:SOP16 產(chǎn)品年份:新年份 概述:VK1616是一種數(shù)碼管或點陣LED驅動控制專用芯片,內(nèi)部集成有3線串行接口、數(shù)據(jù)鎖存器、LED
    發(fā)表于 08-18 17:27

    廣州唯創(chuàng)電子語音芯片WTV380-B001數(shù)碼管顯示驅動ic:開啟智能廚房的“芯”體驗

    在現(xiàn)代家庭中,智能廚電正迅速成為品質生活的標配。然而,操作復雜、交互生硬、功能單一等問題仍困擾著用戶。深圳廣州唯創(chuàng)電子推出的WTV380-B001智能語音芯片數(shù)碼管顯示驅動IC,以高度集成的“一芯
    的頭像 發(fā)表于 07-31 08:49 ?413次閱讀
    廣州唯創(chuàng)電子語音芯片WTV380-B001<b class='flag-5'>數(shù)碼管</b><b class='flag-5'>顯示</b>驅動ic:開啟智能廚房的“芯”體驗

    【應用】工業(yè)現(xiàn)場的“智能顯示管家”:億佰特EID051-1xx系列 Modbus數(shù)碼管解析

    數(shù)碼管。億佰特新推出的EID051-1xx系列Modbus數(shù)碼管,以多種核心優(yōu)勢,成為工業(yè)現(xiàn)場的一大助力。一.什么是Modbus數(shù)碼管?Modbus
    的頭像 發(fā)表于 07-17 19:34 ?664次閱讀
    【應用】工業(yè)現(xiàn)場的“智能<b class='flag-5'>顯示</b>管家”:億佰特EID051-1xx<b class='flag-5'>系列</b> Modbus<b class='flag-5'>數(shù)碼管</b>解析

    防干擾數(shù)碼管驅動LED數(shù)碼管驅動芯片VK1668

    產(chǎn)品型號:VK1668 產(chǎn)品品牌:永嘉微電/VINKA 封裝形式:SOP24 概述 VK1668是一種帶鍵盤掃描接口的數(shù)碼管或點陣LED驅動控制專用芯片,內(nèi)部集成有3線串行接口、數(shù)據(jù)鎖存器、LED
    發(fā)表于 03-25 17:13