计组预备实验2:七段LED数码管显示译码器设计

module preexp2(load, clk, rst, in, out, sel);
input[15:0] in;
input load, clk, rst;//rst清零信号,load置数信号
output reg[7:0] out;
output reg[2:0] sel;
//output reg[2:0] select;
reg[15:0] counter;//计数
reg[3:0] data;
reg clk_alt;
reg[9:0] l;
always@(posedge clk)
begin
	if(l>=1023) l<=0;
	else l<=l+1;
	clk_alt<=l[2];
end
always@(posedge clk)
begin
	if(sel<3)sel<=sel+1;
	else sel<=0;
end


always@(sel)
begin
case(sel)
		0:data<=counter[3:0];
		1:data<=counter[7:4];
		2:data<=counter[11:8]; 
		3:data<=counter[15:12];
endcase
end
always@(posedge clk_alt, posedge rst)
begin
	if(rst==1)     counter<=0;
	else if(load==1)counter<=in;
	else counter<=counter+1;
end
always@(data)
	case(data)
		0:out=63;//0011 1111
		1:out=6;
		2:out=91;
		3:out=79;
		4:out=102;
		5:out=109;
		6:out=175;
		7:out=7;
		8:out=127;
		9:out=111;
		10:out=119;
		11:out=124;
		12:out=57;
		13:out=94;
		14:out=121;
		15:out=113;
	endcase
endmodule

(待补充)

注意:最后的译码是以十进制方式赋值的,为了直观起见,最好写成16进制或者二进制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CGuts350

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值