RELOJ Y CONTADOR CON TARJETA SPARTAN.
Enviado por monto2435 • 1 de Febrero de 2018 • 2.408 Palabras (10 Páginas) • 447 Visitas
...
CENTENAS
END IF;
END IF;
END IF;
END IF;
END IF;
END PROCESS;
Gracias al uso de los componentes y de la librería más adelante se pueden observar instrucciones que nos hacen mucho más fácil la programación, que con tan solo escribir LCD_INI("11") estaríamos haciendo inicio del LCD y con la instrucción CHAR(MR), se indica que se escribirá en mayúsculas la letra R, el código CHAR_ASCII(x"3A") que indica los 2 puntos y POS(2,3), 1u3 nos da la posición del LCD que estaremos usando.
INSTRUCCION(0)
INSTRUCCION(1)
INSTRUCCION(2)
INSTRUCCION(3)
INSTRUCCION(4)
INSTRUCCION(5)
INSTRUCCION(6)
INSTRUCCION(7)
INSTRUCCION(8)
INSTRUCCION(9)
INSTRUCCION(10)
INSTRUCCION(11)
INSTRUCCION(12)
INSTRUCCION(13)
INSTRUCCION(14)
INSTRUCCION(15)
INSTRUCCION(16)
INSTRUCCION(17)
ANEXOS
a) Programación
----------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;
use IEEE.std_logic_arith.all;
USE WORK.COMANDOS_LCD_REVB.ALL;
entity LIB_LCD_INTESC_REVB is
PORT(CLK: IN STD_LOGIC;
-------------------------------------------------------
-------------PUERTOS DE LA LCD (NO BORRAR)-------------
RS : OUT STD_LOGIC; --
RW : OUT STD_LOGIC; --
ENA : OUT STD_LOGIC; --
CORD : IN STD_LOGIC; --
CORI : IN STD_LOGIC; --
DATA_LCD: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --
BLCD : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) --; --
-------------------------------------------------------
-----------------------------------------------------------
--------------ABAJO ESCRIBE TUS PUERTOS--------------------
-----------------------------------------------------------
);
end LIB_LCD_INTESC_REVB;
architecture Behavioral of LIB_LCD_INTESC_REVB is
-----------------------------------------------------------------
---------------SEÑALES DE LA LCD (NO BORRAR)---------------------
TYPE RAM IS ARRAY (0 TO 60) OF STD_LOGIC_VECTOR(8 DOWNTO 0); --
--
SIGNAL INSTRUCCION : RAM;--
COMPONENT PROCESADOR_LCD_REVB is --
PORT(CLK : IN STD_LOGIC;--
VECTOR_MEM : IN STD_LOGIC_VECTOR(8 DOWNTO 0);--
INC_DIR : OUT INTEGER RANGE 0 TO 1024;--
CORD : IN STD_LOGIC;--
CORI : IN STD_LOGIC;--
RS : OUT STD_LOGIC;--
RW : OUT STD_LOGIC--
DELAY_COR : IN INTEGER RANGE 0 TO 1000;--
BD_LCD : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --
ENA : OUT STD_LOGIC; --
C1A,C2A,C3A,C4A : IN STD_LOGIC_VECTOR(39 DOWNTO 0); --
C5A,C6A,C7A,C8A : IN STD_LOGIC_VECTOR(39 DOWNTO 0); --
DATA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) --
); --
--
end COMPONENT PROCESADOR_LCD_REVB;----
COMPONENT CARACTERES_ESPECIALES is ----
PORT( C1,C2,C3,C4:OUT STD_LOGIC_VECTOR(39 DOWNTO 0);--
C5,C6,C7,C8:OUT STD_LOGIC_VECTOR(39 DOWNTO 0);--
CLK : IN STD_LOGIC--
); --
--
end COMPONENT CARACTERES_ESPECIALES;--
--
CONSTANT CHAR1 : INTEGER := 1;
CONSTANT CHAR2 : INTEGER := 2;
CONSTANT CHAR3 : INTEGER := 3;
CONSTANT CHAR4 : INTEGER := 4;
CONSTANT CHAR5 : INTEGER := 5;
CONSTANT CHAR6 : INTEGER := 6;
CONSTANT CHAR7 : INTEGER := 7;
CONSTANT CHAR8 : INTEGER := 8;
...