Jumat, 24 Desember 2010

Tugas FPGA (Seven Segment Display)




Seven Segmen Display merupakan sebuah rangkaian komponen logika digital yang dapat menampilkan sebuah karakter berupa angka-angka maupun huruf sehingga dapat dimengerti oleh manusia. Seven segmen display terdapat 7(tujuh) dioda berupa LED(Light Emitting Diode) membentuk sebuah karakter yang diinginkan dengan menyalanya LED sebagai penanda.

Seven segment (7-segments) adalah sebuah komponen untuk menampilkan bilangan 0 sampai 9 yang banyak digunakan pada aplikasi yang memerlukan tampilan angka. 7-segments pada dasarnya adalah LED (Light Emitting Diode), yaitu diode yang dapat mengeluarkan cahaya bila diberi tegangan pada pin-nya. Gambar di disamping ini memperlihatkan gambaran tentang 7-segment yang masing-masing segment diberi notasi mulai dari a, b, c, d, e, f, dan g.

LED tersebut terdiri dari 7 buah yang dihubungkan satu dengan lainnya. Cara menghubungkan pin pada seven segments ada 2 (dua) mode, yaitu Common Anode dan Common Katode. Common Anode adalah LED pada 7 segment semua pin anode-nya dihubungkan menjadi satu, sedangkan pin katoda dihubungkan ke port-port pada mikrokontroller. Common anode digunakan untuk rangkaian yang memerlukan aktif rendah (active low). Common katode adalah semua pin katoda pada 7 segments disatukan, sedangkan pin anoda dihubungkan ke port-port pada mikokontroller. Common katoda digunakan pada rangkaian yang memerlukan aktif tinggi (active high).

Program 7 Segment yang berkaitan tentang VHDL dan FPGA :

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity sevseg is
Port (
clk : in std_logic;
rst : in std_logic;
val : in std_logic_vector (15 downto 0);
seg0 : in std_logic_vector (3 downto 0);
seg1 : in std_logic_vector (3 downto 0);
seg2 : in std_logic_vector (3 downto 0);
seg3 : in std_logic_vector (3 downto 0);
in std_logic_vector (3 downto 0);
wendp : in std_logic_vector
wenseg : in std_logic_vector (3 downto 0);
useseg : in std_logic;
anout : out std_logic_vector (3 downto 0);
ctout : out std_logic_vector (7 downto 0));
end sevseg;

Logikanya adalah :
Untuk memasukkan titik desimal, mengatur atau menghapus nilai terkait dalam
dp dan kemudian menggunakan topeng wendp yang memungkinkan untuk
melakukan tindakan. For example if you set dp <= “1101″ and wendp <= “1110″, the module will turn the decimal points on for the two most significant digits and turn the decimal point off for the third most significant digit, but it won't change the least significant because wendp(0) is 0. Sebagai contoh jika Anda menetapkan dp <= "1101" dan selama dua digit paling signifikan dan putar titik desimal off untuk digit ketiga yang paling signifikan, tapi menang ' t perubahan paling signifikan karena wendp (0) adalah 0.

Tidak ada komentar:

Posting Komentar