Autor Tema: PIC18F4550+LCD 4 BITS  (Leído 3220 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kenny_pic

  • PIC10
  • *
  • Mensajes: 11
PIC18F4550+LCD 4 BITS
« 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.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: PIC18F4550+LCD 4 BITS
« Respuesta #1 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.


Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: PIC18F4550+LCD 4 BITS
« Respuesta #2 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!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: PIC18F4550+LCD 4 BITS
« Respuesta #3 en: 31 de Mayo de 2015, 20:25:15 »
te juro que crei que era era portugues xD, bueno gracias por corregirme

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: PIC18F4550+LCD 4 BITS
« Respuesta #4 en: 01 de Junio de 2015, 02:59:44 »
De nada hombre, para algo que me se.  :mrgreen:
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado kenny_pic

  • PIC10
  • *
  • Mensajes: 11
Re: PIC18F4550+LCD 4 BITS
« Respuesta #5 en: 01 de Junio de 2015, 08:46:33 »
Muchas gracias pues mirare lo de los tiempos y la frecuencia de oscilación.

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: PIC18F4550+LCD 4 BITS
« Respuesta #6 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.


 

anything