如何以10進(jìn)位顯示8位數(shù)的七段顯示器?
switch_lut.v/Verilog
1/*
2 (c) OOMusou 2008年
3
4文件名 : switch_lut.v
5編譯器 : Quartus II 7.2 SP3
6描述: 演示如何使用8位7段顯示小數(shù)
7發(fā)行 : 07/20/2008 1.0
8 *
9模塊seg7_lut (
輸入的10 [3 :0] i_dig,
11輸出的reg [6 :0] o_seg
12);
13
14 always@ (i_dig)開始
15案件(i_dig)
16 4 ' h1 : o_seg = 7 ' b111_1001; // ---t----
17 4 ' h2 : o_seg = 7 ' b010_0100; // | |
18 4 ' h3 : o_seg = 7 ' b011_0000; // Lt rt
19 4 ' h4 : o_seg = 7 ' b001_1001; // | |
20 4 ' h5 : o_seg = 7 ' b001_0010; // ---m----
21 4 ' h6 : o_seg = 7 ' b000_0010; // | |
22 4 ' h7 : o_seg = 7 ' b111_1000; // lb 銣
23 4 ' h8 : o_seg = 7 ' b000_0000; // | |
24 4 ' h9 : o_seg = 7 ' b001_1000; // ---b----
25 4 ' ha : o_seg = 7 ' b000_1000;
26 4 ' hb : o_seg = 7 ' b000_0011;
27 4 ' hc : o_seg = 7 ' b100_0110;
28 4 ' hd : o_seg = 7 ' b010_0001;
29 4 '他: o_seg = 7 ' b000_0110;
30 4 ' hf : o_seg = 7 ' b000_1110;
31 4 ' h0 : o_seg = 7 ' b100_0000;
32 endcase
33末端
34
35 endmodule
36
switch_lut_8.v
1/*
2 (c) OOMusou 2008年
3
4文件名 : switch_lut_8.v
5編譯器 : Quartus II 7.2 SP3
6描述: 演示如何使用8位7段顯示小數(shù)
7發(fā)行 : 07/20/2008 1.0
8 *
9模塊seg7_lut_8 (
輸出的10 [6 :0] o_seg0,
輸出的11 [6 :0] o_seg1,
輸出的12 [6 :0] o_seg2,
輸出的13 [6 :0] o_seg3,
輸出的14 [6 :0] o_seg4,
輸出的15 [6 :0] o_seg5,
輸出的16 [6 :0] o_seg6,
輸出的17 [6 :0] o_seg7,
輸入的18 [31 :0] i_dig
19);
20
21 seg7_lut u0 (
22 .i_dig (i_dig%10),
23 .o_seg (o_seg0),
24);
25
26 seg7_lut u1 (
27 .i_dig ((i_dig或10)%10),
28 .o_seg (o_seg1)
29);
30
31 seg7_lut u2 (
32 .i_dig ((i_dig/100) %10),
33 .o_seg (o_seg2)
34);
35
36 seg7_lut u3 (
37 .i_dig ((i_dig/1000) %10),
38 .o_seg (o_seg3)
39);
40
41 seg7_lut u4 (
42 .i_dig ((i_dig/10000) %10),
43 .o_seg (o_seg4)
44);
45
46 seg7_lut u5 (
47 .i_dig ((i_dig/100000) %10),
48 .o_seg (o_seg5)
49);
50
51 seg7_lut u6 (
52 .i_dig ((i_dig/1000000) %10),
53 .o_seg (o_seg6)
54);
55
56 seg7_lut u7 (
57 .i_dig ((i_dig/10000000) %10),
58 .o_seg (o_seg7)
59);
60
61 endmodule
與(原創(chuàng))如何以2進(jìn)位顯示8位數(shù)的七段顯示器? (SOC) (Verilog) (DE2)與(原創(chuàng))如何以16進(jìn)位顯示8位數(shù)的七段顯示器? (SOC) (Verilog) (DE2)
相比較,關(guān)鍵的差異就在switch_lut_8.v。由于開關(guān)輸入的是2進(jìn)位,顯示2進(jìn)位就是將每個(gè)位送進(jìn)一個(gè)七段顯示器,顯示16進(jìn)位就是每4bit送進(jìn)一個(gè)
七段顯示器,但10進(jìn)位怎么辦呢?
如開關(guān)輸入的是10進(jìn)位的378,若要取的十位的7,將378/10 = 37,再將37% 10 = 7,這樣就能取出10位的7了,其它位數(shù)同理。
評(píng)論