1.理论学习
译码器(decoder)是一类多输入多输出组合逻辑电路器件,其可以分为:变量译码和
显示译码两类。变量译码器一般是一种较少输入变为较多输出的器件,常见的有 n 线-2^n
线译码和 8421BCD 码译码两类;显示译码器用来将二进制数转换成对应的七段码,一般其
可分为驱动 LED 和驱动 LCD 两类。
2.实验设计
读取输入信号,可以从按键知道其对应的译码值。
2.1系统框图
2.2硬件说明
in1、in2、in3分别对应硬件电路key1、key2、key3
seg_duan对应数码管段选
2.3代码
`timescale 1ns/1ns
module decoder3_8
#(
parameter
SEG_0 = 8'hc0, SEG_1 =8'hf9,
SEG_2 = 8'ha4, SEG_3 = 8'hb0,
SEG_4 = 8'h99, SEG_5 = 8'h92,
SEG_6 = 8'h82, SEG_7 = 8'hf8
)
(
input wire key1,
input wire key2,
input wire key3,
output reg [7:0] seg_duan,
output wire seg_wei
);
wire [2:0] key;
assign key = {key1,key2,key3};
assign seg_wei = 1'b1; //位选给高电平点亮
always@(*)
case(key)
3'd7 : seg_duan = SEG_0;
3'd6 : seg_duan = SEG_1;
3'd5 : seg_duan = SEG_2;
3'd4 : seg_duan = SEG_3;
3'd3 : seg_duan = SEG_4;
3'd2 : seg_duan = SEG_5;
3'd1 : seg_duan = SEG_6;
3'd0 : seg_duan = SEG_7;
default: seg_duan = SEG_0;
endcase
endmodule