Documentos de Académico
Documentos de Profesional
Documentos de Cultura
library ieee;
use ieee.std_logic_1164.all;
port (
clk_in: in std_logic;
reset: in std_logic;
);
end divisor;
begin
temporal<='0';
counter <= 0;
counter <= 0;
else
counter<=counter+1;
end if;
end if;
end process;
clk_out<= temporal;
end behavioral;
En este código se muestra nuestro divisor de frecuencia, el cuál hace que cuando le llega
una señal de 10 mega Hertz a 2 Hertz la cual hace que cuando le llegan 12499999 de
señales de reloj cambia a 0 la señal si estaba en 1 o bien que cambie a 1 si estaba en 0.
EXHIBIDOR
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity exh is
port(
end exh;
begin
b<= '0';
e<= ex(0);
end data;
________________________________________________________________________________
Este es el código de nuestro exhibidor, que será la salida que nos mostrara en que piso
esta, el display, será un exhibidor de 7 segmentos, y la señal que recibe es de 2 bits, ya
que el elevador solo cuenta tres pisos, 01 para el piso uno, 10 para piso dos y 11 para el
piso tres.
MOTORES
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
clk: in std_logic;
p: in std_logic;
reset: in std_logic;
s: out std_logic
);
end motores;
begin
case Qp is
Qs <= "0000";
Qs <= "0011";
Qs <= "0110";
Qs <= "0111";
else
Qs <="0000";
end if;
Qs <= "0001";
Qs <= "1000";
Qs <= "0100";
Qs <= "0111";
else
Qs <= "0001";
end if;
s <= '0';
Qs <= "0010";
Qs <= "1000";
Qs <= "1001";
Qs <= "0101";
else
Qs <= "0010";
end if;
s <= '0';
when "0011" => --Mp1
Qs <= "0011";
Qs <= "1011";
Qs <= "0011";
Qs <= "0011";
else
Qs <= "0011";
end if;
s <= '0';
Qs <= "0100";
Qs <= "0100";
Qs <= "1011";
Qs <= "0100";
else
Qs <= "0100";
end if;
s <= '0';
Qs <= "0101";
Qs <= "0101";
Qs <= "0101";
Qs <= "1011";
else
Qs <= "0101";
end if;
s <= '0';
Qs <= "0110";
Qs <= "0110";
Qs <= "0110";
end if;
s <= '0';
Qs <= "0111";
Qs <= "0111";
Qs <= "1010";
else
Qs <= "0111";
end if;
s <= '0';
Qs <= "1000";
Qs <= "1010";
Qs <= "1000";
Qs <= "1000";
else
Qs <= "1000";
end if;
s <= '0';
Qs <= "1001";
Qs <= "1001";
elsif (slide = "010") then
Qs <= "1010";
Qs <= "1001";
else
Qs <= "1001";
end if;
s <= '0';
Qs <= "1011";
Qs <= "1011";
Qs <= "1011";
Qs <= "1011";
else
Qs <= "1010";
end if;
s <= '0';
if (p = '0') then
Qs <= "1011";
elsif (p='1')then
Qs <= "1100";
else
Qs <= "1011";
end if;
s <= '1';
if (p = '1') then
Qs <= "1100";
Qs <= "1101";
else
Qs <= "1100";
end if;
s <= '0';
Qs <= "1101";
Qs <= "0000";
Qs <= "0010";
Qs <= "0011";
end if;
s <= '0';
end case;
begin
Qp <= "0000";
Qp <= Qs;
end if;
end funcion;
________________________________________________________________________________________