我做的三位数码管从199到0倒计数为什么有问题呢?大家帮忙看看啦!
module shu_ma_guan(mainclk,
seg_data,//段选
ledseg//位选
);
input mainclk;
output seg_data;//段选
output ledseg; //位选
reg ledseg;
reg seg_data;
reg gewei_code;
reg shiwei_code;//十位数据
reg baiwei_code;//百位数据
reg gewei_reg;//位选
reg shiwei_reg;
reg baiwei_reg;
reg Cont;
reg Cont1;
reg state;
always@(posedge mainclk)
Cont <= Cont+1;
always@(posedge Cont)
case(state)
0:
begin seg_data=gewei_code;ledseg<=4'b0001;state<=state+1;end
32:
begin seg_data=shiwei_code;ledseg<=4'b0010;state<=state+1;end
64:
begin seg_data=baiwei_code;ledseg<=4'b0100;state<=state+1;end
default:begin seg_data<=8'b11111111;ledseg<=4'b1111;state<=state+1;end
endcase
initial
begin
seg_data=8'b11111111;
Cont1=199;
end
always@(posedge Cont)
begin
if( Cont1==0)
Cont1=199;
else
Cont1 = Cont1-1;
end
always@(Cont1)
begin
gewei_reg=Cont1%100;
shiwei_reg=Cont1%10/10;
baiwei_reg=Cont1/100;
end
always@(gewei_reg)
case(gewei_reg)//个位
4'h0:gewei_code<=8'hC0;
4'h1:gewei_code<=8'hF9;
4'h2:gewei_code<=8'hA4;
4'h3:gewei_code<=8'hb0;
4'h4:gewei_code<=8'h99;
4'h5:gewei_code<=8'h92;
4'h6:gewei_code<=8'h82;
4'h7:gewei_code<=8'hF8;
4'h8:gewei_code<=8'h80;
4'h9:gewei_code<=8'h90;
endcase
always@(shiwei_reg)//十位
case(shiwei_reg)
4'h0:shiwei_code<=8'hC0;
4'h1:shiwei_code<=8'hF9;
4'h2:shiwei_code<=8'hA4;
4'h3:shiwei_code<=8'hb0;
4'h4:shiwei_code<=8'h99;
4'h5:shiwei_code<=8'h92;
4'h6:shiwei_code<=8'h82;
4'h7:shiwei_code<=8'hF8;
4'h8:shiwei_code<=8'h80;
4'h9:shiwei_code<=8'h90;
endcase
always@(baiwei_reg)//百位
case(gewei_reg)
4'h0:gewei_code<=8'hC0;
4'h1:gewei_code<=8'hF9;
4'h2:gewei_code<=8'hA4;
4'h3:gewei_code<=8'hb0;
4'h4:gewei_code<=8'h99;
4'h5:gewei_code<=8'h92;
4'h6:gewei_code<=8'h82;
4'h7:gewei_code<=8'hF8;
4'h8:gewei_code<=8'h80;
4'h9:gewei_code<=8'h90;
endcase
endmodule 对这种语言不太熟悉 抱歉啊:'( 6666666666666666666
页:
[1]