- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多功能数字钟设计实验报告XilinxEDABasys2华中科
多功能数字钟设计实验报告院系:电子与通信工程学院姓名:郭世康班级:1301学号:U201313639指导教师:唐祖平实验目标掌握可编程逻辑器件的应用开发技术——设计输入、编译、仿真和器件编程熟悉EDA软件使用掌握Verilog HDL设计方法分模块、分层次数字系统设计实验内容要求基本功能能显示小时、分钟、秒钟(时、分用显示器,秒用LED)能调整小时、分钟的时间提高要求任意闹钟;(1分)小时为12/24进制可切换(1分)报正点数(几点钟LED闪烁几下)(1分)实验条件Xilinx工程环境,win7操作系统,BASYS2实验板。实验设计1.设计分析数字钟大体上由2个60进制计数器,1个24进制计数器构成,中间有数据选择器进行连接。为实现提高功能,还需12进制计数和整点判断模块。下图为数字钟层次结构图。2.实验原理振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,再经分频器输出标准秒脉冲。秒计数器计满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按24或12进制规律计数。计数器的输送译码显示电路,即可显示出数码(即时间)。计时出现误差时可以用校时电路进行校时和校分。小时显示(12\24)切换电路、仿电台报时、定时闹钟为扩展电路,只有在计时主体电路正常运行的情况下才能进行功能扩展。本实验采用Verilog HDL进行描述,然后用FPGA/CPLD实现,使用内部50MHz晶振作为时钟电路。3.逻辑设计实现上述功能的Verilog HDL 程序如下。实现基本功能的程序分为两层次四个模块,底层有3个模块构成,即6进制计数器模块,10进制计数器模块和24进制计数器模块,顶层有一个模块,他调用底层的3个模块完成数字中的计时功能。moduletimeclock(Hour,Minute,Second,CP,nCR,EN,Adj_Min,Adj_Hour,number,Light,clk,temp,change,AMTM,dingdong); output [7:0] Hour,Minute,Second; output [3:0] Light,temp; output [6:0] number; output clk,AMTM,dingdong;//clk为分频之后的时钟信号,频率为1Hz,AMTM为24进制转换12进制时表明上下午的变量,dingdong为整点报时时的闪烁信号。 input CP;//输入的时钟信号,需分频后才能正常使用。 input nCR;//清零 input EN,change;//EN为使能信号,change为12/24进制转换开关。 input Adj_Min;//校分控制 input Adj_Hour;//校时控制 wire [7:0] Hour,Minute,Second;regclk;reg [29:0] count,count1;//分频需要的计数器reg [1:0] scan;//扫描时需要的计数器reg [3:0] Light,temp;//4Bit 变量Light代表四个数码管,temp表示数码管需要显示的数字reg [6:0] number;//number代表7个发光二极管reg clk1;//为分频后的扫描频率 supply1 Vdd; wire MinL_EN,MinH_EN,Hour_EN;//中间变量//Hour,Minute,Second counter////60进制秒计数器 counter10 U1(Second[3:0],nCR,EN,clk);//个位 counter6 U2(Second[7:4],nCR,(Second[3:0]==4h9),clk);//十位//产生分钟计数器使能信号。Adj_Min=1,校正分钟;Adj_Min=0,分钟正常计时 assign MinL_EN=Adj_Min?Vdd:(Second==8h59); assign MinH_EN=(Adj_Min(Minute[3:0]==4h9))||((Minute[3:0]==4h9)(Second==8h59));//60进制分钟计数器 counter10 U3(Minute[3:0],nCR,MinL_EN,clk); counter6 U4(Minute[7:4],nCR,MinH_EN,clk);//产生小时计数器使能信号。Adj_Hour=1,校正小时;Adj_Hour=0,小时正常计时assignHour_EN=Adj_Hour?Vdd:((Minute==8h59)(Second==8h59));//24进制和12进制可切换的小时计数器 counter24 U5(Hour[7:4],Hour[3:0],nCR,Hour_EN,
原创力文档


文档评论(0)