TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: oscarec60 en 07 de Marzo de 2006, 07:38:00
-
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
-
Hola, asi es muy dificil!

di lo que hace, lo que no hace, para que sirve, los errores al compilar (si los tiene)
Saludos
-
ok entiendo, bueno no tiene errores comunica al pic con una LCD de 16*2, este codigo lo utilice para el pic16f84a lo pase para el pic18f4620 pero realmente no se que tiene el codigo que no enciende la pantalla LCD a ambas simulaciones se hicieron en proteus a 4MHz. esa es la ayuda que les pido....
-
chequea la declaración de los puertos, no deberias pasarte al banco 1 para declararlos? o simplemente con esas instrucciones basta? si estas trabajando a 20MHz creo que le estas dando muy poco retardo a la LCD para q trabaje.
Salu2
-
Escrito originalmente por poi5on
chequea la declaración de los puertos, no deberias pasarte al banco 1 para declararlos? o simplemente con esas instrucciones basta? si estas trabajando a 20MHz creo que le estas dando muy poco retardo a la LCD para q trabaje.
Salu2
No, no hace falta cambiarse de página para setear los TRIS o los PORT.. registers.
En los 18 los registros de uso comun como el Tris, portA, etc, estan todos en la última porción de memoria pero es una región "unbanked" que se puede acceder desde cualquier página de RAM.
Saludos
-
Gracias, pero todavia no consigo que es lo que tiene el codigo de malo? por favor alguna ayuda...