Scrie mai mult de un octet în EEPROM de PIC16F84a

A

ahmad_abdulghany

Guest
Assalmao Alaykom

Să presupunem că i nevoie pentru a stoca patru registre, în spaţiul EEPROM în adrese incepand de la 0x00 prin 0x03 ..şi am făcut acest lucru să fac ceea ce vreau:

; Completaţi registre care urmează să fie scrise în primul EEPROM
;**********************************************
movlw 0xaa
SS0 movwf

movlw 0xbb
SS1 movwf

movlw 0xcc
SS2 movwf

movlw 0xdd
SS3 movwf

;***** Acum i va începe stocarea lor:

BANKSEL INTCON
BCF INTCON, GIE

CLRF EEADR; pus în IT ADRESA 0x00
MOVFW SS3
Movwf EEDATA
CALL EEWRITEBANKSEL EEADR
Movlw .1
Movwf EEADR
MOVFW SS2
Movwf EEDATA
CALL EEWRITE

BANKSEL EEADR
Movlw .2
Movwf EEADR
MOVFW SS1
Movwf EEDATA
CALL EEWRITE

BANKSEL EEADR
Movlw .3
Movwf EEADR
MOVFW SS0
Movwf EEDATA
CALL EEWRITE

GOTO DISP_DONE
EEWRITE
BANKSEL EECON1
BSF EECON1, WREN; Activează Scrie
Movlw 0X55;
Movwf EECON2; Scrie-55H
Movlw 0XAA;
Movwf EECON2; Scrie Aah
BSF EECON1, WR; Set WR de biţi
BCF EECON1, WRERR
BCF EECON1, EEIF
RETURNARE

Problema acum ..programul de acesta din urmă nu au de lucru ..şi eu nu ştiu de ce???Vă rugăm să ajute ..mulţumesc foarte mult

 
tu ai la spre a face bucla în eewrite procedura şi să aştepte până EEIF este setat apoi goliţi-o apoi reveni la spre a scrie octeţi următoare,
scris la EEPROM este lent (msec puţine), astfel încât aveţi nevoie de întârziere

cu respect

 
Da shafee001 ceea ce a spus este adevărat

cel mai bine ce este de a construi subrouten să scrie în EEPROM
º i i sugerăm să utilizaţi adresa EEPROM
, fără a numindu-le
u, în mod tthis poate face contra ca producător adresa de
în fiecare ciclu increse sale 1 Adresa

 
AA,
Va multumesc tuturor ..Am făcut ceea ce aţi spus şi a făcut, de asemenea, scrie verifaction de votare WRERR pavilion, dacă acesta este setat, apoi m-am rescrie date ..si a functionat foarte bine alhamdulillah ..
Salam

 

Welcome to EDABoard.com

Sponsor

Back
Top