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

📄 maincontrol.v

📁 一些很好的FPGA设计实例
💻 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)/* always语句实现对时间显示与调整,日期显示与调整,闹钟显示与
                       设置,秒表操作的控制*/
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 + -