HOLA COMPAÑERO SOY NUEVO EN LOS PIC, TENGO QUE PROYECTO QUE HACER CON LCD +16F877A, YA HICE EL PROGRAMA, PERO AL COMPILARLO ME GENERA MUCHOS ERRORES, LES PIDO EL FAVOR QUE ME AYUDEN A CORREGIR LOS ERRORES, COMO LES DIJES SOY NUEVO EN ESTO SOBRE LOS PICS, LE MUESTRO MI CODIGO PARA QUE LO VEAN COMO LO HICE Y ME CORRIJAN LOS ERRORES QUE PRESENTA, GRACIAS JOSE LUIS
SOY DE BOGOTA COLOMBIA
LIST P= 16F877A.
include<p16f877A.inc>
PLC EQU 0x02
ESTADO EQU 0x03
PUERTOB EQU 0x06
PUERTOD EQU 0x08
PCLATH EQU 0x0A
RDELAY EQU 0x21
CONTA0 EQU 0x22
CONTA1 EQU 0x22
CONTA2 EQU 0x23
LETRA EQU 0x25
FLINEA EQU 0x26
Linea1LCD EQU 0x80
Linea2LCD EQU 0xc0
ClrLCD EQU 0x01
CasaLCD EQU 0x02
IncLCD EQU 0x07
DecLCD EQU 0x05
OnLCD EQU 0x0C
OfLCD EQU 0x08
OnCursor EQU 0x0E
OffCursor EQU 0x0C
BlinkCursor EQU 0x0F
IzqLCD EQU 0x18
DerLCD EQU 0x1C
IzqCursor EQU 0x10
DerCursor EQU 0x14
Funcion EQU 0x38
RS EQU 6
RW EQU 5
E EQU 7
W EQU 0
F EQU 1
ORG 0
goto INICIAR
ORG 5
INICIAR call Port_LCD
call Ini_LCD
rbl movlw LinealLCD
call Comando_LCD
movlw 0x0f
movwf Flinea
clrf Letra
rb2 movf Letra,W
Call Mensaje
Call Caracter_LCD
call delay
incf Letra,F
decfsz Fliena,F
goto rb2
goto segundaL
Mensaje addwf PCL,1
retlw A'D'
retlw A'E'
retlw A'S'
retlw A'P'
retlw A'L'
retlw A'E'
retlw A'G'
retlw A'A'
retlw A'D'
retlw A'O'
retlw A'R'
retlw A' '
retlw A'L'
retlw A'C'
retlw A'D'
retlw A' '
Mensaje2 addwf PCL,1 ;Mensaje a desplegar en el LCD
retlw 0x20 ;
retlw 0x50 ;P
retlw 0x52 ;R
retlw 0x41 ;A
retlw 0x43 ;C
retlw 0x54 ;T
retlw 0x49 ;I
retlw 0x43 ;C
retlw 0x41 ;A
retlw 0x20 ;
retlw 0x20 ;
retlw 0x54 ;T
retlw 0x52 ;R
retlw 0x45 ;E
retlw 0x53 ;S
retlw 0x20 ;
segundaL movlw Linea2LCD
call Comando_LCD
movlw 0x0F
movwf Flinea
clrf Letra
rt2 movf Letra,w
call Mensaje2
call Caracter_LCD
call Delay
incf Letra,F
decfsz Flinea,F
goto rt2
parar goto parar
Port_LCD bsf ESTADO,5
clrf PUERTOD
clrf PUERTOB
bcf ESTADO,5
bcf PUERTOD,E
return
Ini_LCD call retardo
bsf PUERTOA,RW
movlw FuncionLCD
call Comando_LCD
call retardo
movlw FuncionLCD
call Comando_LCD
call retardo
movlw FuncionLCD
call Comando_LCD
movlw OnLCD
call Comando_LCD
movlw ClrLCD
call Comando_LCD
movlw DecLCD
call Comando_LCD
movlw CasaLCD
call Comando_LCD
return
Comando_LCD bcf PUERTOD,RS
bcf PUERTOD,E
movwf PUERTOB
call Habilita_LCD
return
Caracter_LCD bsf PUERTOD,RS
bcf PUERTOD,E
movwf PUERTOB
call Habilita_LCD
return
RETARDO DE 255 MICRO SEG
Habilita_LCD bsf PUERTOD,E
movlw 0xFF
movwf RDELAY
t1 decfsz RDEALY,F
goto t1
bcf PUERTOD,E
return
retardo movlw 0x01
movwf CONTA0
ret2 movlw 0x64
movwf CONTA1
ret1 movlw 0x64
movwf CONTA2
ret0 decfsz CONTA2,F
goto ret0
decfsz CONTA1,F
goto ret1
decfsz CONTA0,F
goto ret2
return
delay movlw 0xFF
movwf CONTA0
re2 movlw 0xFF
movwf CONTA1
re1 movlw 0x03
movwf CONTA2
reo decfsz CONTA,F
goto re0
decfsz CONTA1,F
goto re1
decfsz CONTA0,F
goto re2
return
end