Touch Screen GLCD 160x80, desarrollo con ASM + PIC18F4550

Fabyto69 en esta pagina http://bitmap2lcd.com/download.html dale donde dice "download and evaluation version", con esta esta mas que suficiente para hacer los graficos, y para empezar que GLCD tienes ?, y que codigo usas, yo tengo la GLCD 160x80, y para mandar un grafico primero lo dibujo en el paint con esa resolucion y en bmp monocromo, despues lo abres en el bitmap2lcd, en el menu de la izquierda elijes la imagen y le das doble click a la imagen, luego la imagen se pondra a la derecha de la pantalla del programa, le das doble click y te mandara a la pantalla de edicion, en esa pantalla le das Ctrl + V.
No se te olvide configurar las constantes, para esto te vas al menu: Output y le das a Show/hide data table configuration y configuras el tipo de archivo que te genera, para asm en MPLAB lo configure asi:

Donde dice Constants prefix : DB
donde dice constant format: 0x+data
file text: none
constant separator: ,
comment prefix: ;
end of line: none

Ya despues te genera un archivo donde copias solo los datos en hex y el prefijo de comando(DB)
Ojo, la constante DB la uso porque programo en un PIC18, no se como sea en PIC16 o AVR o lo que sea.



Hola recien acabo de recibir un GLCD y un PIC 18F4550, y me gustaria que me pasaras el codigo completo para mandar texto y/o graficos... por cierto que compilador usas??

Gracias ^^

Hola, si lees el post veras que Daniel Meza paso el codigo de su programa, veo que usas el mismo PIC que el mio, la cosa es que yo lo programe todo en ensamblador, en C nunca encontre la libreria para PICC, asi que lo hize en asm.
 
Última edición:
saludos... Hace algunos meses trabajé con ese mismo glcd, pero con el uc pic16f874a. El proyecto consistía básicamente en un contador de oscilaciones en un determinado tiempo programado por el usuario.
De igual manera está hecho en asm. Te dejo el código, allí viene la rutina que usé para el borrado del glcd y están declarados los puertos que controlan cada pin del glcd.

Otra cosa es que revises también la señal de contraste, ya que esta no se conecta como comunmente en los demás lcd's.

ya baje el txt del tu programa q saca graficos pero no me funciona por que sera
no puedo echarlo a andar
 
Aún no lo he utilizado el módulo touch, pero en la página muestran el algoritmo para controlarlo. Básicamente son secuencias de lecturas con el ADC del uC y algunos cálculos para determinar la zona presionada del GLCD
 
si... una que otra imágen. Te dejo un programa que muestra una imágen, (aunque no recuerdo que imágen era), nuevamente está implementada para el PIC16F874, la puedes adaptar. Los datos de la imágen los obtuve de Bitmap2LCD

Ver el archivo adjunto 68207

oye me estuve basando en tu programa para sacar graficos por el lcd ya encontre la forma de censar el touch ahora vamos pòr partes en la direccion 0x0000 empieza el programa y el 0x800 esta los datos de la imagen a mandar..

despues de que presenta el grafico hay una etiqueta que dice fin la elimine y continue con mas programa primero le añadi con versiones adc para el touch y no hubo problema cuando le empece a meter mas lines para converciones del adc empezo el problema despues de 70 lineas mas mi pic ya no hace nada ni siquira presenta la imagen al panel cheque en mi programador del pic y ni siquiera allegado alos primeros 2k de programa cual sera el problema no se si sea que acumulando todo el programa con el grafico sea 2k realmente estoy un poco confundido espero alguna ayuda de tu parte
 
Puedes poner tu programa por aquí, en teoría debería de funcionar. Si tienes isis, puedes simularlo sin incluir el GLCD, si existe algún problema con la memoria del programa (un salto errático, etc) se visualizará en la simulación...
 
si mira cuando ya no hace nada mi pic le quito 2 o 3 lineas de programa y ya vuelve acorrer normal creo que estoy sobre pasando los 2k de programa pero se supone que estoy en la pagina 0 y casi esta vacia
 
Puedes intentar ajustando los datos de la imagen en otro segmento de memoria, por ejemplo en otra página. O bien puedes implementar una memoria I2C de más capacidad y solo ir leyendo los datos de la imágen y enviarlos secuencialmente al GLCD
 
si ya hice eso lo puse en la pagina 2 0x1000 y ajuste los valores de adh adl pero me sucede lo mismo realmente el pic apenas si tiene 1/4 de su capacidad entonces ya tengo tiempo intentando y no logro resolverlo
 
Haz la prueba en isis de proteus como te mencioné anteriormente, y vas "debuggenado" poco a poco el programa hasta dar con el problema. Serguramente es por un salto incorrecto y tiene que ver con los registros PCLATH y PC del PIC. (Si es que usas la serie 16F, en la serie 18F no existen estos problemas ya que la memoria de programa no está segmentada)
 
vale... ve poniendo en tu programa fuente instrucciónes "sleep" para simularlo poco a poco. Especialmente enfócate en la rutina que leé los datos de la memoria y subrutinas de retardo que tengas. Tambíen fijate en la pestaña view->program memory para observar si el código no se mezcla entre páginas de memoria
 
si mira ya lo simule pero PCLATH siempre sta el cero el unico que cambia de valor es el pc eso es normal porque es el contador de programa entonces creo que los datos del grafico siempre estan el la pagina 0 al igual q el resto del programa y juntando ambos nos da 2k por eso es no brinca por si solo ala siguiente pagina y no entiendo entonces por que no estan los datos del grafico el la pagina 1 se supone q el org 0x800 situa en esta parte del programa el grafico
 
Atrás
Arriba