Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Upis u eeprom za Pic16F628A

[es] :: Elektronika :: Mikrokontroleri :: Upis u eeprom za Pic16F628A

[ Pregleda: 488 | Odgovora: 4 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dejan5
nastavnik, tehnička škola

Član broj: 173365
Poruke: 4
*.dynamic.sbb.co.yu.



Profil

icon Upis u eeprom za Pic16F628A28.02.2008. u 00:30

Upis u eeprom za Pic16F628A

Evo deo listinga, tj. poziva za upis u eeprom i samog ciklusa upisa u isti:


UpisEEprom
call Wait
movf podatak1,0 ;podatak u W
MOVWF CONFIG_DATA ;priprema podatak1 za upis
movf BROJEE,0
MOVWF CONFIG_ADDR ;adresa u eepromu na koju se snima
call Upis

movf podatak2,0
MOVWF CONFIG_DATA
incf BROJEE,1 ;priprema podatak2 za upis
movf BROJEE,0
MOVWF CONFIG_ADDR
call Upis

incf BROJEE,1
movlw d'112' ;provera lokacije EEproma
xorwf BROJEE,0 ;ukupno za upis 112(0-111)
btfsc STATUS,2
clrf BROJEE
return



;DATA EEPROM WRITE
; podesi adresu i podatak
Upis
MOVF CONFIG_ADDR,W ;priprema adrese u EEprom za upis
BSF STATUS, RP0 ; Bank 1

MOVWF EEADR ; ADRESA EEPROM LOKACIJE
BCF STATUS, RP0 ; Bank 0
MOVF CONFIG_DATA,W ; Podatak koji se upisuje(podatak1...)
BSF STATUS, RP0 ; Bank 1
MOVWF EEDATA ; PODATAK ZA UPIS

BSF EECON1,WREN ; Dozvola Upisa
BCF INTCON, GIE ; Iskljuci INTerapte
MOVLW 0X55 ;
MOVWF EECON2 ; Prvi kljuc
MOVLW 0XAA ;
MOVWF EECON2 ; Drugi kljuc

BSF EECON1,WR ; Set WR bit - UPISI

btfsc EECON1,WR
goto $-1
nop ;probano i bez ovoga

BCF EECON1, WREN ; Zabrana Upisa

BSF INTCON,GIE ; Dozvoli INTerapte.

;PROVERA UPISA

MOVF EEDATA, W ; last written value in 'W'
BSF EECON1, RD ; start read at current address
SUBWF EEDATA, W ; subtract W from EEDATA
BTFSS STATUS, Z ; ZERO flag set?
GOTO write_error ; No, there was a write-error
BCF STATUS, RP0 ; Bank0

return ; continue program


write_error
NOP
GOTO INIT ;ovo je test


Dakle, ne verujem da postoji greška u ovim potprogramima (jer su rutine iz datascheet-a), ali u MPLAB-u 7.62 i na pločici(u praksi) nema upisa u eeprom. Prilikom simulacije korak po korak u MPLAB-u dolazim na labelu write_error, znači nema upisa.
Potprogram UpisEEprom lepo puni registre, dok u potprogramu Upis registar, EECON2 se ne puni ključem, a EECON1 lepo setuje bitove WREN i WR. Ipak upis u zadatu lokaciju CONFIG_ADDR - EEADR ne postoji.
Gde je greška?????
Da li postoji mogućnost da PLC prebaci zbog dužine celog programa (kao sa tabelom)? Program zauzima preko 500 bajta.
programske memorije.
28.02.2008. u 00:30 

Seme
Miroslav Bozic
Zajecar

Član broj: 43158
Poruke: 308
*.rcub.bg.ac.yu.

Sajt: www.ebuyelektronika.co.cc


Profil

icon Re: Upis u eeprom za Pic16F628A28.02.2008. u 11:21
A sto ne b taj upis odradeos u c mnogo je jednostavnije
Ako se resis reci da ti posaljem neki primer
28.02.2008. u 11:21 

dejan5
nastavnik, tehnička škola

Član broj: 173365
Poruke: 4
*.le.sbb.co.yu.



Profil

icon Re: Upis u eeprom za Pic16F628A29.02.2008. u 22:38
Iako još nisam prešao na C, ili možda PBP , požalji pa da vidim.
Mada bi mi više odgovaralo objašnjenje za ovaj asm.
29.02.2008. u 22:38 

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 138
*.smin-1.sezampro.yu.



Profil

icon Re: Upis u eeprom za Pic16F628A01.03.2008. u 10:21
Prvo, da li si pogledao errata dokument za taj mcu, koliko se secam bilo je nekih problema kod upisa u eeprom.

Drugo, kao sto ti je neko predlozio, zar nije lakse sve te stvari raditi u nekom c, basicu, pascali itd. usput mozes da pogledas kako funkcije, komande iz istih izgledaju u asembleru.

U CCS C kompajleru to izgleda ovako (verovatno i za druge c kompajlere):

vrednost = read_eeprom (adresa);

odnosno:

write_eeprom (adresa, vrednost);

e sad ti vidi vredili se muciti sa 50-tak linija koda u asembleru.
01.03.2008. u 10:21 

dejan5
nastavnik, tehnička škola

Član broj: 173365
Poruke: 4
*.dynamic.sbb.co.yu.



Profil

icon Re: Upis u eeprom za Pic16F628A01.03.2008. u 16:50
Problem sam resio inicijalizacijom eeproma:
de 0x00
01.03.2008. u 16:50 

[es] :: Elektronika :: Mikrokontroleri :: Upis u eeprom za Pic16F628A

[ Pregleda: 488 | Odgovora: 4 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.