`timescale 1ns / 1ps
module dot(
input RESET,
input CLK,
output [9:0] DOT_COL,
output [13:0] DOT_RAW
);
reg [12:0] cnt;
reg clk_out;
reg [3:0] COL_counter, COL_counter_1_delay;
reg [24:0] DOT_Data_counter;
reg [3:0] DOT_Data;
reg [9:0] dot_col_reg;
reg [6:0] dot_raw_reg;
always @ (posedge RESET or posedge CLK)
begin
if(RESET)
begin
cnt <= 13'd0;
clk_out <= 0;
end
else
begin
if (cnt < 13'd5999)
cnt <= cnt + 13'd1;
else if (cnt == 13'd5999)
begin
cnt <= 13'd0;
clk_out <= ~clk_out;
end
end
end
always @ (posedge RESET or posedge clk_out)
begin
if(RESET)
begin
COL_counter <= 4'd0;
COL_counter_1_delay <= 4'd0;
end
else
begin
if(COL_counter == 4'd9)
begin
COL_counter <= 4'd0;
end
else
begin
COL_counter <= COL_counter + 1'b1;
end
COL_counter_1_delay <= COL_counter;
end
end
always @ (posedge RESET or posedge CLK)
begin
if(RESET)
begin
DOT_Data_counter <= 25'd0;
DOT_Data <= 4'd0;
end
else
begin
if(DOT_Data_counter < 25'd23999999)
DOT_Data_counter <= DOT_Data_counter + 25'd1;
else
DOT_Data_counter <= 25'd0;
if(DOT_Data_counter == 25'd23999999)
begin
if(DOT_Data == 4'd9)
DOT_Data <= 4'd0;
else
DOT_Data <= DOT_Data+ 4'd1;
end
end
end
always @ (posedge clk_out)
begin
if(DOT_Data == 4'd0)
begin
case(COL_counter)
4'd0 : begin dot_col_reg <= 10'b0000000001; dot_raw_reg <= ~{7'h3e}; end
4'd1 : begin dot_col_reg <= 10'b0000000010; dot_raw_reg <= ~{7'h7f}; end
4'd2 : begin dot_col_reg <= 10'b0000000100; dot_raw_reg <= ~{7'h63}; end
4'd3 : begin dot_col_reg <= 10'b0000001000; dot_raw_reg <= ~{7'h73}; end
4'd4 : begin dot_col_reg <= 10'b0000010000; dot_raw_reg <= ~{7'h73}; end
4'd5 : begin dot_col_reg <= 10'b0000100000; dot_raw_reg <= ~{7'h6f}; end
4'd6 : begin dot_col_reg <= 10'b0001000000; dot_raw_reg <= ~{7'h67}; end
4'd7 : begin dot_col_reg <= 10'b0010000000; dot_raw_reg <= ~{7'h63}; end
4'd8 : begin dot_col_reg <= 10'b0100000000; dot_raw_reg <= ~{7'h7f}; end
4'd9 : begin dot_col_reg <= 10'b1000000000; dot_raw_reg <= ~{7'h3e}; end
endcase
end
else if(DOT_Data == 4'd1)
begin
case(COL_counter)
4'd0 : begin dot_col_reg <= 10'b0000000001; dot_raw_reg <= ~{7'h0c}; end
4'd1 : begin dot_col_reg <= 10'b0000000010; dot_raw_reg <= ~{7'h1c}; end
4'd2 : begin dot_col_reg <= 10'b0000000100; dot_raw_reg <= ~{7'h1c}; end
4'd3 : begin dot_col_reg <= 10'b0000001000; dot_raw_reg <= ~{7'h0c}; end
4'd4 : begin dot_col_reg <= 10'b0000010000; dot_raw_reg <= ~{7'h0c}; end
4'd5 : begin dot_col_reg <= 10'b0000100000; dot_raw_reg <= ~{7'h0c}; end
4'd6 : begin dot_col_reg <= 10'b0001000000; dot_raw_reg <= ~{7'h0c}; end
4'd7 : begin dot_col_reg <= 10'b0010000000; dot_raw_reg <= ~{7'h0c}; end
4'd8 : begin dot_col_reg <= 10'b0100000000; dot_raw_reg <= ~{7'h0c}; end
4'd9 : begin dot_col_reg <= 10'b1000000000; dot_raw_reg <= ~{7'h1e}; end
endcase
end
else if(DOT_Data == 4'd2)
begin
case(COL_counter)
4'd0 : begin dot_col_reg <= 10'b0000000001; dot_raw_reg <= ~{7'h7e}; end
4'd1 : begin dot_col_reg <= 10'b0000000010; dot_raw_reg <= ~{7'h7f}; end
4'd2 : begin dot_col_reg <= 10'b0000000100; dot_raw_reg <= ~{7'h03}; end
4'd3 : begin dot_col_reg <= 10'b0000001000; dot_raw_reg <= ~{7'h03}; end
4'd4 : begin dot_col_reg <= 10'b0000010000; dot_raw_reg <= ~{7'h3f}; end
4'd5 : begin dot_col_reg <= 10'b0000100000; dot_raw_reg <= ~{7'h7e}; end
4'd6 : begin dot_col_reg <= 10'b0001000000; dot_raw_reg <= ~{7'h60}; end
4'd7 : begin dot_col_reg <= 10'b0010000000; dot_raw_reg <= ~{7'h60}; end
4'd8 : begin dot_col_reg <= 10'b0100000000; dot_raw_reg <= ~{7'h7f}; end
4'd9 : begin dot_col_reg <= 10'b1000000000; dot_raw_reg <= ~{7'h7f}; end
endcase
end
else if(DOT_Data == 4'd3)
begin
case(COL_counter)
4'd0 : begin dot_col_reg <= 10'b0000000001; dot_raw_reg <= ~{7'hfe}; end
4'd1 : begin dot_col_reg <= 10'b0000000010; dot_raw_reg <= ~{7'h7f}; end
4'd2 : begin dot_col_reg <= 10'b0000000100; dot_raw_reg <= ~{7'h03}; end
4'd3 : begin dot_col_reg <= 10'b0000001000; dot_raw_reg <= ~{7'h03}; end
4'd4 : begin dot_col_reg <= 10'b0000010000; dot_raw_reg <= ~{7'h7f}; end
4'd5 : begin dot_col_reg <= 10'b0000100000; dot_raw_reg <= ~{7'h7f}; end
4'd6 : begin dot_col_reg <= 10'b0001000000; dot_raw_reg <= ~{7'h03}; end
4'd7 : begin dot_col_reg <= 10'b0010000000; dot_raw_reg <= ~{7'h03}; end
4'd8 : begin dot_col_reg <= 10'b0100000000; dot_raw_reg <= ~{7'h7f}; end
4'd9 : begin dot_col_reg <= 10'b1000000000; dot_raw_reg <= ~{7'h7e}; end
endcase
end
else if(DOT_Data == 4'd4)
begin
case(COL_counter)
4'd0 : begin dot_col_reg <= 10'b0000000001; dot_raw_reg <= ~{7'h60}; end
4'd1 : begin dot_col_reg <= 10'b0000000010; dot_raw_reg <= ~{7'h66}; end
4'd2 : begin dot_col_reg <= 10'b0000000100; dot_raw_reg <= ~{7'h66}; end
4'd3 : begin dot_col_reg <= 10'b0000001000; dot_raw_reg <= ~{7'h66}; end
4'd4 : begin dot_col_reg <= 10'b0000010000; dot_raw_reg <= ~{7'h66}; end
4'd5 : begin dot_col_reg <= 10'b0000100000; dot_raw_reg <= ~{7'h66}; end
4'd6 : begin dot_col_reg <= 10'b0001000000; dot_raw_reg <= ~{7'h7f}; end
4'd7 : begin dot_col_reg <= 10'b0010000000; dot_raw_reg <= ~{7'h7f}; end
4'd8 : begin dot_col_reg <= 10'b0100000000; dot_raw_reg <= ~{7'h06}; end
4'd9 : begin dot_col_reg <= 10'b1000000000; dot_raw_reg <= ~{7'h06}; end
endcase
end
else if(DOT_Data == 4'd5)
begin
case(COL_counter)
4'd0 : begin dot_col_reg <= 10'b0000000001; dot_raw_reg <= ~{7'h7f}; end
4'd1 : begin dot_col_reg <= 10'b0000000010; dot_raw_reg <= ~{7'h7f}; end
4'd2 : begin dot_col_reg <= 10'b0000000100; dot_raw_reg <= ~{7'h60}; end
4'd3 : begin dot_col_reg <= 10'b0000001000; dot_raw_reg <= ~{7'h60}; end
4'd4 : begin dot_col_reg <= 10'b0000010000; dot_raw_reg <= ~{7'h7e}; end
4'd5 : begin dot_col_reg <= 10'b0000100000; dot_raw_reg <= ~{7'h7f}; end
4'd6 : begin dot_col_reg <= 10'b0001000000; dot_raw_reg <= ~{7'h03}; end
4'd7 : begin dot_col_reg <= 10'b0010000000; dot_raw_reg <= ~{7'h03}; end
4'd8 : begin dot_col_reg <= 10'b0100000000; dot_raw_reg <= ~{7'h7f}; end
4'd9 : begin dot_col_reg <= 10'b1000000000; dot_raw_reg <= ~{7'h7e}; end
endcase
end
else if(DOT_Data == 4'd6)
begin
case(COL_counter)
4'd0 : begin dot_col_reg <= 10'b0000000001; dot_raw_reg <= ~{7'h60}; end
4'd1 : begin dot_col_reg <= 10'b0000000010; dot_raw_reg <= ~{7'h60}; end
4'd2 : begin dot_col_reg <= 10'b0000000100; dot_raw_reg <= ~{7'h60}; end
4'd3 : begin dot_col_reg <= 10'b0000001000; dot_raw_reg <= ~{7'h60}; end
4'd4 : begin dot_col_reg <= 10'b0000010000; dot_raw_reg <= ~{7'h7e}; end
4'd5 : begin dot_col_reg <= 10'b0000100000; dot_raw_reg <= ~{7'h7f}; end
4'd6 : begin dot_col_reg <= 10'b0001000000; dot_raw_reg <= ~{7'h63}; end
4'd7 : begin dot_col_reg <= 10'b0010000000; dot_raw_reg <= ~{7'h63}; end
4'd8 : begin dot_col_reg <= 10'b0100000000; dot_raw_reg <= ~{7'h7f}; end
4'd9 : begin dot_col_reg <= 10'b1000000000; dot_raw_reg <= ~{7'h3e}; end
endcase
end
else if(DOT_Data == 4'd7)
begin
case(COL_counter)
4'd0 : begin dot_col_reg <= 10'b0000000001; dot_raw_reg <= ~{7'h7f}; end
4'd1 : begin dot_col_reg <= 10'b0000000010; dot_raw_reg <= ~{7'h7f}; end
4'd2 : begin dot_col_reg <= 10'b0000000100; dot_raw_reg <= ~{7'h63}; end
4'd3 : begin dot_col_reg <= 10'b0000001000; dot_raw_reg <= ~{7'h63}; end
4'd4 : begin dot_col_reg <= 10'b0000010000; dot_raw_reg <= ~{7'h03}; end
4'd5 : begin dot_col_reg <= 10'b0000100000; dot_raw_reg <= ~{7'h03}; end
4'd6 : begin dot_col_reg <=
Dot_Matrix (2).zip_Dot.
版权申诉
39 浏览量
2022-09-15
00:05:03
上传
评论
收藏 2KB ZIP 举报
周楷雯
- 粉丝: 80
- 资源: 1万+
最新资源
- 手势识别大拇指yolo训练集
- stm32双电梯控制系统
- Java语言基础入门教程 Java实训教程 14.嵌套类等 共34页.pptx
- Java语言基础入门教程 Java实训教程 13.反射 共38页.pptx
- Java语言基础入门教程 Java实训教程 12.注解 共35页.pptx
- Java语言基础入门教程 Java实训教程 11.多线程 共34页.pptx
- Java语言基础入门教程 Java实训教程 10.枚举与泛型 共27页.pptx
- Java语言基础入门教程 Java实训教程 9.异常处理 共32页.pptx
- Java语言基础入门教程 Java实训教程 6.继承与多态 共41页.pptx
- MFC IE控件使用方式
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈