Autor Tema: En qué estoy fallando?  (Leído 3416 veces)

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

Desconectado tavisho

  • PIC12
  • **
  • Mensajes: 94
En qué estoy fallando?
« en: 14 de Abril de 2011, 23:14:55 »
Saludos, últimamente me decidí a desempolvar mis conocimientos en pic y veo con tristeza que ya he olvidado mucho. Quise hacer un simple programa para mostrar el mensaje "hola" en la pantalla LCD conectada al 16f877A y no lo he logrado. Pongo por acá el código fuente para ver si alguno detecta mi error  :5]  :5]

Código: [Seleccionar]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Mi segundo programa después de retomar el PIC16F877A. En esta situación quiero mostrar;;;
;;; la palabra "Hola" por un LCD 2x16 conectado al puerto B   ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
List P=16f877A
include p16f877a.inc


ORG 0x00
goto Inicio
ORG 0x05 ; Salta el vector de Reset

Mensajes

ADDWF PCL,F
Mensaje1
DT "HOLA",0 ; mensaje a mostrar

Inicio
bsf STATUS,RP0 ; pasa a banco 1
clrf PORTB ; borra puerta b
movlw 0x06
movwf ADCON0 ; puerto A entradas/salidas digitales
bcf STATUS,RP0 ; regresa a banco 0
call LCD_Inicializa ; llama a inicializar lcd
Bucle movlw Mensaje1 ; indica el mensaje a mostrar
call LCD_Mensaje ; rutina para mostrar el mensaje indicado
goto Bucle ; un bucle que solo muestra ese mensaje

INCLUDE <LCD_4BIT.INC>
INCLUDE <RETARDOS.INC>
INCLUDE <LCD_MENS.INC>
end

Como ven es un programa muy fácil pero se me ha complicado, estoy de inicio en los pic de nuevo y quiero meterme a fondo. Espero que me ayuden y por cierto, los include asociados al lcd ( 4bit, retardos y lcd_mens) son iguales a cmo publica ra-ma

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: En qué estoy fallando?
« Respuesta #1 en: 15 de Abril de 2011, 00:28:31 »
El mismo proteus ya te esta marcando algo mal, al ver que el puertoA en la simulacion posee un estado desconocido. Esto es porque no has configurado las entradas y salidas del puerto A.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado tavisho

  • PIC12
  • **
  • Mensajes: 94
Re: En qué estoy fallando?
« Respuesta #2 en: 15 de Abril de 2011, 00:42:34 »
he puesto puerto a a salidas y sigue igual ( clrf trisa)
« Última modificación: 15 de Abril de 2011, 00:48:38 por tavisho »

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: En qué estoy fallando?
« Respuesta #3 en: 15 de Abril de 2011, 10:50:37 »
Hola.

Mira dentro de LCD_4BIT.INC, donde se define:

#DEFINE  LCD_PinRS      PORTB,1
#DEFINE  LCD_PinRW      PORTB,3
#DEFINE  LCD_PinEnable   PORTB,2
#DEFINE  LCD_BusDatos      PORTB


y no coincide con tu circuito. O cambias las definiciones, o recableas el circuito.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado tavisho

  • PIC12
  • **
  • Mensajes: 94
Re: En qué estoy fallando?
« Respuesta #4 en: 15 de Abril de 2011, 15:37:23 »
Eeres un capo BrunoF, hago los cambios necesarios y publico los resultados. Pues bien he modificado el conexiado y el error persiste, no muestra nada la pantalla LCD  :5] :5]. Seguiré trabajando
« Última modificación: 15 de Abril de 2011, 19:30:50 por tavisho »

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: En qué estoy fallando?
« Respuesta #5 en: 16 de Abril de 2011, 00:17:25 »
Por las dudas, agrega, ademas de todo lo anterior, una demora de medio segundo antes de inicializar el LCD. Hay  un tiempo durante el cual el LCD no responde y deberia esperarse para que inicialice correctamente.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado banistelrroy

  • PIC10
  • *
  • Mensajes: 29
Re: En qué estoy fallando?
« Respuesta #6 en: 11 de Mayo de 2011, 01:22:19 »
anda al archivos 4BITS.INC y ve la configuracion que tiene el lcd y conecta como te dice

Desconectado Pablo Alfa

  • PIC10
  • *
  • Mensajes: 2
Re: En qué estoy fallando?
« Respuesta #7 en: 18 de Noviembre de 2011, 14:44:19 »
Bueno, a mí me esta pasando lo mismo que a quien abrió el hilo, solo que yo he podido encontrar el problema pero no sé cómo resolver.... El pic (16F84A) corre con un oscilador de 4Mhz, pero el display esta en 270Khz, cuando en el proteus lo paso a 4Mhz al display, bualá! funciona excelente, pero si lo vuelvo a poner al display en su frecuencia original, no aparece nada.. alguien me puede dar una manito? Necesito conectar el oscilador al display? o debo ajustar de alguna manera la frecuencia del pic con respecto del display? Pregunto ésto por ser muy novato en éste tema de los pics... Gracias de antemano a quien me pueda ayudar.
« Última modificación: 24 de Noviembre de 2011, 07:40:46 por Pablo Alfa »

Desconectado Vtronic

  • PIC16
  • ***
  • Mensajes: 121
Re: En qué estoy fallando?
« Respuesta #8 en: 04 de Diciembre de 2011, 17:47:24 »
creo que deberias implementar algunos delays en los comandos que envias a la lcd y que driver tiene tu lcd?

Desconectado Pablo Alfa

  • PIC10
  • *
  • Mensajes: 2
Re: En qué estoy fallando?
« Respuesta #9 en: 15 de Diciembre de 2011, 16:09:21 »
creo que deberias implementar algunos delays en los comandos que envias a la lcd y que driver tiene tu lcd?

La verdad es que no sé que driver tiene, solo sé que es de 16x2 compatible con el Hitachi 44780 (es un ccm-1620csl-v2); y como estoy empezando, el inicio del LCD Display lo copié del libro RA-MA. Ver http://www.todopic.com.ar/asm/rama/lcd_4bit.asm

Gracias por tu respuesta.

Pablo.