计时器的vhdl设计

计时器的vhdl设计

ID:9942868

大小:510.50 KB

页数:24页

时间:2018-05-16

计时器的vhdl设计_第1页
计时器的vhdl设计_第2页
计时器的vhdl设计_第3页
计时器的vhdl设计_第4页
计时器的vhdl设计_第5页
资源描述:

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

1、本报告共包含5个VHDL程序的设计:VHDL程序1:计时器.VHDL程序2:序列计数器.VHDL程序3:脉冲宽度处理电路设计.VHDL程序4:01011序列检测器.VHDL程序5:赛跑计时秒表.-24-一计时器1.设计任务和原理介绍:假定输入时钟周期为1秒,我们根据这个时钟周期进行计数,设立了3个计数器,分别是秒计数器,分钟计数器,小时计数器。每次输入的时钟上升沿来临,直接驱动秒计数器。如果秒计数器值为59(二进制为111011),则秒计数器恢复为0,否则则秒计数器加1;在此情况下接着查看分钟计数器的值,如果此时分钟计数器值也为59(二进制为

2、111011),则分钟计数器值恢复为0,否则分钟计数器加1;在秒计数器与分钟计数器都为59的情况下,还需查看小时计数器的值,如果此时小时计数器的值为23(二进制10111),则小时计数器的值恢复为0,否则小时计数器的值加1.2.VHDL源程序:Libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycounterisport(reset:instd_logic;clk_sec:instd_logic;seconds:outstd_logic_vec

3、tor(5downto0);minutes:outstd_logic_vector(5downto0);hours:outstd_logic_vector(4downto0)-24-);endcounter;architecturebehaviorofcounterissignalcount_sec:std_logic_vector(5downto0);signalcount_min:std_logic_vector(5downto0);signalcount_hour:std_logic_vector(4downto0);beginproc

4、ess(reset,clk_sec)beginifreset='0'thencount_sec(5downto0)<="000000";count_min(5downto0)<="000000";count_hour(4downto0)<="00000";elseifclk_sec'eventandclk_sec='1'thenifcount_sec="111011"thencount_sec<="000000";ifcount_min="111011"thencount_min<="000000";ifcount_hour="10111"t

5、hencount_hour<="00000";elsecount_hour<=count_hour+1;endif;elsecount_min<=count_min+1;endif;elsecount_sec<=count_sec+1;endif;elsenull;endif;endif;endprocess;seconds(5downto0)<=count_sec(5downto0);minutes(5downto0)<=count_min(5downto0);hours(4downto0)<=count_hour(4downto0);en

6、dbehavior;-24-3.程序主要部分介绍及流程图:port(reset:instd_logic;clk_sec:instd_logic;seconds:outstd_logic_vector(5downto0);minutes:outstd_logic_vector(5downto0);hours:outstd_logic_vector(4downto0));定义端口,从上往下分别为复位键,时钟信号输入端,秒输出端(0—59),分钟输出端(0—59),小时输出端(0—24).signalcount_sec:std_logic_vect

7、or(5downto0);signalcount_min:std_logic_vector(5downto0);signalcount_hour:std_logic_vector(4downto0);定义内部信号变量,分别对应秒,分钟,小时信号。其流程图如下:-24-4.系统模块图:5.仿真图:本图是系统在特殊的时间:0小时59分59秒时的仿真图。观察可以发现,下一个时钟沿到达后,秒信号由3B(十进制59)变为00并产生进位,分钟信号由3B变为00并产生进位,小时信号由00变为01,从而使此时的时间为1小时0分0秒。从而验证了本程序的正确性。

8、-24-二序列计数器.1.设计任务和原理介绍:序列计数器是经常出现在通信协议编译码器中的器件。其基本功能是对一个8bit位宽的二进制数中的连续为0的个数进行统计。具

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

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

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