Problema desplazamiento de texto en matriz con pic16f872

hola a todos,

tengo un problema con el texto en moviemiento.

con una matriz 5x7 no tengo problema porque cuando una letra ha corrido por las 5 columnas entro otra letra.

el problema es con 10 columnas, porque se hacer el programa para que la letra corra por las 10 columnas y cuando se haya marxado entre otra, y eso con 10 columnas queda muy mal.

querria que entre letra y letra haya una separacion de 2 leds.

yo introduzco las letras por columnas, por ejemplo la primera columna de de una Z seria 10000001, entonces esto lo cargo columna 1 y de alli W y de alli al PORTB , y en PORTA cargo 11110.

aqui os adjunto el programa en assembler, para que veais lo que he hecho, esta muy mal explicado y muy feo aparentemente, pero esque dia a dia voy haciendo retoques i pruevas.

vereis que pongo muchas veces PORTA,4 muchas veces a 1, es porque en el la matriz se me encendian columnas cuando no le tocava.

bueno siento expresarme tan mal, espero que me haya explicado bien.

querria que alguien me echara una mano y me aconsejara como poder hacerlo se la agradeceria.

un saludo y gracias por vuestra paciencia

qualquer cosa que me haya dejado decirmelo, ademas intetare pasar un video con el funcinamiento, pero voy muy atareado.
 

Adjuntos

  • matriz2_diplays_551.asm
    2.5 KB · Visitas: 63
  • letras_general_a_y_c_igual_158.txt
    16.9 KB · Visitas: 84
Hola pino, sería de mucha ayuda que postearas el diagrama que usas aún siendo a mano. En este tipo de circuitos los "drivers" de las columnas y filas son muy importantes, deben trabajar a una buena velocidad para no entorpecer la visión de la matriz.
Que Pic utilizas para el proyecto?
Saludos
 
hola eric, gracias por preocuparte.

aqui adjunto el cableado del circuito, que es super simple, no he utilizado drivers, porque como aun el programa no esta acabado, no he perfeccionado el hard.

pero igualmente la matriz se ilumina lo suficiente para para verse.

el pic utilizado es el PIC16F872 que tiene 3 puertos de salida.

i nose que mas decirte, bueno recordar que mi problema es que no se hacer que me salga un texto entero desplazandose con una separacion entre letras de 2 puntos.

si que se hacer que se vaya desplazando letra por letra.

y el programa quehay aqui colgado salen letras de 2 en 2

el texto que yo quiero mostrar es:

ANA @ 3004
@=corazon
y de la manera que lo estoy haciendo ahora se me desplazan dos letras a la vez y despues otras 2.

1º A N
2º A @
3º3 0
4º0 4

y esto queda muy feo, por eso necesito ayuda, porque si hago el programa para que se me muestren todas las letras de esta manera el programa se hace muy largo y exclusivo para esta frase a la que tenga que ampliar el texto o cualquier cosa este programa ya no me sirve.

ara estoy probando de poner alli donde hay el portc y el port a un registro de desplazamiento, que me vaya moviendo un 0. pero estoy en ello necesito ir a comprar el chip.

referente a los tiempos que utilizo, en cada columna que escribo tengo un retardo de 2,5msy esto lo repito 30 veces, pero con esto no tengo inconveniente.

un saludo y gracias eric por preguntar
 

Adjuntos

  • cableado_matriz_10x7__194.bmp
    41.9 KB · Visitas: 94
Hola de nuevo Pino, el hecho de pedirte el diagrama es que a veces se nos olvida tomar precauciones especiales con los microcontroladores, te recuerdo que cada Pin solo puede mantener una carga de 25mA máximos y según tu diagrama le exiges mucho más. Vamos paso a paso para que tu proyecto funcione bien de raiz. Antes de concentrarte en tu programa debes considerar que el hardware que vas usar este lo mejor diseñado posible, para que al momento de hacer las pruebas descartes por completo problemas con los ICs y te concentres en el programa.
Creo que es mejor y más rápido trabajar con ICs decodificadores como el 74LS138 y el ULN2003. Igual puedes trabajar directo con el ULN2003 pero para mi es desperdiciar pines inecesariamente.
Para tu programa es más cómodo y rápido tener una rutina simple de multiplexado o barrido de tal manera que siempre estes mandando datos a la matriz, aunque estos sean nulos.
Si estás interesado puedo ayudarte más, pero si considera evolucionar tu circuito actual en uno más confiable.
Estaré esperando tu respuesta.
Saludos
 
Atrás
Arriba