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

📄 maincontrol.v

📁 基于FPGA的多功能数字钟的设计与实现 内附有详尽的Verilog HDL源码
💻 V
字号:
module maincontrol(
					SW3,
					Timepiece_EN,
					TimeSet_EN,
					Stopwatch_EN,
					Alarmclock_EN,
					Date_EN,
					DateSet_EN);

output Timepiece_EN,TimeSet_EN,Stopwatch_EN,Alarmclock_EN,Date_EN,DateSet_EN;
input  SW3;

reg Timepiece_EN,TimeSet_EN,Stopwatch_EN,Alarmclock_EN,Date_EN,DateSet_EN;
reg [2:0] Function; //存放功能号

always @(posedge SW3)
begin
  if(Function < 3'b101)
	Function <= Function + 3'b1;
  else
    Function <= 3'b0;
  case(Function)
    //时钟
    3'b000:   begin
			    Timepiece_EN  <= 1'b1;
			    TimeSet_EN    <= 1'b0;
			    Stopwatch_EN  <= 1'b0;
			    Alarmclock_EN <= 1'b0;
			    Date_EN       <= 1'b0;
			    DateSet_EN    <= 1'b0;
			  end
    //时钟设置
    3'b001:   begin
			    Timepiece_EN  <= 1'b0;
			    TimeSet_EN    <= 1'b1;
			    Stopwatch_EN  <= 1'b0;
			    Alarmclock_EN <= 1'b0;
			    Date_EN       <= 1'b0;
			    DateSet_EN    <= 1'b0;
			  end
    //秒表
    3'b010:   begin
			    Timepiece_EN  <= 1'b0;
			    TimeSet_EN    <= 1'b0;
			    Stopwatch_EN  <= 1'b1;
			    Alarmclock_EN <= 1'b0;
			    Date_EN       <= 1'b0;
			    DateSet_EN    <= 1'b0;
			  end
	//闹钟设置
    3'b011:   begin
			    Timepiece_EN  <= 1'b0;
			    TimeSet_EN    <= 1'b0;
			    Stopwatch_EN  <= 1'b0;
			    Alarmclock_EN <= 1'b1;
			    Date_EN       <= 1'b0;
			    DateSet_EN    <= 1'b0;
			  end
    //日期显示
    3'b100:   begin
			    Timepiece_EN  <= 1'b0;
			    TimeSet_EN    <= 1'b0;
			    Stopwatch_EN  <= 1'b0;
			    Alarmclock_EN <= 1'b0;
			    Date_EN       <= 1'b1;
			    DateSet_EN    <= 1'b0;
			  end
	//日期设置
	3'b101:   begin
			    Timepiece_EN  <= 1'b0;
			    TimeSet_EN    <= 1'b0;
			    Stopwatch_EN  <= 1'b0;
			    Alarmclock_EN <= 1'b0;
			    Date_EN       <= 1'b0;
			    DateSet_EN    <= 1'b1;
			  end
    default:  begin
                Timepiece_EN  <= 1'b0;
			    TimeSet_EN    <= 1'b0;
			    Stopwatch_EN  <= 1'b0;
			    Alarmclock_EN <= 1'b0;
			    Date_EN       <= 1'b0;
			    DateSet_EN    <= 1'b0;
              end
  endcase
end
endmodule

⌨️ 快捷键说明

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