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

📄 stamp_seller.v

📁 一个自动售邮票的控制电路。 用两个发光二极管分别模拟售出面值为六角和八角的邮票
💻 V
字号:
	//  Module Declaration
	module stamp_seller
	(
	// {{ALTERA_ARGS_BEGIN}}
	RESET, DEAL, CLK, IN_PUT, Coin_In_LED0, Coin_In_LED1, Coin_Out_LED
	// {{ALTERA_ARGS_END}}
	);
	// Port Declaration
	// {{ALTERA_IO_BEGIN}}
	input RESET;
	input DEAL;
	input CLK;
	input [3:0] IN_PUT;
	output Coin_In_LED0;
	output Coin_In_LED1;
	output [4:0] Coin_Out_LED;
	// {{ALTERA_IO_END}}
	reg    Coin_In_LED0,Coin_In_LED1;
	reg    [4:0]Coin_Out_LED;
	reg    [3:0]STATE;
	parameter S0=4'b0000,  S1=4'b0001,  S2=4'b0010,  S3=4'b0011,
	S4=4'b0100,  S5=4'b0101,  S6=4'b0110,  S7=4'b0111,
	S8=4'b1000,  S9=4'b1001,  S10=4'b1010, S11=4'b1011,
	S12=4'b1100, S13=4'b1101, S14=4'b1110, S15=4'b1111;
	always @( posedge CLK )
	begin
	STATE=IN_PUT;
	if(!DEAL)
	begin
	case(STATE)
	S0,S1:
	begin
	Coin_In_LED0<=1;
	Coin_In_LED1<=1;
	Coin_Out_LED[4:0]<=5'b11111;
	STATE<=S0;
	end
	S2,S3:
	begin
	Coin_In_LED0<=1;
	Coin_In_LED1<=1;
	Coin_Out_LED[4:0]<=5'b11110;
	STATE<=S0;
	end
	S4,S5:
	begin
	     Coin_In_LED0<=1;
	     Coin_In_LED1<=1;
	     Coin_Out_LED[4:0]<=5'b11010;
	     STATE<=S0;
	end
	S6:
	begin    
	     Coin_In_LED0<=0;    
	     Coin_In_LED1<=1;    
	     Coin_Out_LED[4:0]<=5'b11111;    
	     STATE<=S0;    
    end    
	  S7:    
	   begin    
	     Coin_In_LED0<=1;    
	     Coin_In_LED1<=1;    
	     Coin_Out_LED[4:0]<=5'b11001;    
	     STATE<=S0;    
	   end    
	  S8:    
	   begin    
	     Coin_In_LED0<=0;    
	     Coin_In_LED1<=1;    
	     Coin_Out_LED[4:0]<=5'b11011;    
	     STATE<=S0;    
	   end    
	  S9:    
	   begin    
	     Coin_In_LED0<=1;    
	     Coin_In_LED1<=0;    
	     Coin_Out_LED[4:0]<=5'b11101;    
	     STATE<=S0;    
	   end    
	  S10:    
	   begin    
	     Coin_In_LED0<=0;    
	     Coin_In_LED1<=1;    
	     Coin_Out_LED[4:0]<=5'b11010;    
	     STATE<=S0;    
	   end    
	  S11:    
	   begin    
	     Coin_In_LED0<=1;    
	     Coin_In_LED1<=0;    
	     Coin_Out_LED[4:0]<=5'b11100;    
	     STATE<=S0;    
	   end    
	  S12:    
	   begin    
	     Coin_In_LED0<=0;    
	     Coin_In_LED1<=1;    
	     Coin_Out_LED[4:0]<=5'b10110;    
	     STATE<=S0;    
	   end    
	  S13:    
	   begin    
	     Coin_In_LED0<=1;    
	     Coin_In_LED1<=0;    
	     Coin_Out_LED[4:0]<=5'b11000;    
	     STATE<=S0;    
	   end    
	  S14:    
	   begin    
	     Coin_In_LED0<=0;    
	     Coin_In_LED1<=1;    
	     Coin_Out_LED[4:0]<=5'b10101;    
	     STATE<=S0;    
	   end    
	  S15:    
	   begin    
	     Coin_In_LED0<=1;    
	     Coin_In_LED1<=0;    
	     Coin_Out_LED[4:0]<=5'b10111;    
	     STATE<=S0;    
	   end    
	  default:    
	   begin    
	     Coin_In_LED0<=1;    
	     Coin_In_LED1<=1;    
	     Coin_Out_LED[4:0]<=5'b11111;    
	     STATE<=S0;    
	   end    
	   endcase    
	end    
	else if(!RESET)    
	 begin    
	  case(STATE)    
	  S0,S1:    
      begin    
	     Coin_Out_LED[4:0]<=5'b11111;    
	   end      
	S2,S3:    
	   begin    
	     Coin_Out_LED[4:0]<=5'b11110;    
	   end    
	  S4,S5:    
	   begin    
	     Coin_Out_LED[4:0]<=5'b11010;    
	   end    
	  S6,S7:    
	   begin    
	     Coin_Out_LED[4:0]<=5'b11001;    
	   end    
	  S8,S9:    
	   begin    
	     Coin_Out_LED[4:0]<=5'b10101;    
	   end    
	  S10,S11:    
	   begin    
	     Coin_Out_LED[4:0]<=5'b10100;    
	   end    
	  S12,S13:    
	   begin    
	     Coin_Out_LED[4:0]<=5'b10000;    
	   end    
	  S14,S15:    
	   begin    
	     Coin_Out_LED[4:0]<=5'b01111;    
	   end    
	  default:    
	   begin    
	     Coin_In_LED0<=1;    
	     Coin_In_LED1<=1;    
	     Coin_Out_LED[4:0]<=5'b11111;    
	     STATE<=S0;    
	   end    
	   endcase    
	  STATE<=S0;    
	   end    
	 else    
	 begin    
	  Coin_In_LED0<=1;    
	  Coin_In_LED1<=1;    
	  Coin_Out_LED[4:0]<=5'b11111;    
	  STATE<=S0;    
	 end    
	end
	endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -