TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: kenny_pic en 31 de Mayo de 2015, 14:10:53

Título: PIC18F4550+LCD 4 BITS
Publicado por: kenny_pic en 31 de Mayo de 2015, 14:10:53
Muy buenas estoy haciendo un proyecto de final de curso de un control de un terrario y empece a diseñarlo con el programa PROTEUS y tengo todo el código hecho con el esquema y me funciona.
Ahora he querido probar en la realidad empezando por probar solo que el display que comunico con 4 bits que mostraba por pantalla lo asignado y solo me salen cuadrados negros, y he probado de regular el contraste, cambiar de puertos, cambiar de rutina y no se si el problema esta en el código que aproveche de la rutina del libro Desarrolo de proyectos de pic16f o en el oscilador que utilizo interno, o en los tiempos que no son los adecuados.
Por favor agradecería mucho si me pudierais ayudar ya que estoy desesperado y no se que mas probar. Gracias hago un aporte del código en ASM+ESQUEMA en ISIS por si alguien quiere aprovechar alguna parte del código.
Título: Re: PIC18F4550+LCD 4 BITS
Publicado por: KILLERJC en 31 de Mayo de 2015, 18:27:06
Di un vistaso rapido al codigo,

Ademas de ver varios codigos juntos, con comentarios en portugues, eso quiere decir o que los leiste y no te molestaste en cambiarlos o copiaste y pegaste sin saber si funcionaban o no.

En fin veo que utilizas el PLL, asi que tu frecuencia seguro esta bastante mas alta que los 4Mhz para lo cual esta hecho el driver del LCD que tenes en el codigo (4Mhz por lo que dice su bandera). Si es asi y tenes una frecuencia mayor entonces necesitas modificar tiempos, incluso cuando se dan pulsos en algunos pines. Y termina siendo un problema de puertos.

Hay muchisimo mas codigo de lo necesario para el LCD, te recomiendo comenzar un proyecto aparte con solo el tema del LCD, a pesar que existe muchisimos drivers no hay nada mejor que poder entender el codigo y acomodarlo como uno quiere. Y para eso vas a necesitar el datasheet del controlador de tu LCD. Y como dije, si estas usandolo con una frecuencia mayor a 4Mhz vas a tener que retocar todos los delays. y tamaño de pulsos.

Título: Re: PIC18F4550+LCD 4 BITS
Publicado por: Miquel_S en 31 de Mayo de 2015, 18:59:20
con comentarios en portugues
Los comentarios son en catalán pero aun así para mi de la manera que tienes escrito el código es muy difícil de leer yo de ti intentaría organizarlo de otra manera.

Saludos!
Título: Re: PIC18F4550+LCD 4 BITS
Publicado por: KILLERJC en 31 de Mayo de 2015, 20:25:15
te juro que crei que era era portugues xD, bueno gracias por corregirme
Título: Re: PIC18F4550+LCD 4 BITS
Publicado por: Miquel_S en 01 de Junio de 2015, 02:59:44
De nada hombre, para algo que me se.  :mrgreen:
Título: Re: PIC18F4550+LCD 4 BITS
Publicado por: kenny_pic en 01 de Junio de 2015, 08:46:33
Muchas gracias pues mirare lo de los tiempos y la frecuencia de oscilación.
Título: Re: PIC18F4550+LCD 4 BITS
Publicado por: tapi8 en 01 de Junio de 2015, 13:38:48
¿Has tenido en cuenta como se manejan las tablas en la familia 18F?, antes de llamar a la tabla tienes que multiplicar el valor que vas a buscar por 2, puedes hacerlo haciendo una rotacion a la izquierda:

RLNCF   WREG,0      ;hacemos una rotacion a izquierdas sin carry para multiplicar por 2, hay que hacerlo para las tablas

Hay otros pequeños detalles y no tan pequeños entre la familia 16F y 18F que hay que tener en cuenta.