文章目录

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

一、实验目的

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

二、实验内容

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. ORA-22835 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小
  2. 2020-11-30(为什么字符串可以赋值给字符指针变量)
  3. 武大计算机学院八零后博导张翔,走近名校新生状元 武大张翔:学贵有恒
  4. How to find Material based on Sales Organization and Distribution Channel
  5. matlab武汉理工大学数值分析线性函数拟合实验_「首席架构师推荐」数值计算库精选...
  6. react 小程序转换_如何将AngularJS 1.x应用程序转换为React应用程序-一次转换一个组件。
  7. Cygwin下cscope的配置
  8. WINCE--修改MAC地址
  9. 服务器装win7找不到硬盘驱动,Windows 7安装问题时找不到硬盘驱动器怎么办
  10. 基于PaaS人事部门间平台多重身份的技术解决方案
  11. 智慧班级管理系统 java
  12. 台式计算机硬件组装步骤,电脑硬件组装详细步骤有哪些
  13. PyMC3 概率编程入门
  14. 基于java(ssm)人事考勤签到管理系统源码(java毕业设计)
  15. LZH_IJKPlayer-一个最简单使用的视频播放器,集成于bilibili开源直播播放器(ijkplayer)
  16. 苹果市值蒸发超千亿美元;戴威称 ofo 不会倒闭;人人网被卖,多牛接盘 | 雷锋早报...
  17. 中达电通CT500-RD白色款路由设置办法
  18. 电商项目优惠券(活动)该如何测试,附答案
  19. 二十五、Spring项目六(1)
  20. “HP LaserJet M1319f 激光一体机”在 Windows XP 下实现共享打印

热门文章

  1. 聚焦覆铜板缺陷检测,国辰视觉检测系统大显实力
  2. 时间序列分析基础(定义、均值、方差、自协方差及相关性)
  3. 如何提高linux ssh连接速度
  4. 锂电池保护板基本知识(转)
  5. 【活动回顾】2021年CoinGeek纽约大会——时机已到
  6. TTL电平、RS232电平与CMOS电平的区别
  7. 北风修仙笔记—2020年4月
  8. RS485单灯控器通信协议
  9. 〖Python接口自动化测试实战篇⑧〗- 小案例 - 使用python实现接口请求 [查询天行数据]
  10. 总有人说考软考证书没用怎么办?