基于vhdl的电子钟设计

基于vhdl的电子钟设计

ID:3154223

大小:70.00 KB

页数:17页

时间:2017-11-20

基于vhdl的电子钟设计_第1页
基于vhdl的电子钟设计_第2页
基于vhdl的电子钟设计_第3页
基于vhdl的电子钟设计_第4页
基于vhdl的电子钟设计_第5页
资源描述:

《基于vhdl的电子钟设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、EDA课程设计题目:利用VHDL进行电子钟设计院系:物理工程学院专业班级:学生姓名:学生学号:2010年6月3日17一、设计要求:功能:显示年月日、星期、时分秒、闹钟和整点报时(几点响几下),并且所有显示均可调。二、设计原理:1)模块设计:根据要求可将实验分成三个大的模块:年月日,时分秒和闹钟。时分秒:时、分、秒分为三个独立模块,同时秒的脉冲为1HZ,秒进位作为分的时钟信号,分进位作为时的时钟信号,时进位作为日和星期的时钟信号。年月日:日进位作为月的时钟信号,月进位作为年的时钟信号。由于年、月、日三者之间存在反馈机制(即闰年与非闰年有差别,大月与

2、小月间有差别),故将它们放在同一个模块中。闹钟和整点报时具有相似性,故归为一类。总共需要13个独立模块。2):显示设计:根据实验箱上只有8个LED数码管的具体情况,将显示分三种模式显示出来:(1)星期、时分秒;(2)年月日;(3)闹钟时间。3):按键设计:共设计5个按键:J8键:高电平显示年月日,低电平显示星期、时分秒。J7键:高电平显示闹钟。J5键:系统复位键,高电平有效。J3键:可调区域选择键,高电平有效,选中可调区域相应灯亮。J1键:累加键,高电平有效,可调区域实现累加。4):报时设计:蜂鸣器在整点报时时几点响几下,闹时响一分钟。5):时钟

3、设计:秒和时钟clk接1HZ,其它模块clk1接2HZ。6):模式设计:实验箱选择模式5。三、注意事项:1:由于本设计采用了两个不同频率的时钟,所以在刚下载完程序后会发现所有数码管都在跑动。解决办法:按下J3键,将各个模块扫描一遍。2:xian1中输出的res需和J5的reset经过一个或门后输出,再与各模块的reset相连。17四:实验程序:----------------------------------------------------------秒计数器libraryieee;useieee.std_logic_1164.all;us

4、eieee.std_logic_unsigned.all;entitysecondisport(clk,setmin,reset,clk1:instd_logic;--clk接1HZclock0,clk1为按键触发时钟,接2HZclk2seout:outstd_logic_vector(6downto0);enmin:outstd_logic);endentitysecond;architectureoneofsecondissignalcount:std_logic_vector(6downto0);signalenmin1,enmin2:st

5、d_logic;--enmin1为59秒时进位信号,enmin2由clk1调制后的手动调分脉冲beginseout<=count;enmin2<=(setminandclk1);enmin<=(enmin1orenmin2);process(clk,reset,setmin)beginif(reset='1')thencount<="0000000";elsif(clk'eventandclk='1')thenif(count(3downto0)="1001")thenif(count<16#60#)then--即60H,为16进制数写法,此步是

6、必须的if(count="1011001")thenenmin1<='1';count<="0000000";--如果count已经到了59D,则置进位为1及count为0elsecount<=count+7;--则加7,由09h变为10hendif;elsecount<="0000000";-->60h,为无效操作endif;elsif(count<16#60#)thencount<=count+1;enmin1<='0';elsecount<="0000000";endif;endif;endprocess;endone;17--------

7、-------------------------------------分计数器libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityminisport(clk,sethour,reset,clk1:instd_logic;miout:outstd_logic_vector(6downto0);enhour:outstd_logic);endentitymin;architectureoneofminissignalcount:std_logic_

8、vector(6downto0);signalenhour1,enhour2:std_logic;--enhour1为59秒时进位信号,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。