|
module shumaguan(
rst_n,clk,
SW,sem_cs,sem_db
);
input rst_n,clk;
input[3:0] SW;
output[6:0] sem_cs;
output[7:0] sem_db;
reg[6:0] sem_cs;
reg[7:0] sem_db;
parameter
sem_seg_0 = 8'hc0, // "0"
sem_seg_1 = 8'hf9, // "1"
sem_seg_2 = 8'ha4, // "2"
sem_seg_3 = 8'hb0, // "3"
sem_seg_4 = 8'h99, // "4"
sem_seg_5 = 8'h92, // "5"
sem_seg_6 = 8'h82, // "6"
sem_seg_7 = 8'hf8, // "7"
sem_seg_8 = 8'h80, // "8"
sem_seg_9 = 8'h90, // "9"
sem_seg_a = 8'h88, // "a"
sem_seg_b = 8'h83, // "b"
sem_seg_c = 8'hc6, // "c"
sem_seg_d = 8'ha1, // "d"
sem_seg_e = 8'h86, // "e"
sem_seg_f = 8'h8e; // "f"
//reg[11:0] Data;
reg[27:0] count1;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
count1 <= 28'h0000000;
end
else if(count1 == 28'd40000000) count1 <= 28'h0000000;
else count1 <= count1 + 1'b1;
end
reg[11:0] dis;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n) dis <= 4'h0;
else if(dis == 12'd4000) dis <= 12'h000;
else if(count1 == 28'd40000000) dis <= dis + 1'b1;
end
reg[3:0] ge,shi,bai,qian;
always@(dis)
begin
ge <= dis[3:0];
shi <= dis[7:4];
bai <= dis[11:8];
qian <= 0;
end
reg[23:0] fresh_cou;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n) fresh_cou <= 24'h000000;
else if(fresh_cou == 24'd200000) fresh_cou <= 24'h000000;
else fresh_cou <= fresh_cou + 1'b1;
end
reg[2:0] fresh_1;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n) fresh_1 <= 3'd0;
else if(fresh_1 == 3'd4) fresh_1 <= 3'd0;
else if(fresh_cou == 24'd200000)fresh_1 <= fresh_1 + 1'b1;
end
reg[3:0] dis_data;
always@(dis)
begin
case(fresh_1)
3'b000: begin sem_cs <= 7'b1111110; dis_data <= ge; end
3'b001: begin sem_cs <= 7'b1111101; dis_data <= shi; end
3'b010: begin sem_cs <= 7'b1111011; dis_data <= bai; end
3'b011: begin sem_cs <= 7'b1110111; dis_data <= qian; end
endcase
case(dis_data)
4'h0: sem_db <= sem_seg_0;
4'h1: sem_db <= sem_seg_1;
4'h2: sem_db <= sem_seg_2;
4'h3: sem_db <= sem_seg_3;
4'h4: sem_db <= sem_seg_4;
4'h5: sem_db <= sem_seg_5;
4'h6: sem_db <= sem_seg_6;
4'h7: sem_db <= sem_seg_7;
4'h8: sem_db <= sem_seg_8;
4'h9: sem_db <= sem_seg_9;
4'ha: sem_db <= sem_seg_a;
4'hb: sem_db <= sem_seg_b;
4'hc: sem_db <= sem_seg_c;
4'hd: sem_db <= sem_seg_d;
4'he: sem_db <= sem_seg_e;
4'hf: sem_db <= sem_seg_f;
endcase
end
endmodule |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|