proyectos en vhdl para control de monitor vga desde … · el controlador tiene una memoria rom con...

56
PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE UNA FPGA Sergio Noriega 2018

Upload: others

Post on 11-May-2020

27 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PROYECTOS EN VHDL PARA CONTROL

DE MONITOR VGA DESDE UNA FPGA

Sergio Noriega 2018

Page 2: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

TABLA DE CÓDIGOS ASCII

Internacionalmente se

estandarizó un código para

para la representación de

caracteres visibles para su

visualización y otros no

visibles a modo de control.Se denominó ASCII (American Standard Code for Information Interchange), cuya tabla

contiene 128 caracteres.

Existe un «addendum» de

de este código que incluye

caracteres de otros idiomas

como el español con vocales

con acento, la letra ñ, etc.

Se denomina código ASCII

extendido.

Page 3: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Timming para generación de señales en VGD 640 x 480 60 Hz

Page 4: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

AREA VISIBLE

640 16 96 4833 2

10

4

80

señal de sincronismo horizontalse

ña

l de

sin

cro

nis

mo

ve

rtic

al

1

0

1 0

800 pixeles

52

5 lín

ea

s

Page 5: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PLACA TERASIC MODELO DE0 CON CYCLONE III

Conector DB15 para salida VGA

Pulsador Button1

Page 6: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PLACA TERASIC MODELO DE0 CON CYCLONE III

3 conversores DAC implementados cada uno con 4 salidas digitales y una red

de 6 resistencias.

GND

Page 7: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PLACA TERASIC MODELO DE0 CON CYCLONE III

Se requiere reloj

de 25,175 MHz.

Page 8: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PLACA TERASIC MODELO DE0 CON CYCLONE III

Page 9: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

GENERADOR DESINCRONISMO

+CONTROL DE MEMORIA

+PROCESAMIENTO DE STRINGS

ASCIIROM

DIV.DE

FREC.(PLL)

CLK

50MHZ

CLK

25.170MHZ

Fout = Fin x M/N

Fin Fout

Diagrama en bloques del proyecto final

Salida

VGA

syn

cR

GB

botton1

Page 10: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Fout = Fin x M/n

FinFout

Uso de PLL de Cyclone III como divisor fraccional

1007

2000

Page 11: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Configuración de PLL en Cyclone III como divisor fraccional

Page 12: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Configuración de PLL en Cyclone III como divisor fraccional

Page 13: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Configuración de PLL en Cyclone III como divisor fraccional

Page 14: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Configuración de PLL en Cyclone III como divisor fraccional

Mejor aproximación

a 25,175 MHz

M

n

Fin

Fout

Page 15: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PROYECTO GENERADOR_VGA1 Generación de fondos a color

Instanciación del PLL

Basado en https://eewiki.net/pages/

viewpage.action?pageId=15925278

Page 16: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PROYECTO GENERADOR_VGA1

Cada vez que se pulsa button1 se

genera un cambio en el color del

fondo (background).

Page 17: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PROYECTO GENERADOR_VGA1

En esta sección se

generan las señales de

sincronismo para los

trazados horizontal y

vertical.

Esto corresponde para

el formato de 640x480,

respectivamente.

El campo total es de

800x525 pixeles.

CÓMO SE PUEDE

MODIFICAR PARA

OTROS FORMATOS

COMO 1024x768 ??

Page 18: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

address(10..4)

address(3..0)

q(7..0)

ascii_rom

clock

00000000,

00000000,

00000000,

00010000,

00111000,

01101100,

01000100,

01000100,

01111100,

01000100,

01000100,

01000100,

01000100,

00000000,

00000000,

00000000,

ascii_rom es una memoria de 2048 x 8 bits.

Almacena 128 caracteres según el código ASCII.

Cada carácter ocupa 16 direcciones de 8 bits cada una.

En total se usan 128 bits ó pixeles por caracter.

Ejemplo:

El carácter «A» está almacenado en 16 posiciones

de memoria desde la 104010 hasta la 105510.

1040 equivale a 65 x 16, donde 65 es el código

ASCII asignado e indica el comienzo de la zona de

16 x 8 pixeles donde es almacenado ese carácter.

El carácter «B» le sigue, desde la posición 1056 a 1071.

Se usa para apuntar

al comienzo de la zona

donde se almacenan los

pixeles de un carácter.

Se usa para seleccionar

uno de los 16 bytes que

forman un caracter.

MEMORIA ROM CON CARACTERES ASCII

Page 19: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

MEMORIA ROM CON CARACTERES ASCII

Page 20: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

MEMORIA ROM CON CARACTERES ASCII

Memoria de 2048 registros

de 8 bits cada uno.

Almacena 128 caracteres.

Cada carácter está

almacenado en 16

direcciones contiguas,

requiriendo 128x16=2048

direcciones en total.

Page 21: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

MEMORIA ROM CON CARACTERES ASCII

Page 22: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

MEMORIA ROM CON CARACTERES ASCII

Page 23: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PROYECTO GENERADOR_VGA2 Generación de texto con memoria ROM (1)

Se llena la pantalla del carácter "I"

accediendo a la memoria ascii_rom_vga

Page 24: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el
Page 25: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el
Page 26: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PROYECTO GENERADOR_VGA3 Generación de texto con memoria ROM (2)

Se llena la pantalla de un carácter desde

la letra "A" hasta la "Z" cada vez que se

pulsa el botón button1 de la placa.

Page 27: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el
Page 28: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el
Page 29: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PROYECTO GENERADOR_VGA4

Generación de texto con memoria ROM (3)

Generación de texto en pantalla con resolución de 640 x 480 pixeles.

Cada carácter de 16 bits (pixeles) de alto x 8 bits (pixeles) de ancho.

El mismo consta de mensajes que están almacenados en la FPGA.

Capacidad de visualización de hasta 30 mensajes (30x16=480) de 80 caracteres cada

uno por pantalla (80x8=640).

Cada mensaje se almacena en la FPGA, escrita en VHDL como una constante formada

por un «string» de 80 caracteres.

Cada línea dura 16 barridos en horizontal. En cada barrido se visualiza uno de

los 16 bytes que forman a cada caracter.

Al iniciar una nueva línea un contador de caracteres (carácter_counter) se va

incrementando cada 8 pixeles que es el ancho que dura cada carácter en horizontal.

Este contador, junto con la función «character’pos» da el valor de código ASCII del

carácter que es apuntado en el «string» que se está leyendo.

Por otro lado, hay un contador que durante toda una línea, cuenta la posición vertical

desde 0 hasta 15, para direccionar uno de los 16 bytes que conforman a cada carácter.

Recordar que los caracteres están almacenados en una memoria ROM donde cada carácter

está formado por 128 bits: 16 de alto x 8 de ancho, donde en este proyecto, un bit es

equivalente a un pixel.

Cada carácter se direcciona con address(10..4) mientras que cada byte de un carácter se

direcciona con addresss(3..0).

Page 30: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Línea 1

Línea 30

A M

Carácter 1 Carácter 80

16

8

0,0

639,479

Display 640 x 480 pixeles

PROYECTO GENERADOR_VGA4 Generación de texto con memoria ROM (3)

Page 31: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PROYECTO GENERADOR_VGA4

Page 32: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Configuración del posicionamiento y

selección de los mensajes a visualizar

Page 33: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el
Page 34: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

PROYECTO GENERADOR_VGA5 Generación de texto con memoria ROM (4)

Proyecto igual a «generador_vga4» con la adición de cambio de fondo de

pantalla presionando el pulsador «button1» (Proyecto: ‘generador_vga1’)

Señal de 3 bits => 8 colores.

Page 35: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Controlador para Módulo LCD 2x16

Sergio Noriega 2017

Page 36: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Módulo Display de caracteres LCD modelo 162F de Displaytech

HD44780

Este módulo permite visualizar en dos líneas hasta 16 caracteres en cada una, comandado desde un microprocesador.Generalmente se emplean 11 líneas entre control (3) y datos (8), pudiendo bajar a 7 si hay restricción en la cantidad de pines a emplear (configura el bus de datos en 4 bits).

Page 37: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

El control de la visualización de los 2000puntos del display y la interface a micro-procesador, la realiza básicamente este chip de la empresa Hitachi.Otro IC es el ST7066U, el cual es similaral HD44780.

DDRAM: "Data Display RAM" donde se almacenan los caracteres cargados paraser visualizados.

CGRAM: "Character Generator RAM"donde se puede almacenar algunos caracteres definidos por el usuario queno figuren en la ROM del chip para servisualizados.

HD44780

Page 38: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Pines para uso en modobus de datos de 4 bits

Adición para uso en modobus de datos de 8 bits

La parte alta del bus de datos es bidireccional (DB7..DB4).Permite que se pueda leer elestado del dispositivo, por ej..

HD44780

Page 39: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el usuario (CGRAM).Las dimensiones de cada carácter puede ajustarse a 5 x 8 pixeles ó 5 x 10 pixeles.En cada uno de ellos puede visualizarse en la parte inferior, un cursor (en la línea inferior).La selección del carácter se realiza escribiendo en el bus de datos el código ascii correspondiente.

HD44780

Page 40: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

HD44780

Las señales "E", "R/-W" y "RS", son de entrada al módulo LCD, mientras que DB0 a DB7 sonbidireccionales, en especial DB7 que puede leerse para saber si el módulo está ocupadorealizando una operación interna.

En esta figura se muestra como se transmiten datos sólo por DB7 a DB4 en la modalidad de bus de 4 bits. Esto permite ahorrarse 4 líneas en total.

Page 41: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

HD44780Con R/-W en "0", se escribe a través del bus de datos (DB7 a DB0 ó DB7 a DB4) y dependiendo dela línea RS se avisa al controlador si es una instrucción (RS="0") o un dato (RS="1").

En la rutina de control esmuy importante respetar los tiempos de reatrdo delcontrolador a fin de quefuncione correctamente.

Este dispositivo (el display)es relativamente lentopara acceder.Por ejemplo: una vez escritoun carácter se debe esperar50 us para volver a generarla rutina de mandar otro.Para esto, es útil emplear laopción de leer desde elmismo bus de datos del dispositivo si está o no ocupado (BUSY).

La frecuencia típica del oscilador del chip es de270 KHz.

continúa

Page 42: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

HD44780

Borrar dato en CGRAM ó DDRAMLeer dato desde CGRAMó DDRAM

Page 43: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Códigos de algunasinstrucciones:

Borrar todo display incluyendola memoria.

Retornar puntero a fila 1columna 1.

Incremento/decremento/estático

Apagar/prender el display

Modos para desplazar elcursor o la información de unalínea de carateres.

Ajuste de tamaño de carácter y cantidad de líneas (1 ó 2).

HD44780

Page 44: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

HD44780

Como configurar el modo "desplazamiento" (shift function), tamaño de carácter y cantidad de líneas a visualizar (set function).

Page 45: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

Modos de visualización de cada carácter + cursor y posibilidad de hacer "blinking" (parpadeo).

Modos de lectura óescritura de memoriasDDRAM y CGRAM.

Page 46: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

HD44780

Rutina normal de Inicialización del módulo display.

El power-up debe sermínimo de 40 ms(50 ms para asegurarse).

La inicialización tarda unos2.2 ms (3 ms para asegurarse).

Page 47: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

HD44780

El chip es de tecnología CMOS.

La entrada de ENABLE es normal, mientras que las de RS y R/-W son con pull-up.

Los bits del bus de datos DB0 a DB7 son bidireccionales.

Page 48: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

ersr_nw

data7....data0

Controladormódulo

LCD

enable

reset

clock

busy

dato_in

CONTROLADOR DE MÓDULO LCD

ERSR/nW

DB7....DB0

MÓDULO LCDDISPLAYTECH

162F

Page 49: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

UN POSIBLE DIAGRAMA DE FLUJO PARA EL CONTROL DEL MÓDULO LCD

PowerUp

(Pwup)

Inicialización(Ini)

reset=0

Listo(Ready)

Envío(Send)

reset=0

reset=050 ms

2,2 ms

50 usenable=1

enable=0

X

X

Por defecto al encender el módulo, éste se configuracomo:FUNCTION SET : 2-line mode, display on.DISPLAY ON/OFF : display on, cursor off,

blink off.ENTRY MODE SET : increment mode, entire

shift mode.

Una vez inicializado el LCD, se procedea escribir los datos, usando el bucle:READY -> SEND -> READY …..

Page 50: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

en

VHDL.

2017

= 65h= 6Eh= 20h= 56h= 48h= 44h= 4Ch= 60h= 20h= 32h= 30h= 31h= 37h

Seminario

Micro

= 53h= 65h= 6Dh= 69h= 6Eh= 61h= 72h= 69h= 6Fh= 20h= 4Dh= 69h= 63h= 72h= 6Fh

LÍNEA 1 LÍNEA 2LÍNEA 1

LÍNEA 2

Ejemplo de escribir un texto en dos líneas:

Seminario Micro

en VHDL. 2017

Page 51: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

LÍNEA 1

LÍNEA 2

Tiempo: 00:00:00

RELOJ CON DISPLAY LCD

Hs Ms SsSe emplea la placa DE0 de la Cyclone III, la cual posee una salida para comunicación con un display del tipo LCD.Pines empleados: E, RW, RS, Data7…Data0.Se visualiza en el display:Unidades y decenas de Horas.Unidades y decenas de Minutos.Unidades y decenas de Segundos.

El circuito de alimenta con un reloj de 50 Mhz y posee dos resets: uno para eldisplay (But1) y otro para el reloj (But0).Además hay una entrada para habilitar odetener el conteo del reloj (But2).

But2 But1 But0

Page 52: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

RELOJ CON DISPLAY LCD

Page 53: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

RELOJ CON DISPLAY LCD

Page 54: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

RELOJ CON DISPLAY LCD

Page 55: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

RELOJ CON DISPLAY LCD

Page 56: PROYECTOS EN VHDL PARA CONTROL DE MONITOR VGA DESDE … · El controlador tiene una memoria ROM con caracteres disponibles y algo de RAM para almacenar caracteres definidos por el

RELOJ CON DISPLAY LCD

Disposición de pines en placa DE0 (Cyclone III)