简单的数字时钟verilog设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(cnt1==24'd12499) cnt1<=0; else cnt1<=cnt1+1;
2、数码管显示
case(count1) 2'b00:begin disp=minute1;sl=4'b1101; end 2'b01:begin disp=minute0;sl=4'b1110; end 2'b10:begin disp=hour1;sl=4'b0111; end 2'b11:begin disp=hour0;sl=4'b1011; end
调时或调闹钟 时切换到分位

进入设 置闹钟 状态
关闭闹 钟
下调键 上调键
设计出基本的时钟
设来自百度文库
添加调时功能


添加闹钟功能

添加整点报时功能
添加流水指示灯
整合优化
一、基本时钟部分
1、分频
计时分频
if(cnt2==28'd12499999) cnt2<=0; else cnt2<=cnt2+1;
数码管显示分频
else
minute0<=4'b0;
if (minute1<4'b0101) minute1<=minute1+4'b1;
else
minute1<=4'b0;
if (hour1<2'b10)
if (hour0<4'b1001) hour0<=hour0+4'b1;
else
hour0<=4'b0;
hour1<=hour1+2'b1;
if (hour1==2'b10)
if (hour0<4'b0011) hour0<=hour0+4'b1;
else
hour0<=4'b0;
hour1<=2'b0;
4、复位归零
if (irst==1'b1) begin second0<=4'b0; second1<=4'b0; minute1<=4'b0; minute0<=4'b0; hour1<=2'b0; hour0<=4'b0; ledzs<=5'b00001; sign<='b0; nz<=0; nz1<=0; lednz<=2'b0; end
else begin minute0<=4'b1001; if (minute1>4'b0000) minute1<=minute1-4'b1; else minute1<=4'b0101;
end end if(ss2==1) begin
if (hour1>2'b0) begin if (hour0>4'b0) hour0<=hour0-4'b1; else begin hour0<=4'b1001; hour1<=hour_1-2'b1;end end
endcase
3、计时
if (second0<4'b1001) second0<=second0+4'b1;
else
second0<=4'b0;
if (second1<4'b0101) second1<=second1+4'b1;
else
second1<=4'b0;
if (minute0<4'b1001) minute0<=minute0+4'b1;
二、调时部分
1、上调:
if (ss1==1) begin if (minute0<4'b1001) minute0<=minute0+4'b1; else begin minute0<=4'b0; if(minute1<4'b0101) minute1<=minute_1+4'b1; else minute1<=4'b0; end end
if (hour1==2'b00) begin if (hour0>4'b0) hour0<=hour0-4'b1; else begin hour1<=4'b0010; hour0<=4'b0011;end
end
三、闹钟部分
1、设置闹铃
if (sh==1) begin if (ss1==1)
begin if (minute_0<4'b1001) minute_0<=minute_0+4'b1; else begin minute_0<=4'b0; if(minute_1<4'b0101) minute_1<=minute_1+4'b1; else minute_1<=4'b0; end
end if (ss2==1) begin if (minute_0>4'b0000) minute_0<=minute_0-4'b1;
else begin minute_0<=4'b1001; if (minute_1>4'b0000) minute_1<=minute_1-4'b1; else minute_1<=4'b0101;end
endcase
case(disp) 4'b0000:seg=7'b1000000; 4'b0001:seg=7'b1111001; 4'b0010:seg=7'b0100100; 4'b0011:seg=7'b0110000; 4'b0100:seg=7'b0011001; 4'b0101:seg=7'b0010010; 4'b0110:seg=7'b0000010; 4'b0111:seg=7'b1111000; 4'b1000:seg=7'b0000000; 4'b1001:seg=7'b0010000;
end end
else begin if(ss1==1) begin if (hour_1<2'b10) begin if(hour_0<4'b1001) hour_0<=hour_0+4'b1; else begin hour_0<=4'b0; hour_1<=hour_1+2'b1;end end if(hour_1==2'b10) begin if (hour_0<4'b0011) hour_0<=hour_0+4'b1; else begin hour_0<=4'b0; hour_1<=2'b0; end end end if(ss2==1) begin if (hour_1>2'b0) begin if (hour_0>4'b0) hour_0<=hour_0-4'b1; else begin hour_0<=4'b1001; hour_1<=hour_1-2'b1;end end if (hour_1==2'b00) begin if (hour_0>4'b0) hour_0<=hour_0-4'b1; else begin hour_1<=4'b0010; hour_0<=4'b0011;end end end
if(ss1==1) begin if (hour1<2'b10) begin if(hour0<4'b1001) hour0<=hour0+4'b1; else begin hour0<=4'b0; hour1<=hour1+2'b1; end end end
2、下调
if (ss2==1) begin if (minute0>4'b0000) minute0<=minute0-4'b1;
简单的数字时钟
小组成员
▪ 电子信息工程:
huang liang zhang hui cheng long
作品简介
功能一:时钟计时 功能二:调整时间 功能三:闹钟 功能四:整点报时 功能五:流水指示灯
流水指示灯
按键分布
“闹铃” 灯
闹钟提示灯
整点报时灯 复位键
切换看 秒/闹 钟设置 确认
进入调 时状态
相关文档
最新文档