Memoria spi y pic18f4520

Hola colegas

Tengo el Siguiente Problema
quiero escribir y leer datos en la memoria spi 25lc080 desde el pic18f4520, ya lo hice en proteus y funciona,pero en la protoboard no funciona,no se cual es el error aquí dejo el código y la imagen del montaje en protoboard.


LIST P=18F4520 ;Directiva para definir el procesador
#include <P18F4520.INC> ;

CONFIG FCMEN = OFF
CONFIG OSC = XT ;Osc interno, RA6 como pin, USB usa Osc EC
CONFIG IESO = ON
CONFIG PWRT = OFF ;PWRT habilitado
CONFIG BOREN = NOSLP
CONFIG WDT = OFF ;Watchdog habilitado
CONFIG BORV = 0
CONFIG CCP2MX = PORTBE
CONFIG PBADEN = OFF ;Todos los pines como entradas analogicas
CONFIG LPT1OSC = OFF
CONFIG MCLRE = ON
CONFIG STVREN = OFF
CONFIG LVP = OFF
CONFIG XINST = OFF ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
CONFIG DEBUG = OFF ;Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins

;Programacion en bajo voltaje apagado
CONFIG CP0 = OFF ;los bloques del codigo de programa
CONFIG CP1 = OFF ;no estan protegidos
CONFIG CP2 = OFF
CONFIG CP3 = OFF
CONFIG CPB = OFF ;Sector Boot esta protegido
CONFIG CPD = OFF

CONFIG WRT0 = OFF ;Block 0 (000800-001FFFh) not write-protected
CONFIG WRT1 = OFF
CONFIG WRT2 = OFF
CONFIG WRT3 = OFF
CONFIG WRTC = OFF
CONFIG WRTB = OFF
CONFIG WRTD = OFF

CONFIG EBTR1 = OFF ; Block 1 (002000-003FFFh) not protected from table reads executed in other blocks
CONFIG EBTR2 = OFF
CONFIG EBTR3 = OFF
CONFIG EBTRB = OFF


ORG 0X0000
GOTO INICIO
ORG 0X0008

INICIO

BCF TRISA,RA0
CLRF TRISB
CLRF PORTB
BCF PORTA,RA0

;INICIALIZA VARIABLES
MOVLW H'00'
MOVWF CANTDATOS1
MOVLW H'00'
MOVWF CANTDATOS
MOVLW H'00'
MOVWF DATORXSPI


CALL CONF_SPI
BSF PORTE,CS ;DESHABILITO CS
BCF PORTE,CS ;HABILITO CS
MOVLW 0X06 ;HABILITA ESCRITURAS
CALL ESCRITURA_MEMORIASPI
BSF PORTE,CS ;DESHABILITO CS
BCF PORTE,CS ;HABILITO CS
MOVLW 0X02
CALL ESCRITURA_MEMORIASPI
MOVLW 0X00
CALL ESCRITURA_MEMORIASPI
MOVLW 0X00
CALL ESCRITURA_MEMORIASPI
MOVLW 'Z'
CALL ESCRITURA_MEMORIASPI
BSF PORTE,CS ;DESHABILITO CS

;LECTURA
CALL RETARDO
CALL RETARDO
CALL RETARDO
CALL RETARDO
CALL RETARDO
CALL RETARDO
BSF PORTE,CS ;DESHABILITO CS
BCF PORTE,CS ;HABILITO CS
MOVLW 0X03
CALL ESCRITURA_MEMORIASPI
MOVLW 0X00
CALL ESCRITURA_MEMORIASPI
MOVLW 0X00
CALL ESCRITURA_MEMORIASPI
MOVLW 0X00
CALL ESCRITURA_MEMORIASPI
ESREAD1
BTFSS SSPSTAT,BF
GOTO ESREAD1
MOVF SSPBUF,W ;WREG reg = contents of SSPBUF
MOVWF PORTB

BSF PORTE,CS ;DESHABILITO CS\

BSF PORTA,RA0
YT
GOTO YT

END

ESCRITURA_MEMORIASPI
MOVWF SSPBUF ;
ESWRITE
BTFSS PIR1,SSPIF
GOTO ESWRITE
BCF PIR1,SSPIF
RETURN
 

Adjuntos

  • P05-06-13_16.47.jpg
    P05-06-13_16.47.jpg
    65.2 KB · Visitas: 14
Última edición:
hola amigosolcionaste tu problema, quiero trabajar con esa memoria y estoy recopilando informacion
 
ok,si solucione el problema, es un poco dificil, en que necesita ayuda, para la información, todo lo hice desde el datasheet del pic18f4520 y desde el datasheet del 25lc080 ,

pdt si se puede ,aunque paresa que no, cualquier ayuda estoy atento..
 
Atrás
Arriba