计数器及数码显示综合设计..

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北华航天工业学院

《EDA技术综合设计》

课程设计报告

报告题目:计数器及数码显示综合设计作者所在系部:电子工程系

作者所在专业:自动化专业

作者所在班级:B11222

作者姓名:

指导教师姓名:崔瑞雪

完成时间:

内容摘要

在quatrusII 中利用VHDL语言编写数码管显示程序,然后进行功能仿真,然后进行锁定引脚,然后硬件进行下载,调试。

关键词: VHDL,数码管显示,quatrusII,时序仿真图。

目录

内容摘要.......................................................................................................................................................... I 目录................................................................................................................................................................... I I 课程设计任务书................................................................................................................................................. III

一、实验目的 (1)

二、硬件要求 (1)

三、方案论证 (1)

四、模块说明 (2)

1.计数器(counter60) (2)

2.计数器(counter16) (3)

3.计数器(counter12) (4)

4.计数器(counter10) (5)

6.译码器(deled) (7)

7.分频器(div) (8)

8.顶层文件 (9)

五、图7计数显示的整体连接图 (11)

六、实验步骤 (11)

七、实验结果 (12)

八、总结 (12)

九、参考文献 (12)

课程设计任务书

一、实验目的

1.熟悉QUARATEⅡ工具软件

2.熟悉VHDL语言设计

3.学习EDA课程的综合设计

4.学习计数器的VHDL语言设计

5.了解器件编程和下载及硬件接口连接.

二、硬件要求

1.主芯片EPF10K10LC84-4。

2.7个八段扫描共阴极数码显示管。

3.三个按键开关(使能端,清零端,可逆端)。

三、方案论证

本次设计中将任务分成几个部来完成分别是:分频部分、十进制计数器、十二进制计数器、十六进制可逆计数器、六十进制计数器、译码部分、时间扫描模块和顶层文件。

分频部分:在这个部分里,接受20mhz的频率,然后分出1hz的计数频率和100hz 的扫描频率。

十进制计数器、十二进制计数器、六十进制计数器:在这个部分中要实现带使能输入、同步清0的增1十进制、十二进制、六十进制的计数器计数功能。使能端en 高电平有效计数器开始计数,高电平停止计数,清零端CLR高电平清零低电平正常计数。

十六进制可逆计数器:在这个部分中要实现带使能输入、同步清0的增1十六进制的可逆计数器计数功能。计数部分分为计数的个位和十位,使能端en高电平有效计数器开始计数,低电平停止计数,清零端rst高电平清零低电平计数,可逆计数器的控制端plus_sub低电平实现加法计数器的功能,高电平实现减法计数器的功能。

分时扫描及译码部分:在这个部分需设计一个共阴7段数码管控制接口,在时钟信号的控制下,分时选择数码管显示相应计数器的计数脉冲,使7位数码管动态刷新显示4个计数器的计数结果,并将送来的计数器的计算值转换为相应的段码在数码管上显示计数脉冲的个数。

顶层文件:在这一部分确定上述几个部分中相应输入输出端口的连接关系。

四、模块说明

计数器及数码显示的设计共化分为3个模块:计数器,扫描电路(seltime),译码电路(deled)。下面具体分析各个模块的原理、内容和功能。

1.计数器(counter60)

能够实现60进制循环计数,带有清零端clr ,受时钟上升沿信号控制,其文本语言(文件名:count60er.vhd)为底层文本,图1为计数器的仿真波形图。

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity counter60 is

port(en,clr,clk:in std_logic;

ql,qh:buffer std_logic_vector(3 downto 0));

end counter60;

architecture behave of counter60 is

begin

process(en,clr,clk)

begin

if(en='1')then

if(clk'event and clk='1')then

if(clr='1')then

ql<=(others=>'0');

qh<=(others=>'0');

elsif(ql=9)then

if(qh=5)then

qh<="0000";

ql<="0000";

else

qh<=qh+1;

ql<="0000";

end if;

else

ql<=ql+1;

end if;

end if;

end if;

end process;

end behave;

相关文档
最新文档