*

Ogultekin

  • *
  • 10
  • KTU EEE^4
    • Profili Görüntüle
Altera De0 Nano Shift Register ile Led Sürme
« : 26 Şubat 2016, 01:08:39 »
Geliştirme kartı üzerindeki 8 adet led shift register ile birer birer kaydırıldı.


Kod: VHDL
  1. [size=10pt]library IEEE;
  2. use IEEE.STD_LOGIC_1164.ALL;
  3.  
  4. entity SR_Led is
  5.    
  6.         Port ( CLK : in   STD_LOGIC;
  7.                  LED : out  STD_LOGIC_VECTOR (7 downto 0));
  8.  
  9. end SR_Led;
  10.  
  11. architecture Behavioral of SR_Led is
  12.          signal shift_reg : STD_LOGIC_VECTOR(7 downto 0) := X"80";
  13.          signal clk_hz : std_logic ;
  14.          signal sayac : integer range 0 to 25000000 ;  -- 25mhz lik sayac oluşturuldu
  15.  begin
  16.                        
  17.   clk_1hz_process : process( CLK )
  18.         begin
  19.                 if(rising_edge(CLK)) then
  20.                         if (sayac < 25000000) then
  21.                                 sayac <= sayac + 1 ;
  22.                                 clk_1hz <= '0';
  23.                         else
  24.                                 sayac <= 0;
  25.                                 clk_1hz <= '1';
  26.                         end if;
  27.                 end if;
  28.         end process clk_1hz_process;
  29.                        
  30.         process (clk_1hz)
  31.     begin
  32.         if (rising_edge(clk_1hz)) then
  33.             shift_reg(7) <= shift_reg(0);
  34.             shift_reg(6) <= shift_reg(7);
  35.             shift_reg(5) <= shift_reg(6);
  36.             shift_reg(4) <= shift_reg(5);
  37.             shift_reg(3) <= shift_reg(4);
  38.             shift_reg(2) <= shift_reg(3);
  39.             shift_reg(1) <= shift_reg(2);
  40.             shift_reg(0) <= shift_reg(1);
  41.             shift_reg(1) <= shift_reg(0);
  42.             shift_reg(1) <= shift_reg(0);
  43.             shift_reg(2) <= shift_reg(1);
  44.             shift_reg(3) <= shift_reg(2);
  45.             shift_reg(4) <= shift_reg(3);
  46.             shift_reg(5) <= shift_reg(4);
  47.             shift_reg(6) <= shift_reg(5);
  48.             shift_reg(7) <= shift_reg(6);
  49.             shift_reg(0) <= shift_reg(7);
  50.         end if;
  51.     end process;
  52.  LED <= shift_reg;
  53. end Behavioral;[/size]



Pin Bağlantıları:

« Son Düzenleme: 02 Mart 2016, 22:14:13 Gönderen: Ogultekin »