EEPROM'DAN OKUMAK VE YAZMAK KONUSUNDA YARDIMA İHTİYACIM VA

Başlatan cogumlu, 24 Kasım 2003, 21:32:58

cogumlu

Arkadaşlar PIC 16F877 kullanarak

içerisinde bulunan EEPROM'a veri yazabiliyorum ama benze rutinleri kullanarak okuyamıyorum bana kim yardımcı olabilir?
Kod Aşağıdadır.
REEPROM            ;EEPROMDAN

OKU
   BSF   STATUS,6
   BCF   STATUS,5   ;BANK2 Yİ SEÇ
   MOVLW   d'250'
   MOVWF   EEADR   
   BSF   STATUS,5   ;BANK3

SEÇİLDİ
   BCF   EECON1,7   
   BSF   EECON1,0   ;OKUNABİLİR HALE GETİR
   BCF   STATUS,5   ;BANK2Yİ

SEÇ
   MOVF   EEDATA,0   
   BCF   STATUS,6
   BCF   STATUS,5   ;BANK0 I SEÇ
   BCF   PCLATH,4
   BCF   PCLATH,3
   RETURN
benzer

şekilde bir de yazma rutini var ve bu rutin EEPROM'a Yazmamı sağlıyor....
Lütfen acile cevap yazınız tahakatim kalmadı :shock:

james

bank2
clrf   EEADR

bank3
bcf   EECON1,EEPGD
bsf   EECON1,RD
bank2
movfw   EEDATA   
bank0
movwf            veri

                   ;0.adresdeki değer veri içinde
ARAMIYORUM , BULUYORUM

es-es

DATA EEPROM READ

 BSF        STATUS, RP1       ;
 BCF        

STATUS, RP0       ;Bank 2
 MOVF    ADDR, W                ;Write address
 MOVWF EEADR                   ;to read from
 BSF        STATUS, RP0        ;Bank 3
 BCF        

EECON1, EEPGD  ;Point to Data memory
 BSF        EECON1, RD          ;Start read operation
 BCF        STATUS, RP0        ;Bank 2
 MOVF     EEDATA, W           ;W =

EEDATA

es-es

DATAEEPROM WRITE

BSF STATUS, RP1 ;
BSF STATUS, RP0 ;Bank

3
BTFSC EECON1, WR ;Wait for
GOTO $-1 ;write to finish
BCF STATUS, RP0 ;Bank 2
MOVF ADDR, W ;Address to
MOVWF EEADR ;write to
MOVF

VALUE, W ;Data to
MOVWF EEDATA ;write
BSF STATUS, RP0 ;Bank 3
BCF EECON1, EEPGD ;Point to Data memory
BSF EECON1, WREN ;Enable

writes
;Only disable interrupts
BCF INTCON, GIE ;if already enabled,
;otherwise discard
MOVLW 0x55 ;Write 55h to
MOVWF EECON2 ;EECON2
MOVLW

0xAA ;Write AAh to
MOVWF EECON2 ;EECON2
BSF EECON1, WR ;Start write operation
;Only enable interrupts
BSF INTCON, GIE ;if using interrupts,
;otherwise

discard
BCF EECON1, WREN ;Disable writes

es-es

Yukarıdaki kodlar sorunsuz çalışıyor. Eğer hala okuma yapamıyorsan, EECON1 registerini kontrol et. Ayarlamalarda bir

problem olabilir.