este codigo es para utilizar a una pantalla LCD con el 18f4620 pero por alguna razón que desconosco no se porque no hace lo que dice, ayundeme por favor....
#include "P18f4620.INC" ;Include header file
#define CLK_FREQ D"20000000"
indf equ 0h
tmro equ 1
pc equ 2
fsr equ 4
RP0 equ 13
r0c equ 0ch
r0d equ 0dh
r13 equ 13h
z equ 2h
c equ 0h
w equ 0h
r equ 1h
e equ 1h
rs equ 0h
siete equ 7h
org 0
goto inicio
org 20
retardo movlw 0ffh
movwf r13
decre decfsz r13,r
goto decre
retlw 0
control bcf PORTA,rs
goto dato2
dato bsf PORTA,rs
dato2 bsf PORTA,e
movwf PORTD
call retardo
bcf PORTA,e
call retardo
retlw 0
tabla2 addwf pc,r
retlw "O"
retlw "S"
retlw "C"
retlw "A"
retlw "R"
retlw " "
retlw "C"
retlw "."
retlw " "
retlw "E"
retlw "L"
retlw " "
retlw "M"
retlw "E"
retlw "J"
retlw "O"
retlw "R"
retlw " "
retlw "P"
retlw "R"
retlw "O"
retlw "G"
retlw "R"
retlw "A"
retlw "M"
retlw "A"
retlw "D"
retlw "O"
retlw "R"
retlw " "
retlw "D"
retlw "E"
retlw " "
retlw "P"
retlw "I"
retlw "C"
retlw """
retlw "S"
retlw " "
retlw " "
retlw " "
retlw " "
retlw " "
retlw " "
retlw 0
inicio clrf PORTA
clrf TRISA ; Port A all input
clrf PORTB
setf TRISB ; Port B all input, ATA D0-7
clrf PORTC
movlw B"11100000" ; Port C lower bits for ATA adressing
movwf TRISC
;movlw B"00000111" ; Turn off comparitor
;movwf CMCON ; On PORTD bits 0-3
clrf PORTD
clrf TRISD ; Port D all output, ATA D8-15
movlw B"00000011"
movwf PORTE
movlw B"00000100" ; Port E lower two bits output for ATA
movwf TRISE ; read and write
bsf T0CON,siete
begin movlw 30h
call control
movlw 07h
call control
movlw 0ch
call control
muestra movlw 0
movwf r0c
ciclo movf r0c,w
call tabla2
call dato
movlw 09fh
movwf r0d
reta1 call retardo
;call retardo
;call retardo
call retardo
decfsz r0d,r
goto reta1
incf r0c,r
movlw 28h
xorwf r0c,W
btfss STATUS,Z
goto ciclo
goto muestra
end