- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Verilog语言编写地多功能数字钟
PAGE \* MERGEFORMAT 1
2009—2010学年第二学期
《数字电子技术课程设计》报告
专业班级:电气-08-1
姓 名:曹操
学 号设计日期:2010年8月23日~27日
设计题目
多功能数字钟电路设计
设计任务及要求
多功能数字钟应该具有的功能有:显示时—分—秒、整点报时、小时和分钟可调等基本功能。整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,小时的范围为0~23时。
在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从0~59,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码(BCD码)显示个位,对于小时因为他的范围是从0~23,所以可以用一个2位的二进制码显示十位,用一个4位的二进制码(BCD码)显示个位。
实验中由于七段码管是扫描的方式 显示,所以虽然时钟需要的是1Hz时钟信号,但是扫描需要一个比较高频率的信号,因此为了得到准确的1Hz信号,必须对输入的系统时钟50Mhz进行分频。
对于整点报时功能,本实验设计的是当进行正点的倒计时5秒时,让LED来闪烁进行整点报时的提示。
调整时间的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时;S2调整分钟,每按下一次,分钟增加一分钟。另外用S8按键作为系统时钟复位,复位后全部显示00—00—00。
管脚分配如下表:
端口名
使用模块信号
对应FPGA管脚
说明
S1
按键开关S1
R16
调整小时
S2
按键开关S2
P14
调整分钟
RST
按键开关S8
M15
复位
LED
LED模块D1
L14
整点倒计时
LEDAG0
数码管模块A段
N4
时间显示
LEDAG1
数码管模块B段
G4
LEDAG2
数码管模块C段
H4
LEDAG3
数码管模块D段
L5
LEDAG4
数码管模块E段
L4
LEDAG5
数码管模块F段
K4
LEDAG6
数码管模块G段
K5
SEL0
数码管选择位1
M4
8个数码管的选择位
SEL1
数码管选择位2
F3
SEL2
数码管选择位3
F4
CP
脉冲源
J3
50Mhz脉冲
三.基于Verilog HDL语言的电路设计、仿真与综合
(一)顶层模块
本程序采用结构化设计方法,将其分为彼此独立又有一定联系的三个模块,如图1所示:
图1:顶层结构框图
(二)子模块
1.分频器
分频器的作用是对50Mhz的系统时钟信号进行分频,得到频率为1000hz的信号,作为显示器的输入信号。
源程序如下:
module fenpin(input CP, output CPout );
reg CPout;
reg [31:0] Cout;
reg CP_En;
always @(posedge CP ) //将50MHz分频为1kHz
begin
Cout = (Cout == 32d50000) ? 32d0 : (Cout + 32d1);
CP_En = (Cout == 32d50000) ? 1d1 : 1d0;
CPout = CP_En;
end
endmodule
功能仿真波形如图2所示(以五分频为例):
2.控制器和计数器
控制器的作用是,调整小时和分钟的值,并能实现清零功能。计数器的作用是实现分钟和秒钟满60进1,小时则由23跳到00。当到达59分55秒的时候,LED灯会闪烁来进行报时。因为控制器和计数器的驱动信号频率均为1Hz,故从分频器输出的信号进入控制器后,要进行二次分频,由1Khz变为1Hz。
源程序如下:
module kongzhiqi( CPout,S1,S2,RET,Hour,Minute,Second,LED );
input CPout,S1,S2,RET;
output [5:0] Hour;
output [5:0] Minute;
output [5:0] Second;
output LED;
reg [5:0] Hour;
reg [5:0] Minute;
reg [5:0] Second;
reg R1;
reg R2,R8,LED;
reg [10:0] Cout;
reg Clk_En;
always@(posedge CPout)
begin
if(S1==0)
begin
R1=1;
end
if(S2==0)
begin
R2=1;
end
if(RET==0)
begin
R8=1;
end
Cout=(Cout==32d1000)
您可能关注的文档
最近下载
- 五年级道德与法治上册期中考试卷及答案【学生专用】.docx VIP
- 离散输入inspectionrun1电梯技术8 dcss vfj.pdf VIP
- 《中国肌肉减少症诊疗指南(2024版)》解读PPT课件.pptx VIP
- “十五五”服务业高质量发展规划_1.docx
- QC成果-提高大面积金刚砂地坪一次验收平整度合格率.pdf VIP
- 五年级《道德与法治》上册期中考试卷及答案.docx VIP
- 山东省德州市2024-2025学年高二上学期期中考试生物试题..docx VIP
- 李可老中医急危重症疑难病经验专辑(精品版本).docx VIP
- 2025年中国快运快递产业园区行业市场全景评估及发展战略研究报告.docx
- 无损检测质量管理体系.ppt VIP
原创力文档


文档评论(0)