📄 maincontrol.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 + -