verilog数码管静态显示。 。 。 。 。 。 可以按照这程序给我说说它的运行过程吗?
首先,您应该能够理解解码的段落,对吗? 如果有注释,则由于输出信号的不同值,数字管将显示不同的。这意味着注释为0-9 a-f。
4 'h0:sm_seg = 8 'hc0; //显示“ 0” 4 'H1 :sm_seg = 8 'hf9 ; H3 :SM_SEG = 8 'Hb0; //显示“ 3 ” 4 'H4 :SM_SEG = 8 'H9 9 ; sm_seg = 8 'h8 2 ; //显示“ 6 ” 4 'H7 :sm_seg = 8 'hf8 ; //显示“ 8 ” 4 'H9 :sm_seg = 8 'h9 0;显示“ b” 4 'hc:sm_seg = 8 'hc6 ; //显示“ C” 4 'hd:sm_seg = 8 'ha1 ; e“ 4 'hf:sm_seg = 8 'h8 e; //在show“ f”中,输出sm_seg如何更改? 更改取决于disp_dat的更改:case(disp_dat)。
查看以下代码:wase@(posedgeclk)begincount = count+1 'b1 ; sm_bit = 8 'b0000000000;(count [2 4 ])计数器计数将自动增加1 ,如下所示:count:0000 003 7 0s,计数器为3 7 位,因此附加1 是: 添加1 个计数:0000 .. .1 0 coning Count:0000 1 1 累积直到2 4 位变化,即2 4 位跳跃从0到1 或从1 到0。
我将继续。
2 5 位付款的计数位中的位支付给disp_dat。
更改disp_dat的值会导致输出寄存器SM_SEG的更改,从而更改数字管的显示。
因此,通常,数字管将自动从0-9 A-F跳跃。
数码管显示三位数循环
Verilog语言可以定义计数器和控制信号,以查看三位数周期数字管。Verilog语言,三个计数器CNT1 ,CNT2 和CNT3 分别代表一百,十和一个位。
还定义可变量flag_value代表当前显示的数字。
最初,flag_value的值为0,重要的是没有数字可以显示。