7段数码管控制引脚

  • 格式:doc
  • 大小:1.94 MB
  • 文档页数:15

下载文档原格式

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

《EDA技术综合设计》

课程设计报告

报告题目:计数器7段数码管控制接口技术作者所在系部:

作者所在专业:

作者所在班级:

作者姓名:

作者学号:

指导教师:

完成时间:

容摘要

掌握VHDL语言基本知识,并熟练运用VHDL语言来编写程序,来下载实践到硬件上,培养使用设计综合电路的能力,养成提供文档资料的习惯和规编程的思想。利用VHDL语言设计一个七段数码管控制引脚,在时钟信号的控制下,使6位数码管动态刷新显示十进制计数器及其进位,十二进制计数器,四位二进制可逆计数器,六十进制计数器的计数结果,这期间需要seltime分频器来动态的给各个计数器分配数码管,并显示数字的变化。

关键词:VHDL语言编程七段数码管控制引脚芯片

目录

一概述 (1)

二方案设计与论证 (1)

三单元电路设计与参数计算 (1)

3.1数码管译码器 (1)

3.2 十进制计数器 (2)

3.3六十进制计数器 (3)

3.4四位二进制可逆计数器 (5)

3.5时间数据扫描分时选择模块 (6)

3.6顶层文件 (8)

四总的原理图 (9)

五器件编程与下载 (9)

六性能测试与分析(要围绕设计要求中的各项指标进行) (10)

七实验设备 (10)

八心得体会 (10)

九参考文献 (10)

课程设计任务书

一、概述

设计一个共阴7段数码管控制接口,在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号。一个带使能输入、进位输出及同步清0的增1十进制计数器。一个带使能输入及同步清0的六十进制同步加法计数器和一个四位二进制可逆计数器。要求:在时钟信号的控制下,使6位数码管动态刷新显示上述计数器的计数结果。

二、方案设计与论证

首先VHDL语言编写底层文件和三个计数器的程序,再编写分频器和数码管的程序,最后用例化语句编写顶层文件,分别都调试在确认无误后把顶层文件下载到试验箱,连接导线,完成后实现在时钟信号的控制下,6位数码管动态刷新显示三个计数器的技术结果。

三、单元电路设计

1.数码管译码器程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity deled is

port(num:in std_logic_vector(3 downto 0);

led:out std_logic_vector(6 downto 0));

end deled;

architecture fun of deled is

begin

-- abcdefg

led<="1111110"when num="0000"else

"0110000"when num="0001"else

"1101101"when num="0010"else

"1111001"when num="0011"else

"0110011"when num="0100"else

"1011011"when num="0101"else

"1011111"when num="0110"else

"1110000"when num="0111"else

"1111111"when num="1000"else

"1111011"when num="1001"else

"1110111"when num="1010"else

"0011111"when num="1011"else

"1001110"when num="1100"else

"0111101"when num="1101"else

"1001111"when num="1110"else

"1000111"when num="1111";

end fun;

原理图

2.十进制计数器程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entityt10 is

port(clk,clr,en:in std_logic;

co:out std_logic;

q:buffer std_logic_vector(3 downto 0));

endt10;

architecture behave oft10 is

begin

process(clk,clr,en)

begin

if(en='0')then q<="0000";

elsif(clk'event and clk='1')then if(clr='1')then q<="0000";

elsif(q=9)then q<="0000";

co<='1';

else q<=q+1;

co<='0';

end if;

end if;

end process;

end behave;

原理图

仿真波形图

3.六十进制计数器程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYt60 IS