⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texi.v

📁 在Quartus II 5.0环境下
💻 V
📖 第 1 页 / 共 2 页
字号:
                               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 + -