Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LIBRARY IEEE;
- USE IEEE.STD_LOGIC_1164.ALL;
- ENTITY ControleMotor IS
- PORT(
- Temperatura : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -- Indica o binário equivalente da temperatura atual
- clock : IN STD_LOGIC; -- Clock de 66.66MHz
- LED_Baixo : OUT STD_LOGIC; -- Indica que a intensidade da temperatura está baixa
- LED_Medio : OUT STD_LOGIC; -- Indica que a intensidade da temperatura está média
- LED_Alto : OUT STD_LOGIC); -- Indica que a intensidade da temperatura está alta
- END ControleMotor;
- ARCHITECTURE structural OF ControleMotor IS
- CONSTANT TEMPERATURA_BAIXA : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00011110"; -- 30ºC
- CONSTANT TEMPERATURA_MEDIA : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00101101"; -- 45ºC
- CONSTANT TEMPERATURA_ALTA : STD_LOGIC_VECTOR(7 DOWNTO 0) := "01000110"; -- 70ºC
- BEGIN
- PROCESS(Temperatura,clock) IS
- BEGIN
- IF(clock = '1' AND clock'event) THEN
- IF (Temperatura >= TEMPERATURA_ALTA) THEN
- LED_Baixo <= '0';
- LED_Medio <= '0';
- LED_Alto <= '1';
- ELSIF (Temperatura < TEMPERATURA_ALTA AND Temperatura >= TEMPERATURA_MEDIA) THEN
- LED_Baixo <= '0';
- LED_Medio <= '1';
- LED_Alto <= '0';
- ELSIF (Temperatura >= TEMPERATURA_BAIXA) THEN
- LED_Baixo <= '1';
- LED_Medio <= '0';
- LED_Alto <= '0';
- ELSE
- LED_Baixo <= '0';
- LED_Medio <= '0';
- LED_Alto <= '0';
- END IF;
- END IF;
- END PROCESS;
- END structural;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement