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

📄 led_8x8.v.bak

📁 取用Verilog语言驱动一个8*8点阵形。
💻 BAK
字号:
/////////////////////////////////////////////////////////////
// Create Date:2009.3.8    
// Engineer:Allen.He
// Design Name: led_8X8   
// Module Name: led_8X8
// Project Name:	led_8X8   
// Target Device:EPM7128SLC84-15  	
// Tool versions:  quartusII 8.0
// Description:		8*8点阵字符显示器,显示“电”字 从左往右 动
/////////////////////////////////////////////////////////////
module	led_8X8(sl,seg,clock);	
output[7:0]	sl;			//sl为选择扫描行
output[7:0]	seg;		//seg为显示数据
input	clock;			//输入时钟

reg[7:0]	seg_reg;	//输出数据寄存器
reg[7:0]	sl_reg;		//扫描行寄存器
reg[26:0]	count;		//计数器

//reg[3:0]	disp_dat;		//用于选择输出数据

always	@(posedge	clock)
	begin	
		count	=	count	+	1	;
	end

always	@(count[15:13])
	begin
		case(count[26:24])	
			3'h0:	case(count[15:13])
						3'h0:seg_reg=8'b00000000;		//显示“电”1
						3'h1:seg_reg=8'b00000011;
						3'h2:seg_reg=8'b00000010;
						3'h3:seg_reg=8'b00000011;
						3'h4:seg_reg=8'b00000010;
						3'h5:seg_reg=8'b00000011;
						3'h6:seg_reg=8'b00000010;
						3'h7:seg_reg=8'b00000000;
					endcase
			3'h1:	case(count[15:13])
						3'h0:seg_reg=8'b00000001;		//显示“电”2
						3'h1:seg_reg=8'b00001111;
						3'h2:seg_reg=8'b00001001;
						3'h3:seg_reg=8'b00001111;
						3'h4:seg_reg=8'b00001001;
						3'h5:seg_reg=8'b00001111;
						3'h6:seg_reg=8'b00001001;
						3'h7:seg_reg=8'b00000001;
				  	endcase
			3'h2:	case(count[15:13])
						3'h0:seg_reg=8'b00000100;		//显示“电”3
						3'h1:seg_reg=8'b00111111;
						3'h2:seg_reg=8'b00100100;
						3'h3:seg_reg=8'b00111111;
						3'h4:seg_reg=8'b00100100;
						3'h5:seg_reg=8'b00111111;
						3'h6:seg_reg=8'b00100100;
						3'h7:seg_reg=8'b00000111;						
			  		endcase
			3'h3:	case(count[15:13])
						3'h0:seg_reg=8'b00010000;		//显示“电”4
						3'h1:seg_reg=8'b11111110;
						3'h2:seg_reg=8'b10010010;
						3'h3:seg_reg=8'b11111110;
						3'h4:seg_reg=8'b10010010;
						3'h5:seg_reg=8'b11111110;
						3'h6:seg_reg=8'b10010001;
						3'h7:seg_reg=8'b00011111;
					endcase
			3'h4:	case(count[15:13])
						3'h0:seg_reg=8'b01000000;		//显示“电”5
						3'h1:seg_reg=8'b11111100;
						3'h2:seg_reg=8'b01000100;
						3'h3:seg_reg=8'b11111100;
						3'h4:seg_reg=8'b01000100;
						3'h5:seg_reg=8'b11111100;
						3'h6:seg_reg=8'b01000010;
						3'h7:seg_reg=8'b01111110;
					endcase
			3'h5:	case(count[15:13])
						3'h0:seg_reg=8'b10000000;		//显示“电”6
						3'h1:seg_reg=8'b11110000;
						3'h2:seg_reg=8'b10010000;
						3'h3:seg_reg=8'b11110000;
						3'h4:seg_reg=8'b10010000;
						3'h5:seg_reg=8'b11110000;
						3'h6:seg_reg=8'b10001000;
						3'h7:seg_reg=8'b11111000;
					endcase
			3'h6:	case(count[15:13])
						3'h0:seg_reg=8'b00000000;		//显示“电”7
						3'h1:seg_reg=8'b11100000;
						3'h2:seg_reg=8'b00100000;
						3'h3:seg_reg=8'b11100000;
						3'h4:seg_reg=8'b00100000;
						3'h5:seg_reg=8'b11100000;
						3'h6:seg_reg=8'b00010000;
						3'h7:seg_reg=8'b11110000;
					endcase
			3'h7:	case(count[15:13])
						3'h0:seg_reg=8'b00000000;		//显示“电”8
						3'h1:seg_reg=8'b10000000;
						3'h2:seg_reg=8'b10000000;
						3'h3:seg_reg=8'b10000000;
						3'h4:seg_reg=8'b10000000;
						3'h5:seg_reg=8'b10000000;
						3'h6:seg_reg=8'b01000000;
						3'h7:seg_reg=8'b11000000;
					endcase
			endcase


		
		case(count[15:13])
			3'h0:sl_reg=8'b00000001;		//逐行扫描
			3'h1:sl_reg=8'b00000010;
			3'h2:sl_reg=8'b00000100;
			3'h3:sl_reg=8'b00001000;
			3'h4:sl_reg=8'b00010000;
			3'h5:sl_reg=8'b00100000;
			3'h6:sl_reg=8'b01000000;
			3'h7:sl_reg=8'b10000000;	
		endcase
	end
	
assign	seg=~seg_reg;		//输出.......若取模时为共阳的,则assign	seg=~seg_reg;
assign	sl=sl_reg;		//输出扫描行
endmodule


/*
always	@(count[15:13])
	begin
		if(count[26:25]==2'h0)	
			case(count[15:13])
						3'h0:seg_reg=8'b00000000;		//显示“电”1
						3'h1:seg_reg=8'b00000011;
						3'h2:seg_reg=8'b00000010;
						3'h3:seg_reg=8'b00000011;
						3'h4:seg_reg=8'b00000010;
						3'h5:seg_reg=8'b00000011;
						3'h6:seg_reg=8'b00000010;
						3'h7:seg_reg=8'b00000000;
			endcase
		else	
			if(count[26:25]==2'h1)
			  	case(count[15:13])
						3'h0:seg_reg=8'b00000001;		//显示“电”2
						3'h1:seg_reg=8'b00001111;
						3'h2:seg_reg=8'b00001001;
						3'h3:seg_reg=8'b00001111;
						3'h4:seg_reg=8'b00001001;
						3'h5:seg_reg=8'b00001111;
						3'h6:seg_reg=8'b00001001;
						3'h7:seg_reg=8'b00000001;
				  endcase
			else
			  	if(count[26:25]==2'h2) 
				  	case(count[15:13])
						3'h0:seg_reg=8'b00000100;		//显示“电”3
						3'h1:seg_reg=8'b00111111;
						3'h2:seg_reg=8'b00100100;
						3'h3:seg_reg=8'b00111111;
						3'h4:seg_reg=8'b00100100;
						3'h5:seg_reg=8'b00111111;
						3'h6:seg_reg=8'b00100100;
						3'h7:seg_reg=8'b00000111;						
			  		endcase
				else
					case(count[15:13])
						3'h0:seg_reg=8'b00010000;		//显示“电”4
						3'h1:seg_reg=8'b11111110;
						3'h2:seg_reg=8'b10010010;
						3'h3:seg_reg=8'b11111110;
						3'h4:seg_reg=8'b10010010;
						3'h5:seg_reg=8'b11111110;
						3'h6:seg_reg=8'b10010001;
						3'h7:seg_reg=8'b00011111;
					endcase

*/
/*
*/

⌨️ 快捷键说明

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