文章目录

  • 一、实验目的
  • 二、实验内容
  • 三、实验设计与结果
  • 四、实验思考与小结

一、实验目的

在上次加法计数器仿真实验的基础上,掌握端口的引脚配置、实验箱的接线及程序的下载、调试等。

二、实验内容

1.在上次实验的基础上,编译、仿真可以进行0-99加法计数功能的计数器,其中输入端口包括时钟、清零、使能,输出端口包括个位、十位的七段译码输出,以及输出进位信号。
2. 在Quartus II上进行输入、输出端口的引脚配置。并根据引脚配置完成接线,下载至FPGA芯片中,在实验箱上完成验证。

三、实验设计与结果

1.修改上一次实验实现的“进行0-99加法计数功能的计数器“的VHDL描述,其中输入端口包括时钟、清零、使能,输出端口包括个位、十位的七段译码输出,以及输出进位信号。并将其封装成一个元件。其代码及封装后的元件如下:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL ;
USE IEEE.STD_LOGIC_UNSIGNED.ALL ;
ENTITY cnt10 ISPORT ( clk, rst, en, load :     IN  STD_LOGIC ;data :   IN STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) ;dout :  OUT STD_LOGIC_VECTOR ( 3 DOWNTO 0 )  ;cout :   OUT STD_LOGIC   )  ;
END ENTITY cnt10  ;ARCHITECTURE bhv OF cnt10 IS
BEGIN PROCESS (clk,rst,en,load)VARIABLE q : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ); BEGIN IF rst = '0' THEN q := ( OTHERS => '0') ;ELSIF   clk 'EVENT AND clk = '1'  THEN IF  en = '1' THENIF  ( load = '0') THEN q := data ;  ELSEIF q < 9 THEN q := q+1;ELSE q := ( OTHERS => '0') ;END IF ;END IF ;END IF ;END IF ;IF q = "1001" THEN  cout <= '1' ; ELSE  cout <= '0' ;END IF ;dout <= q;END PROCESS ;
END ARCHITECTURE bhv ;

2.其中的“输出端口包括个位、十位的七段译码输出”,需要修改上一次实验的七段译码的VHDL描述,并将其封装成一个元件。代码如下:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL ;
use Ieee.std_logic_unsigned.all;entity led7s isport (a: in std_logic_vector(3 downto 0);d: out std_logic_vector(6 downto 0));
end entity led7s;architecture bhv of led7s isbeginprocess (a)begincase (a) iswhen "0000" => d<= "0111111" ;when "0001" => d<= "0000110" ;when "0010" => d<= "1011011" ;when "0011" => d<= "1001111" ;when "0100" => d<= "1100110" ;when "0101" => d<= "1101101" ;when "0110" => d<= "1111101" ;when "0111" => d<= "0000111" ;when "1000" => d<= "1111111" ;when "1001" => d<= "1101111" ;when others => null;end case;end process;
end architecture bhv;

3.如下图将以上封装好的元件连接成可以实现功能的原理图,让其可以实现0-99加法计数功能,其中输入端口包括时钟、清零、使能,输出端口包括个位、十位的七段译码输出,以及输出进位信号。

4.进行输入、输出端口的引脚配置。注意配置引脚位置的合理性。如下图为相关的配置信息。

clk外接一个频率合适的时钟信号,使能端信号则由外接的上下推动的开关决定,而进位信号的输出则用一个外接的发光二极管指示灯表示。两个七段数码管则根据相关引脚信息给出。


5.根据引脚配置完成接线,下载至FPGA芯片中,在实验箱上完成验证。如下图为相关的实验验证。

四、实验思考与小结

七段数码管有直流驱动和动态显示驱动两种。直流驱动:是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。动态显示驱动:是将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

FPGA(6)--7段显示译码器的加法计数器相关推荐

  1. FPGA(5)--VHDL--10十进制计数器及7段显示译码器

    文章目录 一.实验目的 二.实验内容 三.实验设计 一.实验目的 掌握一般性计数器的VHDL设计方法,熟悉程序文本和原理图结合方法设计电路.掌握CASE语句的基本使用方法. 二.实验内容 首先用VHD ...

  2. BCD-七段数码管显示译码器

    目的 1. 进一步掌握VHDL语言的基本结构及设计的输入方法. 2. 掌握BCD-七段显示译码器的设计思路: 内容 1. 使用拨码开关SW3.SW2.SW1.SW0作为四位二进制数据 D.C. B.A ...

  3. FPGA _Verilog HDL_十六进制7段码显示译码器设计实验

    一.题目 十六进制7段码显示译码器设计实验. 二.源代码 说明:本实验使用的是共阴数码管. //---------------------------------------------------- ...

  4. 电信院 创新创业实践二 FPGA Verilog vivado 数码显示管 显示译码器

    一.实验目的 用case语句设计一个显示译码器,并学习如何在EGO1实验板上使用7段数码管显示数字.要求数码管显示一个数字为学号(如2016****100)最后一位(如0). 二.实验仪器 计算机(安 ...

  5. 【连载】 FPGA Verilog HDL 系列实例--------8-3 BCD七段显示译码器

    [连载] FPGA Verilog HDL 系列实例 Verilog HDL 之 8-3 BCD七段显示译码器 一.原理 7段数码管是利用不同发光段组合的方式来显示不同的数码,为了试数码管能将数码所代 ...

  6. 利用全加器实现7段数码管_显示译码器 || 7段数码管 || 7段LCD || 7448 || 数电

    显示译码器 || 7段数码管 || 7段LCD || 7448 || 数电 1数码显示器件 在介绍显示译码器之前,先介绍一下常用的数码显示器件,可以分为 半导体显示器 液晶显示器 荧光数码管 辉光数码 ...

  7. 基于VHDL的层次化设计:异步清零和同步使能4位十六进制加法计数器和七段显示译码器的元件例化实现

    原文:http://blog.csdn.net/Dr_JIA/article/details/45790579 方案一 (本实现方案只编写了一个vhdl文件,计数器和译码器的vhdl描述写在了一个文件 ...

  8. FPGA学习—数码管显示

    FPGA学习--数码管显示 文章目录 FPGA学习--数码管显示 结构框架 一.硬件设计 二.verilog编写 1.计数器 2.译码模块 3.数码管扫描模块 4.顶层模块 实验结果 结构框架 数码管 ...

  9. 二十四进制 加法计数器 并用数码管显示

    二十四进制 (BCD码)加法计数器 并用数码管显示 `timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2020/1 ...

最新文章

  1. vs c# release调试
  2. SpringBoot_定制banner
  3. Java如何判断今天本月第几周的周几?
  4. 异常处理—错误抛出机制
  5. 安卓注册手机短信验证码验证的案例-01
  6. 37signals为何砍掉中层?个人点评,高素质人才队伍工作,靠的是全体发挥综合能力,而不是靠......
  7. Centos查看用户登陆记录
  8. js中addEventLister()函数的用法
  9. 组装电脑时,散热器高度要与机箱适配
  10. java启动脚本_java启动脚本
  11. fgui的ui管理框架_DCET: Unity3D客户端和.Net Core服务器双端框架,支持代码全热更(包括FGUI和双端行为树)...
  12. matlab 遗传算法 ga函数,matlab遗传算法ga函数
  13. 重新回归最初始的51单片机,跟我一起学单片机吧(内含单片机驱动、烧录软件、程序开发软件的安装和使用)
  14. 微信终于要对聊天记录动手了?
  15. 怎么查看服务器的详细信息,服务器查看详细信息
  16. [Java]保留数值后2位的几种方法
  17. antd走马灯组件自定义前进后退按钮
  18. 2017年保荐代表人胜任能力考试辅导教材 投资银行业务
  19. 以智汀和小米为例,聊一聊智能网关在智能家居中的应用
  20. 多源异构数据整合在多规合一中的应用

热门文章

  1. 乐高 计算机泡泡龙教案,泡泡龙的秘密小班科学教案
  2. jquery dataTable汉化方式
  3. 一种四通道高精度IEPE加速度传感器控制器设计稿
  4. WanaCry病毒简单分析
  5. 终身学习--启程篇:清华大学 《ARM控制器与嵌入式系统》
  6. 熬夜整理!200道Python数据分析习题+50个办公自动化案例!
  7. 前端开发之localstorge和sessionstorge的结合使用,达到多个tab之间共享页面的值
  8. 新版微信小程序开发实战
  9. Network Shell (Netsh)
  10. 新闻管理系统(SpringBoot+Vue)