数字系统课程设计设计

数字系统课程设计设计

ID:18536715

大小:167.28 KB

页数:10页

时间:2018-09-19

数字系统课程设计设计_第1页
数字系统课程设计设计_第2页
数字系统课程设计设计_第3页
数字系统课程设计设计_第4页
数字系统课程设计设计_第5页
资源描述:

《数字系统课程设计设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数字系统设计课程设计设计题目:基于FPGA的简单计时器一、功能说明与实现方法1、实验项目设计一个60秒倒计时器2、设计要求(功能说明)晶振输入信号:48MHZ时钟信号开机60秒开始倒计时,用两只七段数码管显示,计时结束时显示00,同时产生报警输出,报警信号用指示灯或蜂鸣器显示。3、实验思路根据设计指标,将电路设计分成5个模块:分频器,计数器,扫描计数,数据选择器,七段显示译码器二、基于VHDL方法的设计方案1、系统需求和解决方案计划在项目开始设计时,首先要确定系统的需求并发展出一个针对这些需求的计划。晶振本设计所用为48MHz的晶

2、振信号。分频器 对晶体振荡器产生的时钟信号进行分频,产生时间基准信号。本设计中将48MHz的信号分频成1KHz和1Hz的基准频率,1KHz的用于计数扫描达到视觉残留效果,1Hz的用于倒计时计数。计数器 对1Hz时间基准脉冲进行计数,完成倒计时功能。扫描计数器用于产生数码管位选信号和数据选择器的选通信号。数据选择器实现选通数码管时发送相应要显示的数据七段译码器产生数码管的七段驱动信号,将数据选择器输出的数据在数码管显示一、系统电路设计libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD

3、_LOGIC_unsigned.ALL;entityjishiqiis--输入输出信号定义Port(clk_in:instd_logic;--时钟输入信号(设为48MHz)alarm:outstd_logic:='1';--计时结束报警信号定义seg:outstd_logic_vector(1downto0);--数码管位选信号定义dig:outstd_logic_vector(6downto0)--数码管段选信号定义);endjishiqi;architectureBehavioralofjishiqiis-中间信号定义sign

4、alcnt:integerrange1to48000000:=1;--定义1Hz分频器的计数信号,计数范围1~48000000signalcnt_1k:integerrange1to48000:=1;--定义1KHz分频器的计数信号,计数范围1~48000signaldata1:std_logic_vector(3downto0):="0000";--定义个位数的计数信号signaldata2:std_logic_vector(3downto0):="0110";--定义十位数的计数信号signaldata:std_logic_v

5、ector(3downto0);--定义七段译码器的输入信号signalclk_1:std_logic:='0';--定义1Hz时钟信号signalclk_1k:std_logic:='0';--定义1KHz时钟信号signalsel:STD_LOGIC_vector(1downto0):="00";--定义计数扫描信号beginprocess(clk_in)--分频器1,产生1KHz时钟beginifrising_edge(clk_in)thenifcnt_1k=48000then--计数到48000时cnt_1k<=1;--从

6、1重新开始计数clk_1k<=notclk_1k;--1KHz时钟跳变elsecnt_1k<=cnt_1k+1;endif;endif;endprocess;process(clk_in)--分频器2,产生1Hz时钟,用于计数beginifrising_edge(clk_in)thenifcnt=48000000then--计数到48000000时cnt<=1;--从1重新开始计数clk_1<=notclk_1;--1Hz时钟跳变elsecnt<=cnt+1;endif;endif;endprocess;process(clk_1

7、)--计数器模块beginifrising_edge(clk_1)then--在1Hz时钟的上升沿ifdata1="0000"then--如果各位上数字减到0data1<="1001";--从9开始重新减data2<=data2-1;--十位上数字自减1elsedata1<=data1-1;endif;ifdata1="0000"anddata2="0000"then--倒计时结束alarm<='0';--使能报警信号data1<="0000";--计时结束时显示00data2<="0000";endif;endif;endpro

8、cess;process(clk_1k,sel)--数据扫描计数器,用于产生选择两个数码管点亮的信号beginifrising_edge(clk_1k)then--采用1KHz信号触发,达到视觉暂留要求ifsel="10"thensel<="01"

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

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

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