- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
课程设计报告
设计题目:用VHDL语言实现数字钟的设计
班级:电子1002班
学号
姓名:于晓
指导教师:李世平、李宁
设计时间:2012年12月
摘要
数字钟是一种用数字电路技术实现时、分、秒计时的钟表。本设计主要是实现数
字钟的功能,程序用VHDL语言编写,整体采用TOP-TO-DOWN设计思路,具有基
本的显示年月日时分秒和星期的功能,此外还有整点报时功能。该数字钟的实现
程序分为顶层模块、年月模块、日模块、时分秒定时模块、数码管显示模块、分
频模块、星期模块,此外还有一个库。该程序主要是用了元件例化的方法,此外
还有进程等重要语句。
没有脉冲时,显示时分秒,set按钮产生第一个脉冲时,显示年月日,第2
个脉冲到来时可预置年份,第3个脉冲到来时可预置月份,依次第4、5、6、7、
8个脉冲到来时分别可预置日期、时、分、秒、星期,第9个脉冲到来时设置星
期后预置结束,正常工作,显示的是时分秒和星期。调整设置通过Up来控制,
UP为高电平,upclk有脉冲到达时,预置位加1,否则减1。当整点到达时,报
时器会鸣响,然后手动按键停止报时。
关键词:数字钟,VHDL,元件例化,数码管
1、课程设计目的
掌握利用可编程逻辑器件和EDA设计工具进行电子系统设计的方法
2、课程设计内容及要求
设计实现一个具有带预置数的数字钟,具有显示年月日时分秒的功能。用6
个数码管显示时分秒,set按钮产生第一个脉冲时,显示切换年月日,第2个脉
冲到来时可预置年份,第3个脉冲到来时可预置月份,依次第4、5、6、7个脉
冲到来时分别可预置日期、时、分、秒,第8个脉冲到来后预置结束,正常工
作,显示的是时分秒。Up为高电平时,upclk有脉冲到达时,预置位加1.否则
减1,还可以在此基础上增加其它功能。
3、VHDL程序设计
3.1整体设计思路
本设计采用top-down模式设计,分模块进行,各功能都使用元件例化方式
设计,主要有LED显示模块、时分秒定时模块、日期模块、年月模块、分频模块、
星期模块,此外还创建了一个程序包,用来实现年月日、时分秒的加减调整。主
要运用了过程语句、元件例化语句、信号赋值语句、和顺序语句
图3-1-1整体结构图
图3-1-2顶层模块引脚图
3.2各模块设计思路
3.2.1普通计数器(时、分、秒、月、年计数器)设计
时钟模块通过调用程序包的时分秒加减过程语句实现两个六十进制,一个二
十四进制,秒的进位信号作为分的计数时钟信号,分的进位信号作为时的时钟信
号。时的进位信号通过管脚映射到日期模块的计数时钟信号。
定时功能在时分秒模块中,是由分计数器在到达59时产生一个脉冲,让
speaker产生高电位鸣响。
年月模块主要实现月份的十二进制计数器,和100进制的年份计数器。月份
的计数信号由日期模块的进位信号传递过来,年份的时钟信号由月份的进位信号
产生。
图3-2-1时分秒引脚图图3-2-2年月引脚图
3.2.2可变进制计数器(天计数器)模块设计
不同月中的天的数量是不同的,例如“大月”就有31“天”,“小月”有30“天”,
平年“二月”有28“天”,而闰年“二月”有29“天”。所以天计数器应该具备
进制可变的性能。日期模块主要分为三个部分,预置日期加,预置日期减和产生
进位信号,使月份增加。平闰年的判断是通过年月模块传输过来年份信号(两个
4位的BCD码),如果高位的信号为“xxx0”且低位的信号为“xx00”(如20,84
等),或高位为“xxx1”且低位为“xx10”(如32等)则判断为闰年。这种方法
的包含了一百年中的所有闰年的情况。然后判断大月小月可以判断月份来确定
3
文档评论(0)