数字秒表verilog HDL仿真 20

实验七多功能数字钟一实验任务及要求1.能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟、60秒钟的计数器显示。2.能利用实验系统上的按键实现“校时”... 实验七 多功能数字钟
一 实验任务及要求
1. 能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟、60秒钟的计数器显示。
2. 能利用实验系统上的按键实现“校时”“校分”功能:
(1) 按下“SA”键时,计时器迅速递增,并按24小时循环,计满23小时后在回00;
(2) 按下“SB”键时,计分器迅速递增,并按59分钟循环,计满59分钟后在回00;但不向“时”进位;
(3) 按下“SC”键时,秒清零;
(4) 要求按下“SA”、“SB”或“SC”均不产生数字跳变(“SA”、“SB”、“SC”按键是有抖动的,必须对其消抖动处理)。
3. 能利用扬声器做整点报时:
(1) 当计时到达59’50’’时开始报时,在59’50’’、52’’、54’’、56’’、58’’鸣叫,鸣叫声频可为500Hz;
(2) 到达59’60’’时为最后一声整点报时,整点报时是频率可定为1KHz。
4. 用层次化设计方法设计该电路,用VHDL语言编写各个功能模块。
5. 报时功能、闹时功能用功能仿真的方法验证,可通过观察有关波形确认电路设计是否正确。
6. 完成电路设计后,用实验系统下载验证。
展开
 我来答
陈北柯b1
2012-06-09 · 超过20用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:46.2万
展开全部
`timescale 1s/0.1s
module clock(reset);
input reset;
output [5:0] hour,min,sec;
reg[5:0] hour,min,sec;
initial begin
clk=1'b0;
forever #0.5 clk=~clk;
end

always@(posedge clk or reset)
if(reset)
begin
hour<=6'b0000_0;
min<=6'b0000_0;
sec<=6'b0000_0;
end
elseif(sec!=6'b111011)
begin
sec<=sec+6'b0000_1;
end
elseif(sec==6'b111011)
begin
if( min!=6'b111011)
begin
sec<=6'b0000_0;
min<=min+6'b0000_1;
end
elseif(min==6'b111011)
begin
if(hour!=6'b011000)
begin
hour<=hour+6'b0000_1;
sec<=6'b0000_0;
min<=6'b0000_0;
end
elseif(hour==6'b011000)
begin
hour<=6'b0000_0;
sec<=6'b0000_0;
min<=6'b0000_0;
end
end

always@(hour)
repeat(hour) #1 beats ;

task beats;
//define beats event;
endtask

endmodule
beats事件为响铃操作任务。

参考下这个 只实现了表的功能, 希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happy桂花
2012-05-26
知道答主
回答量:17
采纳率:0%
帮助的人:23.2万
展开全部
不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式