(按键)数码管

设计思路:由于一个数码管可以显示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

分配引脚:

全运行,烧写程序;实验现象:波动对应的开关,数码管显示对应的字符;

posted @ 2019-02-21 15:08  浮沉沉浮  阅读(292)  评论(0编辑  收藏  举报