Buenas...
¿El programa que usted grabó en la pic lo escribio usted?
Si no lo escribio usted, pero tiene el
código fuente de este ,lo que tiene que hacer antes que nada, es entender por completo ESE código. De esa manera va a saber, como se posiciona un caracter en la pantalla, por ejemplo.
Le aclaro de antemano que lo que usted está queriendo hacer, es bien complejo.Tanto en programación como en electrónica.
Código fuente = Se llama así a un programa
NO compilado ni ensamblado que un ser humano puede entender mas facilmente.
Para saber como programar el display, necesita la hoja de datos del fabricante de ese display , que le va a decir como colocar una letra en alguna fila y columna de ese display. Realmente le va a dar la estructura interna , el fabricante asume que usted ya cuenta con la formación minima como diseñador para entenderlo .(es necesario saber de electronica digital)
Vamos a los hechos... He aqui hoja de datos de un fabricante de display ->
bajar esto de ejemplo.....y
Para programar en
assembler este chip necesita bajarse esto ->
VER,,,y aprenderse de memoria estas 288 páginas en ingles, para empezar
( es bien importante tener claro electrónica ANTES)
Me dá pena, pero,,, si fuera fácil, cualquiera lo haría y eso no suele pasar. Si el mundo se resolviera con TUTORIALES, no existirian la universidades :roll:
P.D1:
Ejemplo de rutinas para comunicarse con el display:
"Limpiar pantalla "
El Comando para hacer esto en el display exige : 0 0 0 0 0 0 0 1
en binario, o sea que, sería -01- en
HEXAdecimal ó 1 en decimal.
Ademas, la hoja de datos dice que :para este comando R/S y R/W ambas deben estar en cero.
Entonces hago lo siguiente :
Supongamos que W se llama es registro índice del PIC
que tambien PORTB se llama el puerto de datosB de la PIC, donde tengo conectado el
BUS de datos del LDC
y que PORTA se llama el puerto de datosA de la PIC, donde tengo conectado el BUS de
CONTROL del LDC
Entonces escribimos :
LDI W,00 ; ( cargamos el registro indice con 0,en HEXA, para el bus de
control del LCD)
OUT PORTA,W ; (y ya guardamos el comando en el puerto A , para comandar el LCD)
LDI W,01 ; ( ahora cargamos el registro con el comando 1,en HEXA)
OUT PORTB,W ; (y ya guardamos el comando en el LCD)
Como resultado de esto la pantalla se limpia
Si el bus de
control estuviera compartido con otro uso,teclado por ejemplo, se programa diferente.
LD PORTA,W ; ( cargamos el estado del puerto actual en W)
RSTBIT n ,W ; ( reseteamos el bit. -n- , es el número de orden del bit de puerto)
RSTBIT n ,W ; ( ahora el otro bit)
OUTPUT W,PORTA ; ( y lo devolvemos al puerto ya modificado)
Despues de esto enviamos el comando 01 y listo.
Todo los demas comandos se operan con este mismo criterio, solo son mas complejos.
Este es facil porque no tiene
datos, solo son
datos de CONTROL, que se tratan como
DATO pero mirandolo desde el LCD, éste los interpreta como CONTROL.
Espero le sirva el desarrollo.
P.D2:
En realidad, por lo que cuenta, cableó los dispositivos, tomó un codigo ya hecho por alguien , lo puso dentro de la pic con una máquina que a su vez, hizo un tercero y hasta ahi la cosa.
Ahora falta que, usted se siente a leer ese programa hasta entender que hace cada linea, borre luego el programa, escriba el suyo o sobre escriba y lo guarde.
Como comenta que quiere opciones para el usuario, va a necesitar un cuarto programa, que atienda cada uno de los aspectos atinentes al teclado y proveerle a su circuito de un teclado segun su imaginación, porque en estos desarrollos la imaginación del diseñador es muy importante. Quiero decir, hay un Océano entre un ingeniero y un ingenioso, pero me quedo con el ingenioso 2 veces.
Las 2 cosas es mejor.
Abrazo
P.D3:
Finalmente, encontre la manera de que usted pueda leer un archivo de un programa de extencion parecida al que usted quiere implementar.Este incluso puede leer un teclado externo.Leer entradas analógicas , tiene timers, contadores, etc.
Acomodado convenientemente, podria escribiendo mas, comunicarse con su LCD, previo borrar la parte del programa para el cliente que lo hice.
Para saber que borrar, tendrá usted que saber que esta borrando y entender ANTES lo que está haciendo.
Es un archivo de texto, pero tendrá antes que descomprimirlo con un ZIP o RAR
exitos.