Problemas LCD con PIC 16F877A

Buenos días,

Estoy realizando un programa sencillo que envie un Hola a un Display LCD por medio del puerto D utilizando 4bits, los bits de control los coloque al puerto C. Estoy utilizando las librerias LCD_4BIT.INC y RETARDOS.INC las cuales anexo en el archivo .rar

Al simularlo en proteus lo que hace el programa es borrar la pantalla. Alguien podria ayudarme con esto.

El programa principal es:

; ZONA DE DATOS **********************************************************************


__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC


; ZONA DE CÓDIGOS *******************************************************************
list p=16f877a
INCLUDE <P16F877A.INC>

CBLOCK 0x20
ENDC

org 00
goto inicio
inicio
call LCD_Inicializa
movlw 'H'
call LCD_Caracter
movlw 'o'
call LCD_Caracter
movlw 'l'
call LCD_Caracter
movlw 'a'
call LCD_Caracter


INCLUDE <LCD_4BIT.INC>
INCLUDE <RETARDOS.INC>

end
 

Adjuntos

  • LIBRERIAS.rar
    5.4 KB · Visitas: 51
revisa las librerias de mikroElectrónica utilizando mikroC, el ambiente de programación es de alto nivel (programas en C) y además tienen ejemplos para LCD que puedes mirar y utilizar fácilmente, incluso modificarlos para tu sencillo propósito, no es tan complicado, pero te ahorran el programa, además assembler necesita demasiado más código para desplegar algo así.
 
Hola Gynexis, te voy a pasar un codigo que esta ya probado utiliza casi las mismas librerias que estas empleando es para un lcd 2x16. Y me consta que funciona....

PROCESSOR 16F877A
#INCLUDE "P16F877A.INC"
LIST P=16F877A
__CONFIG _CP_OFF&_CPD_OFF&_LVP_OFF&_WDT_OFF&_PWRTE_ON&_HS_OSC
;
CBLOCK 0x20
ENDC

org 00
goto inicio
inicio org 05
BSF STATUS,RP0
MOVLW 0x06
MOVWF ADCON1
BCF STATUS,RP0
call LCD_Inicializa

movlw Mensaje0
call LCD_MensajeMovimiento

CALL LCD_Linea2

movlw Mensaje1
call LCD_MensajeMovimiento

a call LCD_CursorOFF
GOTO a

Mensajes
addwf PCL,F
Mensaje0
DT "Hola Foro electronica", 0X00

Mensaje1
DT "Buen dia foro electronica", 0x00


INCLUDE <LCD_4BIT.INC> ; Subrutinas de control del módulo LCD.
INCLUDE <LCD_MENS.INC>
INCLUDE <RETARDOS.INC> ; Subrutinas de retardo.
END
 
Hola gynexis, mira te mando lo que tengo para esas librerias; solo recuerda funciona con cristal de 4 MHz y el LCD se conecta al PORTB (tanto lineas de dato como de control) en caso de que no puedas pues igual avisas para que busque el esquematico(si es que todavia lo tengo); ah y te recomiendo que leas bien los include ya que ahi te dice como se conectan las cosas, echale ganas ah recuerda que esto de los pics es leer y estudiar mucho.
 

Adjuntos

  • LCD.rar
    7.2 KB · Visitas: 195
Atrás
Arriba