Aunque es un tema viejo, no vi que le dieran respuesta adecuada.
Lo que yo haria para minimizar costos en crear un decodificador ASCII a 14 segmentos, usando 2 GALs
una gal maneja los segmentos, a, b, c , d, e, f, g1 y g2. La otra los segmentos h, i, j, k, l, m, dp.
Las entradas en binario 7 bits - representan el codigo ASCII o cualquier otro, pero ASCII es casi universal.
se aplican simultaneamente a las GALs, y usamos la entrada del reloj para amarar la decodificacion en el registro D del GAL. Le quitamos al ucontrol la tarea de la conversion (ganando un moton de memoria ya que no tenemos que almacenar la tabla de conversion, ni el codigo para buscar) y lo enfocamos en el multiplexado del display. Si solo se quiere mostrar un mensaje ... utilizamos la memoria salvada. Si se desea recibr por puerto serie el mensaje a desplegar.. usamos una buffer ciclico cerrado y solo nos preocupamos en actualizar el apuntador de la posicion actual en el buffer... la cual es incrementada para obter el caracter a desplegar.
Podemos tener un buffer bastante largo y es facil hacer la marquesina (rotacion de caracteres) de esa
manera.
hay bastante info en la web de como hacer esto. pero si tienes dudas te doy un pequeño ejemplo
digamos que deseamos mostrar el caracter de doble comillas (") = cuyo ASCII es 22
segmentos iluminados codificacion (1= activo, -=0) que representa
___ dpnml kjih g1g2fe dcba en Hex GAL1 GAL2
|\|/| | | ---- --1- - --- --1- 0202 02 02
- -
|/|\|
___
hacemos la tabla de representacion para todos los caracteres ASCII
y obtenemos la expresion para cada uno de los segmentos
aqui estan algunos caracteres:
caracter dpnml kjih g1g2fe dcba Hex GAL1 GAL2
zero 0 --1- -1-- - -11 1111 243F 24 3F
uno 1 ---- -1-- ---- -11- 0406 04 06
2 ---- ---- 11-1 1-11 00db 00 db
3 ---- ---- 1--- 1111 008f
4 ---- ---- 111- -11- 00e6
5 ---- 1--- -11- 1--1 0169
6 ---- ---- 1111 11-1 00fd
7 ---- ---- ---- -111 0007
8 ---- ---- 1111 1111 00ff
9 ---- ---- 111- -111 00e7
Echa la tabla ... usamos WINCUPL o cualquier otro software gratis para obtener el
archivo para quemar las GAL y listo y resuelto tu primer paso.
El segundo paso ...depende del ucontrolador que uses. Yo usaba el uprocesador Z80
que me accedia a dos puertos... Uno para el decodificador y otro para la seleccion de la posicion del caracter del display.