Seven Segmen Display adalah merupakan suatu rangkaian komponen logika digital yang dapat menampilkan suatu karakter yang berupa angka-angka dan huruf sehingga dapat dimengerti oleh manusia. Pada seven segment terdapat 7(tujuh) dioda berupa LED(Light Emitting Diode) dan membentuk suatu karakter dengan menyalanya LED sebagai penanda.
Berikut ini adalah contoh seven segment pada gambar di bawah ini :
Salah satu cara untuk menghasilkan sinyal-sinyal pengendali dari suatu seven segment display yaitu dengan menggunakan sebuah sevent-segment decoder. Seven-segment decoder membutuhkan 4 input sebagai angka berbasis heksadesimal yang dinyatakan dalam bahasa mesin (bilangan berbasis biner) kemudian sinyal-sinyal masukan tersebut akan ke decoder dan ke dalam sinyal-sinyal pengendali seven-segment display. Sinyal-sinyal pengendali berisi 7 sinyal yang setiap sinyalnya mengatur aktif-tidaknya setiap LED.
Berikut ini adalah table kebenaran dari seven segment :
Masing – masing bit keluaran a, b, c, d, e, f, dan g dapat dinyatakan sebagai berikut :
Berikut ini adalah contoh program :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity test is
port (
clk : in std_logic;
bcd : in std_logic_vector(3 downto 0); --BCD input
segment7 : out std_logic_vector(6 downto 0) -- 7 bit decoded output.
);
end test;
--'a' corresponds to MSB of segment7 and g corresponds to LSB of segment7.
architecture Behavioral of test is
begin
process (clk,bcd)
BEGIN
if (clk'event and clk='1') then
case bcd is
when "0000"=> segment7 <="0000001"; -- '0'
when "0001"=> segment7 <="1001111"; -- '1'
when "0010"=> segment7 <="0010010"; -- '2'
when "0011"=> segment7 <="0000110"; -- '3'
when "0100"=> segment7 <="1001100"; -- '4'
when "0101"=> segment7 <="0100100"; -- '5'
when "0110"=> segment7 <="0100000"; -- '6'
when "0111"=> segment7 <="0001111"; -- '7'
when "1000"=> segment7 <="0000000"; -- '8'
when "1001"=> segment7 <="0000100"; -- '9'
--nothing is displayed when a number more than 9 is given as input.
when others=> segment7 <="1111111";
end case;
end if;
end process;
end Behavioral;
berikut ini adalah contoh gerbang logika pada seven segment :