ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

RELOJ Y CONTADOR CON TARJETA SPARTAN.


Enviado por   •  23 de Abril de 2016  •  Trabajo  •  16.213 Palabras (65 Páginas)  •  196 Visitas

Página 1 de 65

[pic 1][pic 2]UNIVERSIDAD NACIONAL  DE SAN AGUSTIN

INGENIERIAS DE PRODUCCION Y SERVICIOS

[pic 3]

[pic 4]INGENIERÍA ELECTRÓNICA

MICROELECTRONICA

PROYECTO FINAL

ALUMNO:

  • RIVERA VERA RAUL PAOLO                            CUI: 20110825

AREQUIPA-2016

INDICE

CONTADOR Y RELOJ VISUALIZADOS EN LCD…………………………………3

Descripción del proyecto………………………………………..…………….3

Desarrollo de la Programación en general………………………………………….3

ANEXOS…………………………………………………………………………….......5

 Programación……………………………………………………………………5

Componente 1……………………………………………………………………9

Componente 2…………………………………………………………………..22

Conexión con la placa spartan3e……………………………………………….24

Datasheet del LCD……………………………………………………………...25

Observaciones………………………………………………………………………..25

Conclusiones …………………………………………………………………………25

Bibliografía…………………………………………………………………………….26

CONTADOR Y RELOJ VISUALIZADOS EN LCD

Descripción del proyecto

El contador electrónico digital es muy útil por ello en la actualidad estamos rodeados de dispositivos que disponen de algún tipo de contador digital, incluso en la mayoría de los electrodomésticos vienen equipados con uno.

En el presente proyecto se implementa un el desarrollo de un lCD   en el lenguaje de programación VHDL con la aplicación de una librería para realizarlo como contador o como reloj y para implementarlo usando la tarjeta spartan3E, para el respectivo uso que deseen los lectores.

Desarrollo de la Programación en general

En la primera parte de nuestro programa se define la librería para el uso del lcd  con sus respectivos componentes que para nuestro caso son 2.; los cuales veremos más adelante.

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;

Para la entidad definimos nuestras entradas “IN” y salidas “OUT” dependiendo del rango que van a ocupar ya sea “STD_LOGIC”, “BIT” o “STD_LOGIC_VETOR”; y más adelante también vamos a definir señales que nos van a servir de ayuda.

PORT(CLK: IN STD_LOGIC;

                                          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) --;    --

                                          );

end LIB_LCD_INTESC_REVB;

Seguidamente llamamos a los componentes que usamos haciendo las conexiones respectivas para la LCD, para continuar con la programación del código donde se indica las variables ya antes definidas y su funcionamiento; que implica a la variable UNIDADES incrementar en “1”, de similar manera la variable  DECENAS aumentará en “1” cuando la variable unidades llegue a “9”; y bajo el mismo principio la variable CENTENAS se incrementará en “1” cuando la variable DECENAS presente el número“6”. En la misma programación se indica el número máximo al que llegaran contando las variables y regresaran a “0” volviendo a comenzar la cuenta; así se indica, que la variable UNIDADES contarán como máximo hasta “9”, la variable DECENAS contaran hasta “6” y las variables  CENTENAS llegaran a contar hasta “6”. Sin embargo el número se puede cambiar en la programación, así como también aumentar las variables a MILLARES, etc., según sea el uso del reloj.

En esta etapa se puede cambiar la programación, manteniendo el formato ya explicado, para obtener un contador, acumulador, un reloj, etc. para el objetivo que se tenga en mente.

PRCESS (CLK)

BEGI

                                        IF RISING_EDGE(CLK)  THEN                                                                         CONTA_DELAY <= CONTA_DELAY+1;

                                        IF CONTA_DELAY = DELAY_FIN THEN

                                                CONTA_DELAY <= 0;

                                                UNIDADES <= UNIDADES + 1;

                                                IF UNIDADES = 9 THEN

                                                        UNIDADES <=0;

                                                        DECENAS  <= DECENAS + 1;

                                                        IF DECENAS = 6 THEN

                                                                DECENAS <=0;

                                                                CENTENAS <= CENTENAS + 1;

                                                                IF CENTENAS = 6 THEN

...

Descargar como (para miembros actualizados) txt (48 Kb) pdf (511 Kb) docx (127 Kb)
Leer 64 páginas más »
Disponible sólo en Clubensayos.com