数字逻辑电路设计实验:七段数码管译码器

简介: 数字逻辑电路设计实验:七段数码管译码器
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';
    --if(count="111") then count:="000"; end if;
    end if;
    sel<=count;
  end process;
  process(key)
    begin
    if (sel>"010") then
    case key is
      when "0000"=> ledag<="0111111";
      when "0001"=> ledag<="0000110";
      when "0010"=> ledag<="1011011";
      when "0011"=> ledag<="1001111";
      when "0100"=> ledag<="1100110";
      when "0101"=> ledag<="1101101";
      when "0110"=> ledag<="1111101";
      when "0111"=> ledag<="0000111";
      when "1000"=> ledag<="1111111";
      when "1001"=> ledag<="1101111";
      when "1010"=> ledag<="1110111";
      when "1011"=> ledag<="1111100";
      when "1100"=> ledag<="0111001";
      when "1101"=> ledag<="1011110";
      when "1110"=> ledag<="1111001";
      when "1111"=> ledag<="1110001";
    end case;
  else
    case key is
      when "0001"=> ledag<="0111111";
      when "0010"=> ledag<="0000110";
      when "0011"=> ledag<="1011011";
      when "0100"=> ledag<="1001111";
      when "0101"=> ledag<="1100110";
      when "0110"=> ledag<="1101101";
      when "0111"=> ledag<="1111101";
      when "1000"=> ledag<="0000111";
      when "1001"=> ledag<="1111111";
      when "1010"=> ledag<="1101111";
      when "1011"=> ledag<="1110111";
      when "1100"=> ledag<="1111100";
      when "1101"=> ledag<="0111001";
      when "1110"=> ledag<="1011110";
      when "1111"=> ledag<="1111001";
      when "0000"=> ledag<="1110001";
    end case;
  end if;
end process;
end beha;


目录
相关文章
|
存储 芯片
基本逻辑电路的介绍
基本逻辑电路:从门电路到集成电路 逻辑电路是数字电路中的一种,它用于处理和操作数字信号。逻辑电路可以根据输入信号的不同组合,产生不同的输出信号。在数字系统中,逻辑电路扮演着重要的角色,它们可以实现计算、控制、存储等功能。本文将介绍逻辑电路的基本原理和发展历程。 一、门电路:逻辑电路的基础 门电路是逻辑电路的基础,它是由逻辑门电路组成的。逻辑门电路是一种基本的数字电路元件,它可以实现与门、或门、非门等逻辑运算。门电路的输入和输出都是数字信号,它们通过逻辑门电路的布尔运算产生不同的输出信号。门电路可以根据不同的逻辑运算实现不同的功能,如逻辑运算、比较运算、计数运算等。 二、组合逻辑电路:多
153 0
|
芯片
译码器的介绍
译码器是一种常见的数字电路元件,它用于将输入的编码信号转换为输出的解码信号。在数字系统中,译码器起着非常重要的作用,它能够将编码的数字信号转换为可识别的输出信号,实现数字信号的解码和解析。本文将介绍译码器的原理、分类、应用以及未来的发展趋势。 一、译码器的原理 译码器的原理是基于布尔逻辑运算的。它根据输入的编码信号,通过内部的逻辑门电路进行运算,最终输出对应的解码信号。译码器的输入可以是二进制编码、BCD编码或格雷码等形式,输出可以是十进制数、BCD数或具体的控制信号等。 译码器的内部结构通常由多个逻辑门电路组成,例如AND门、OR门和NOT门等。通过这些逻辑门的组合,译码器可以实现各种不
322 0
|
5月前
|
算法
数字逻辑与模拟电子技术-部分知识点(2)——模电部分-半导体三极管、基本线性运放电路、正弦波振荡电路
数字逻辑与模拟电子技术-部分知识点(2)——模电部分-半导体三极管、基本线性运放电路、正弦波振荡电路
51 0
|
6月前
|
搜索推荐 芯片
遥控车模的电机控制器
该项目基于CH32V103单片机和RTT构建了一个无刷电机无感矢量控制器,利用无感矢量控制实现低噪音、高线性和效率的电机运行。硬件包括主控(CH32V103开发板)、驱动(IR2101S驱动芯片)、逆变(三相全桥逆变电路,IRF540N MOS)和采样(差分电路)模块。软件部分涉及TIM和ADC配置、矢量控制及中断处理。项目提供示例代码和附件下载。
|
异构计算
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
817 0
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
单片机-蓝桥杯 用光敏电阻测量光照强度并显示在数码管上。
单片机-蓝桥杯 用光敏电阻测量光照强度并显示在数码管上。
216 1
【单片机】数码管矩阵显示
【单片机】数码管矩阵显示
87 0
【数字IC手撕代码】Verilog偶数分频|题目|原理|设计|仿真(二分频,四分频,六分频,八分频,偶数分频及特殊占空比)
【数字IC手撕代码】Verilog偶数分频|题目|原理|设计|仿真(二分频,四分频,六分频,八分频,偶数分频及特殊占空比)
【数字IC手撕代码】Verilog偶数分频|题目|原理|设计|仿真(二分频,四分频,六分频,八分频,偶数分频及特殊占空比)