📄 texi.v
字号:
if(displayselect==1)
begin
case(displaystate)
4'b0001: control=5'b00001;
4'b0010: control=5'b00010;
4'b0011: control=5'b00100;
4'b0100: control=5'b01000;
4'b0101: control=5'b10000;
endcase
end
case(displaystate)
4'b0001: deout1=display[4:1];
4'b0010: deout1=display[8:5];
4'b0011: deout1=display[12:9];
4'b0100: deout1=display[16:13];
4'b0101: deout1=display[20:17];
endcase
end
end
if(start==1)
begin
if(waitselect==0)
begin
case(displaystate)
4'b0001: control=5'b00001;
4'b0010: control=5'b00010;
4'b0011: control=5'b00100;
4'b0100: control=5'b01000;
4'b0101: control=5'b10000;
endcase
case(displaystate)
4'b0001: deout1=display[4:1];
4'b0010: deout1=display[8:5];
4'b0011: deout1=display[12:9];
4'b0100: deout1=display[16:13];
4'b0101: deout1=display[20:17];
endcase
end
end
if(start==0)
begin
if(waitselect==0)
begin
deout1=0;
case(displaystate)
4'b0001: control=5'b00001;
4'b0010: control=5'b00010;
4'b0011: control=5'b00100;
4'b0100: control=5'b01000;
4'b0101: control=5'b10000;
endcase
end
end
end
if(deout1==15) begin deout=0; dot=1; end
else
begin
dot=0;
case(deout1) //led显示译码模块
4'h0:deout=7'b1111110;
4'h1:deout=7'b0110000;
4'h2:deout=7'b1101101;
4'h3:deout=7'b1111001;
4'h4:deout=7'b0110011;
4'h5:deout=7'b1011011;
4'h6:deout=7'b1011111;
4'h7:deout=7'b1110000;
4'h8:deout=7'b1111111;
4'h9:deout=7'b1111011;
4'ha:deout=7'b1110111;
4'hb:deout=7'b0011111;
4'hc:deout=7'b1001110;
4'hd:deout=7'b0111101;
4'he:deout=7'b1001111;
4'hf:deout=7'b1000111;
endcase
end
if(displaystate>=5) begin displaystate=0; clkbase=1; end
end
always @(posedge speed or negedge clr) //出租车运行处理模块
begin
if(!clr)
begin
fee11=0; fee14=0;
licheng1=0; licheng2=0;
licheng3=0; licheng4=0;
temp=0; temp1=0; temp2=0;
if(begincost>=10) begin fee13=1; fee12=begincost-10; end
else begin fee13=0; fee12=begincost; end
feepksave2={1'b0,feepk[8:5]};
feepksave1={1'b0,feepk[4:1]};
feepksave22={2'b00,feepk[8:6]};
feepksave11={2'b00,feepk[4:2]};
if(feepk[5]==1)
begin
feepksave11=feepksave11+5;
if(feepksave11>=10)
begin
feepksave11=feepksave11-10;
feepksave22=feepksave22+1;
end
end
timecount3=0;
end
else
begin
if(en==1)
begin
if(start==1)
begin
timecount3=timecount3+1;
if(timecount3==500)
begin
licheng1=licheng1+5;
timecount3=0;
if(licheng1>=10) begin licheng1=licheng1-10; licheng2=licheng2+1; end
if(licheng2==10) begin licheng2=0; licheng3=licheng3+1; end
if(licheng3==10) begin licheng3=0; licheng4=licheng4+1; end
if(licheng4==10) begin licheng1=0; licheng2=0; licheng3=0; licheng4=0; end
if(licheng2==addlicheng) begin temp1=1; end
if(temp1==1)
begin
fee11=fee11+feepksave1;
if(fee11>=10) begin fee11=fee11-10; fee12=fee12+1; end
fee12=fee12+feepksave2;
if(fee12>=10) begin fee12=fee12-10; fee13=fee13+1; end
if(fee13==10) begin fee13=0; fee14=fee14+1; end
if(fee14>=10) begin fee11=0; fee12=0; fee13=0; fee14=0; end
end
if(fee4==0)
begin
if(fee3==3)
begin
if(fee2==0)
begin
if(fee1>=0)
begin
temp2=temp2+1;
if(temp2==1) begin temp=1; end
end
end
end
end
if(temp==1)
begin
feepksave1=feepksave1+feepksave11;
if(feepksave1>=10)
begin
feepksave1=feepksave1-10;
feepksave2=feepksave2+1;
end
feepksave2=feepksave2+feepksave22;
if(feepksave2>=10) begin feepksave2=feepksave2-10; end
temp=0;
end
end
end
end
end
end
always @(posedge clktime or negedge clr) //出租车等候处理模块
begin
if(!clr)
begin
timecount1=0;
timecount1=0;
fee21=0; fee22=0;
fee23=0; fee24=0;
timewait1=0; timewait2=0; timewait3=0;
end
else
begin
if(en==1)
begin
if(start==0)
begin
if(waitselect==1)
begin
timecount1=timecount1+1;
timecount2=timecount2+1;
if(timecount1==60) begin timecount1=0; timewait1=timewait1+1; end
if(timecount2==300) begin timecount2=0; fee22=fee22+1; end
end
if(waitselect==0)
begin
if(timecount1>=30) begin timecount1=0; timewait1=timewait1+1; end
if(timecount2>=150) begin timecount2=0; fee22=fee22+1; end
timecount1=0;
timecount2=0;
end
if(timewait1==10) begin timewait1=0; timewait2=timewait2+1; end
if(timewait2==6) begin timewait2=0; timewait3=timewait3+1; end
if(timewait3>=10) begin timewait1=0; timewait2=0; timewait3=0; end
if(fee21==10) begin fee21=0; fee22=fee22+1; end
if(fee22==10) begin fee22=0; fee23=fee23+1; end
if(fee23==10) begin fee23=0; fee24=fee24+1; end
if(fee24>=10) begin fee21=0; fee22=0; fee23=0; fee24=0; end
end
end
end
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -