(按键)数码管
设计思路:由于一个数码管可以显示0-f这16个字符,与3_8译码器思路一致,选择四个拨动开关组成选择器,从0000-1111波动。分别显示0-f这16个字符。
建立工程:
程序: module hex2(a,b,c,d,seg); input a,b,c,d; output reg [6:0]seg;//定义一个8位的位宽.只要是在always块中进行赋值的都要定义为reg类型。 always@(a,b,c,d) begin case ({a,b,c,d})//{}位为位拼接,将信号拼接成一个4位的信号 4'h0:seg=7'b1000000;//这里按数码管码表来 4'h1:seg=7'b1111001; 4'h2:seg=7'b0100100; 4'h3:seg=7'b0110000; 4'h4:seg=7'b0011001; 4'h5:seg=7'b0010010; 4'h6:seg=7'b0000010; 4'h7:seg=7'b1111000; 4'h8:seg=7'b0000000; 4'h9:seg=7'b0010000; 4'ha:seg=7'b0001000; 4'hb:seg=7'b0000011; 4'hc:seg=7'b1000110; 4'hd:seg=7'b0100001; 4'he:seg=7'b0000110; 4'hf:seg=7'b0001110; endcase end endmodule
分配引脚:
全运行,烧写程序;实验现象:波动对应的开关,数码管显示对应的字符;