⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lin.v

📁 cpld-epm7128stc100-10驱动四位LED结果显示1234
💻 V
字号:
module lin(seg,sl,clock);			        //定义模块结构
output [7:0] seg;					        //定义数码管段输出引脚
output [3:0] sl;					        //定义数码管选择输出引脚
input clock;						        //定义输入时钟引脚

reg [7:0] seg_reg;							//定义数码管段输出寄存器
reg [3:0] sl_reg;							//定义数码管选择输出寄存器
reg [3:0] disp_dat;							//定义显示数据寄存器
reg [36:0] count;							//定义计数器寄存器

always @(posedge clock)						//定义clock信号下降沿触发
begin
	count=count+1;							//计数器值加1
end

always @(count[14:13])						//定义显示数据触发事件
begin
	case (count[14:13])						//选择扫描显示数据
		2'h0: disp_dat =4'b0100;	 		//显示个位数值
		2'h1: disp_dat =4'b0011;		 	//显示十位数值
		2'h2: disp_dat =4'b0010;		 	//显示百位数值
		2'h3: disp_dat =4'b0001;		 	//显示?位数据
	endcase

	case (count[14:13])						//选择数码管显示位
		2'h0: sl_reg = 4'b0111;				//选择个位数码管
		2'h1: sl_reg = 4'b1011;				//选择十位数码管
		2'h2: sl_reg = 4'b1101;				//选择百位数码管
		2'h3: sl_reg = 4'b1110;				//选择?位数码管
	endcase
end

always @(disp_dat)							//显示译码输出
begin
	case (disp_dat)							//选择输出数据
		4'h0: seg_reg = 8'hc0;				//显示0
		4'h1: seg_reg = 8'hf9;				//显示1
		4'h2: seg_reg = 8'ha4;				//显示2
		4'h3: seg_reg = 8'hb0;				//显示3
		4'h4: seg_reg = 8'h99;				//显示4
		4'h5: seg_reg = 8'h92;				//显示5
		4'h6: seg_reg = 8'h82;				//显示6
		4'h7: seg_reg = 8'hf8;				//显示7
		4'h8: seg_reg = 8'h80;				//显示8
		4'h9: seg_reg = 8'h90;				//显示9
		4'ha: seg_reg = 8'h88;				//显示a
		4'hb: seg_reg = 8'h83;				//显示b
		4'hc: seg_reg = 8'hc6;				//显示c
		4'hd: seg_reg = 8'ha1;				//显示d
		4'he: seg_reg = 8'h86;				//显示e
		4'hf: seg_reg = 8'h8e;				//显示f
	endcase
end

assign seg=seg_reg;							//输出数码管译码结果
assign sl=sl_reg;							//输出数码管选择

endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -