Página 1 de 1

acesso a eeprom

MensagemEnviado: 27 Nov 2010 14:24
por dener
olá.. estou tentando gravar um byte da eeprom do 628A..mas o mesmo não grava estou usando o mplab 8 ...segue abaixo cod. fonte....se alguém puder me ajudar desde já fico muito grato..

atenciosamente,

Dener..

INI_PROG:
BSF STATUS,RP0
MOVLW 0X10
MOVWF EEADR
MOVLW D'1'
MOVWF EEDATA
CALL ESCREVE_EEPROM
BCF STATUS,RP0

.
.
.


ESCREVE_EEPROM:
BANKSEL EEDATA
BCF INTCON,GIE ;DESAB. INT
MOVWF EEDATA ;GUARDA VALOR CONTIDO EM W NO REGISTRADOR DE DADOS DA MEMÓRIA
BANKSEL EECON2
MOVLW 0X55
MOVWF EECON2 ;CÓDIGO 1 DE ESCRITA NA EEPRON
MOVLW 0XAA
MOVWF EECON2 ;CÓDIGO 2 DE ESCRITA NA EEPRON
BSF EECON1, WREN ;HAB. ESCRITA NA EEPRON

ESCRITA_EEPROM:
BTFSC EECON1,WR ;VERIFICA SE ESCRITA CONCLUIDA E PULA PROX. INST. SE VERDADEIRO
GOTO ESCRITA_EEPROM ;PULA PARA A LINHA ANTERIOR
BCF EECON1,WREN ;DESAB. ESCRITA NA EEPRON
BSF INTCON,GIE ;LIGA INTERRUPÇÕES
BCF STATUS, RP0 ;SELECIONA BANCO 0


RETURN

Re: acesso a eeprom

MensagemEnviado: 27 Nov 2010 20:40
por rafael.wachter
INI_PROG:
BSF STATUS,RP0
MOVLW 0X10
MOVWF EEADR
MOVLW D'1'
MOVWF EEDATA
CALL ESCREVE_EEPROM
BCF STATUS,RP0

.
.
.


ESCREVE_EEPROM:
BANKSEL EEDATA Não precisa pq tu jah foi pro banco 1 logo depois do INI_PROG:
BCF INTCON,GIE ;DESAB. INT
MOVWF EEDATA ;GUARDA VALOR CONTIDO EM W NO REGISTRADOR DE DADOS DA MEMÓRIA Tbm não precisa pq tu jah passou o dado lah no inicio
BCF EECON1,WREN ;habilita a gravação da eeprom
BANKSEL EECON2
MOVLW 0X55
MOVWF EECON2 ;CÓDIGO 1 DE ESCRITA NA EEPRON
MOVLW 0XAA
MOVWF EECON2 ;CÓDIGO 2 DE ESCRITA NA EEPRON
BSF EECON1, WREN ;HAB. ESCRITA NA EEPRON aqui está o seu erro, vc habilitou a escrita na eeprom depois do processo no eecon2
BSF EECON1,WR ;inicia a gravação

ESCRITA_EEPROM:
BTFSC EECON1,WR ;VERIFICA SE ESCRITA CONCLUIDA E PULA PROX. INST. SE VERDADEIRO
GOTO ESCRITA_EEPROM ;PULA PARA A LINHA ANTERIOR
BCF EECON1,WREN ;DESAB. ESCRITA NA EEPRON
BSF INTCON,GIE ;LIGA INTERRUPÇÕES
BCF STATUS, RP0 ;SELECIONA BANCO 0


RETURN


Somente alguns descuidos :wink: