数字系统课程设计设计_第1页
数字系统课程设计设计_第2页
数字系统课程设计设计_第3页
数字系统课程设计设计_第4页
数字系统课程设计设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

经典word整理文档,仅参考,双击此处可删除页眉页脚。本资料属于网络整理,如有侵权,请联系删除,谢谢!数字系统设计课程设计设计题目:基于FPGA的简单计时器一、功能说明与实现方法1、实验项目设计一个60秒倒计时器2、设计要求(功能说明)晶振输入信号:48MHZ时钟信号开机60秒开始倒计时,用两只七段数码管显示,计时结束时显示00,同时产生报警输出,报警信号用指示灯或蜂鸣器显示。3、实验思路根据设计指标,将电路设计分成5个模块:分频器,计数器,扫描计数,数据选择器,七段显示译码器二、基于VHDL方法的设计方案1、系统需求和解决方案计划在项目开始设计时,首先要确定系统的需求并发展出一个针对这些需求的计划。晶振本设计所用为48MHz的晶振信号。分频器对晶体振荡器产生的时钟信号进行分频,产生时间基准信号。本设计中将48MHz的信号分频成1KHz和1Hz的基准频率,1KHz的用于计数扫描达到视觉残留效果,1Hz的用于倒计时计数。计数器对1Hz时间基准脉冲进行计数,完成倒计时功能。输入输出信号定义seg:outstd_logic_vector(1downto0);--数码管位选信号定义dig:outstd_logic_vector(6downto0)--数码管段选信号定义中间信号定义定义1Hz分频器的计数信号,定义1KHz分频器的计数信号,signaldata1:std_logic_vector(3downto0):="0000";--定义个位数的计数信号signaldata2:std_logic_vector(3downto定义十位数的计数信号signaldata:std_logic_vector(3downto0);signalclk_1:std_logic:='0';定义七段译码器的输入信号定义1Hz时钟信号signalclk_1k:std_logic:='0';signalsel:STD_LOGIC_vector(1downto0):="00";定义1KHz时钟信号定义计数扫描信号beginprocess(clk_in)begin分频器1,产生1KHz时钟ifrising_edge(clk_in)thenifcnt_1k=48000thencnt_1k<=1;计数到48000时从1重新开始计数clk_1k<=notclk_1k;--1KHz时钟跳变elsecnt_1k<=cnt_1k+1;endif;endif;endprocess;process(clk_in)begin分频器2,产生1Hz时钟,用于计数ifrising_edge(clk_in)thenifcnt=48000000thencnt<=1;计数到48000000时从1重新开始计数--1Hz时钟跳变clk_1<=notclk_1;elsecnt<=cnt+1;endif;endif;endprocess;process(clk_1)begin计数器模块ifrising_edge(clk_1)thenifdata1="0000"thendata1<="1001";data2<=data2-1;else在1Hz时钟的上升沿如果各位上数字减到0从9开始重新减十位上数字自减1data1<=data1-1;endif;ifdata1="0000"anddata2="0000"thenalarm<='0';倒计时结束使能报警信号计时结束时显示00data1<="0000";data2<="0000";endif;endif;endprocess;process(clk_1k,sel)数据扫描计数器,用于产生选择两个数码管点亮的信号beginifrising_edge(clk_1k)thenifsel="10"thensel<="01";采用1KHz信号触发,达到视觉暂留要求elsesel<=sel+1;endif;交替产生两个数码管选通信号endif;endprocess;process(sel,data1,data2)数据选择器,用于分时段选择两个数码管显示的数据begincaseseliswhen"10"=>data<=data1;when"01"=>data<=data2;whenothers=>data<="1111";endcase;右边数码管选通时,送个位数左边边数码管选通时,送十位数其他情况不显示任何数字seg<=sel;endprocess;process(data)begin七段显示译码器,产生数字0~9的显示信号casedataiswhen"0000"=>dig<="1000000";when"0001"=>dig<="1111001";when"0010"=>dig<="0100100";when"0011"=>dig<="0110000";when"0100"=>dig<="0011001";when"0101"=>dig<="0010010";when"0110"=>dig<="0000010";when"0111"=>dig<="1111000";when"1000"=>dig<="0000000";when"1001"=>dig<="0010000";whenothers=>dig<="1111111";endcase;显示数字’0‘显示数字’

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论