数码管动态显示电路设计(VHDL)

您所在的位置:网站首页 vhdl语言应用 数码管动态显示电路设计(VHDL)

数码管动态显示电路设计(VHDL)

2023-08-15 06:33| 来源: 网络整理| 查看: 265

VHDL数码管动态显示电路

文章目录 一、动态数码管是什么?二、VHDL实现代码1.根据 电路图完成VHDL描述:2.8个数码管显示不同的数字或符号3.管脚锁定 总结

一、动态数码管是什么?

七段数码管是电子开发过程中常用的输出显示设备。实验箱中七段数码管采用共阴极,当数码管的中的哪一个段被输入高电平,则相应的这一段被点亮。

四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。

八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。

这样对于一组数码管动态扫描显示需要有两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;

另一组是位输出口的控制信号,用来选择第几个数码管工作,称为位码。

在这里插入图片描述

二、VHDL实现代码 1.根据 电路图完成VHDL描述:

代码如下:

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dtsm is port(clk:in std_logic; key:in std_logic_vector(3 downto 0); ledag:out std_logic_vector(6 downto 0); sel:out std_logic_vector(2 downto 0) ); end dtsm; architecture beha of dtsm is begin process(clk) variable count:std_logic_vector(2 downto 0); begin if (clk'event and clk='1') then count:=count+1; end if; selledagledagledagledagledagledagledagledagledagledagledagledagledagledagledagledagnull; end case; end process; end beha; 2.8个数码管显示不同的数字或符号

代码如下:

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dtsm is port(clk:in std_logic; key:in std_logic_vector(3 downto 0); ledag:out std_logic_vector(6 downto 0); sel:out std_logic_vector(2 downto 0) ); end dtsm; architecture beha of dtsm is signal ww:std_logic_vector(2 downto 0); begin process(clk) variable count:std_logic_vector(2 downto 0); begin if (clk'event and clk='1') then count:=count+1; end if; sel


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3