?? led_8x8.v
字號:
//////////////////////////////////////////////////////////////////////
// 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 + -