基于vhdl语言的数字时钟设计说明书

基于vhdl语言的数字时钟设计说明书

ID:29472423

大小:286.54 KB

页数:41页

时间:2018-12-20

基于vhdl语言的数字时钟设计说明书_第1页
基于vhdl语言的数字时钟设计说明书_第2页
基于vhdl语言的数字时钟设计说明书_第3页
基于vhdl语言的数字时钟设计说明书_第4页
基于vhdl语言的数字时钟设计说明书_第5页
资源描述:

《基于vhdl语言的数字时钟设计说明书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、课程:CPLD与FPGA设计及应用实验:基于VHDL语言的数字时钟设计学号:092030030姓名:朱峰专业:信号与信息处理学院:电子与信息学院2011年12月39基于VHDL语言的数字时钟设计一:主要功能1:具有时、分、秒计数显示功能,以24小时循环计时。2:具有日期和星期显示功能。3:具有秒表功能4:具有调节日期,星期,小时,分钟,清零的功能。5:具有定时和闹铃的功能。二:结构框图控制单元使能信号数字时钟CLK时钟信号报警(闹铃)信号复位信号输出信号LED显示扬声器三:RTL图39四:功能实现4

2、.1分频模块设计本设计使用的输入时钟信号为50Mhz,经过分频产生两路时钟信号,其中一路为微秒计数时钟信号,一路为动态扫描时钟信号。同时模块有一输入控制信号,其功能是停止微秒计数时钟信号,以实现定时的功能。输入:clk_in为50Mhz,setstop为微秒计数时能信号输出:clk_out1为1/60hzclk_out2为1khz源代码如下:libraryieee;useieee.std_logic_1164.all;entitydivisport(clk_in,setstop:instd_logi

3、c;clk_out1,clk_out2:outstd_logic);endentitydiv;architecturefunofdivisconstanta:integer:=8333333;constantb:integer:=49999;signalc:integerrange0toa;signald:integerrange0tob;beginprocess(clk_in,setstop)beginif(clk_in'eventandclk_in='1')thenif((c+7500000)<

4、aandsetstop='1')thenc<=c+1;clk_out1<='1';elsec<=0;clk_out1<='0';endif;endif;endprocess;process(clk_in)beginif(clk_in'eventandclk_in='1')thenifd<=bthend<=d+1;clk_out2<='1';elsed<=0;clk_out2<='0';endif;endif;endprocess;endfun;4.2计时模块设计4.2.1微秒计时模块计数器的第一个模

5、块为微秒计时模块,其实质为一个六十进制计数器。39输入:clk为1/60hz,reset为清零复位键输出:ensecond为秒模块的进位信号Daout为微妙输出显示信号源代码如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitymsecondisport(clk,reset:instd_logic;ensecond:outstd_logic;daout:outstd_logic_vector(6d

6、ownto0));endentitymsecond;architecturefunofmsecondissignalcount:std_logic_vector(6downto0);signalenmin_1:std_logic;beginprocess(clk,reset)beginif(reset='0')thencount<="0000000";elsif(clk'eventandclk='1')thenif(count(3downto0)="1001")thenif(count<16#60#

7、)thenif(count="1011001")thenenmin_1<='1';count<="0000000";elsecount<=count+7;endif;elsecount<="0000000";endif;elsif(count<16#60#)thencount<=count+1;enmin_1<='0';elsecount<="0000000";endif;endif;endprocess;daout<=count;ensecond<=enmin_1;endfun;394.2.2秒计

8、时模块计数器的第二个模块为秒计时模块,其实质为一个六十进制计数器。输入:clk为秒进位信号,reset为清零复位键,setmin为调分信号,setclk为消抖时钟输出:enmin为分模块的进位信号daout为秒输出显示信号源代码如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitysecondisport(clk,setclk,reset,setmin:instd_

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

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

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