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

简介: 数字逻辑电路设计实验:七段数码管译码器
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;


目录
打赏
0
0
0
0
54
分享
相关文章
基本逻辑电路的介绍
基本逻辑电路:从门电路到集成电路 逻辑电路是数字电路中的一种,它用于处理和操作数字信号。逻辑电路可以根据输入信号的不同组合,产生不同的输出信号。在数字系统中,逻辑电路扮演着重要的角色,它们可以实现计算、控制、存储等功能。本文将介绍逻辑电路的基本原理和发展历程。 一、门电路:逻辑电路的基础 门电路是逻辑电路的基础,它是由逻辑门电路组成的。逻辑门电路是一种基本的数字电路元件,它可以实现与门、或门、非门等逻辑运算。门电路的输入和输出都是数字信号,它们通过逻辑门电路的布尔运算产生不同的输出信号。门电路可以根据不同的逻辑运算实现不同的功能,如逻辑运算、比较运算、计数运算等。 二、组合逻辑电路:多
199 0
|
9月前
|
数字逻辑与模拟电子技术-部分知识点(2)——模电部分-半导体三极管、基本线性运放电路、正弦波振荡电路
数字逻辑与模拟电子技术-部分知识点(2)——模电部分-半导体三极管、基本线性运放电路、正弦波振荡电路
84 0
遥控车模的电机控制器
该项目基于CH32V103单片机和RTT构建了一个无刷电机无感矢量控制器,利用无感矢量控制实现低噪音、高线性和效率的电机运行。硬件包括主控(CH32V103开发板)、驱动(IR2101S驱动芯片)、逆变(三相全桥逆变电路,IRF540N MOS)和采样(差分电路)模块。软件部分涉及TIM和ADC配置、矢量控制及中断处理。项目提供示例代码和附件下载。
【数字IC手撕代码】Verilog偶数分频|题目|原理|设计|仿真(二分频,四分频,六分频,八分频,偶数分频及特殊占空比)
【数字IC手撕代码】Verilog偶数分频|题目|原理|设计|仿真(二分频,四分频,六分频,八分频,偶数分频及特殊占空比)
【数字IC手撕代码】Verilog偶数分频|题目|原理|设计|仿真(二分频,四分频,六分频,八分频,偶数分频及特殊占空比)
(枚举)(模拟)(二位前缀和)99. 激光炸弹
(枚举)(模拟)(二位前缀和)99. 激光炸弹
131 0
【数字IC手撕代码】Verilog奇数分频|题目|原理|设计|仿真(三分频,五分频,奇数分频及特殊占空比)
【数字IC手撕代码】Verilog奇数分频|题目|原理|设计|仿真(三分频,五分频,奇数分频及特殊占空比)
【数字IC手撕代码】Verilog奇数分频|题目|原理|设计|仿真(三分频,五分频,奇数分频及特殊占空比)
单片机数字滤波算法一些分享-实践思考
单片机数字滤波算法一些分享-实践思考
221 0
单片机数字滤波算法一些分享-实践思考