Duomenų įrašymas į PIC16F84 mikrovaldiklio EEPROM atmintį  (0)

Programuojant mikrovaldiklį neretai susiduriama su problema, kai duomenis išsaugoti ir kad jie išliktų dingus maitinimui. Pateikiama programėlė, kaip įrašyti duomenis į EEPROM atminti, kur duomenys išsaugomi dingus maitinimui.


Prisijunk prie technologijos.lt komandos!

Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.

Sudomino? Užpildyk šią anketą!

Programuojant mikrovaldiklį neretai susiduriama su problema, kai duomenis išsaugoti ir kad jie išliktų dingus maitinimui. PIC16F84 turi EEPROM atmintį t.y. duomenys atmintyje išlieka tol kol nebus ištrinami pačių vartotojų. Na žinoma gamintojai pateikia kai ir ribota jo saugojimo laiką 40 metų. Na tokį laiko tarpą tikrai nereikės saugoti, juk tokiais mikrovaldikliais tikrai nesiūsime prietaisų į kosmosą ir šiaip tai ne atminties saugojimo įrenginys ;).

Duomenys į EEPROM atmintį rašomi netiesioginiu būdu t.y. per EEDATA, EEADR tarpinius registrus ir EECON1, EECON2 nustatymo registrus.

EEDATA registrą rašomi duomenys tuos kuriuos reikia įrašyti į EEPROM adresą.

EEADR registras naudojamas nurodyti į kuria atminties ląstelę bus įrašomi duomenys.

EECON1 registras naudojamas nustatymams, tokiems kaip: kokie veiksmai bus atliekami (duomenų rašymas, skaitymas, rašymo leidimo nustatymas, sekimas ar neįvyko klaida į atmintį įrašymo metu ir rašymo baigimo nustatymas)

EECON2 registras naudojamas kaip rašymo patvirtinimas. Rašymo metu į jį siunčiamas kodas. Tai savotiška apsauga nuo atsitiktinio įrašyto į EEPROM atmintį. 

Programa:

eewrite ;
            movfw ee_addr                        ;nuskaitomas EEPROM lasteles adresas adresas
            movwf EEADR                        ;nustatomas adresas i kuri nus irasita i EEPROM lastele
            movfw ee_data             ;nuskaitomi norimi irasyti duomenis
            movwf EEDATA                      ;nustatomi duomenys, kurie bus irasyti
            call E2write                              ;iskvieciama irasymo paprograme
            call wait10000                          ;atliekamas
            return                                       ;sugrizimas is paprogrames

Rašymo į EEPROM atmintį paprogramė

 E2write            
            bcf INTCON,GIE                    ;rasymo nustatymas
            bsf STATUS,RP0                    ;perejimas i kita banka
            bsf EECON1,WREN               ;nustatomus rasymo leidimo registras
            movlw 0x55                             ;irasymo kodas
            movwf EECON2                      ;nustatomas 55 kodas EECON2 registrui
            movlw 0xaa                              ;irasymo kodas
            movwf EECON2                      ;nustatomas AA kodas EECON2 registrui
            bsf EECON1,WR                    ;nusutatomas rasymo bitas
            bcf STATUS,RP0                    ;perejimas i nulini banka
            return                                       ;sugrizimas is paprogrames

 Skaitymo paprogramė. Jau čia nereikia siųsti nuskaitymo kodo į EECON2

eeread ;
            movfw ee_addr                        ;nuskaitomo lasteles adresas
            movwf EEADR                        ;nustatomas lasteles adresas
            bsf STATUS,RP0                    ;perejimas i kita banka
            bsf EECON1,RD                     ;nustatomas skaitymo bitas
            bcf STATUS,RP0                    ;perejimas i nulini banka
            movfw EEDATA                      ;duomenu irasymas i W registra
            movwf ee_data1                       ;nuskaitytu duomenu irasymas i ee_data1 registra 
          return                                       ;sugrizimas is paprogrames 

Asembleris (.asm)

SĖKMĖS!!!

Pasidalinkite su draugais
Aut. teisės: www.technologijos.lt
(1)
(0)
(0)

Komentarai (0)

Susijusios žymos: