Vissza a főoldalra    Vissza a PIC főoldalra

<< Előző oldal   Vissza a tartalomjegyzékhez   Következő oldal >>

 


12.4. EEPROM írás


      A belső EEPROM adatmemória szavanként írható közvetett címzéssel.
      A belső EEPROM egyetlen 8-bites szavának beírásához a következő lépéseket kell végrehajtani:
     ˇ (ha a mikrovezérlő a FLASH programmemóriát is képes olvasni vagy írni, akkor az EECON1 regiszter EEPGD bitjének "0"-ra állításával ki kell választani az EEPROM adatmemóriát);
     ˇ az írni kívánt EEPROM memóriahely címét be kell másolni az EEADR címregiszterbe;
     ˇ a beírni kívánt adatot be kell másolni az EEDATA regiszterbe;
     ˇ a megszakításokat le kell tiltani az INTCON regiszter GIE bitjének "0"-ra állításával;
     ˇ az EEPROM írást engedélyezni kell az EECON1 regiszter WREN bitjének "1"-re állításával;
     ˇ a H'55' inicializáló érték beírása az EECON2 segédregiszterbe;
     ˇ a H'AA' inicializáló érték beírása az EECON2 segédregiszterbe;
     ˇ az írási folyamat elindításához az EECON1 regiszter WR bitjét "1"-re kell állítani;
     ˇ itt a megszakítások újra engedélyezhetőek;
     ˇ 4..8 ms várakozás az írási folyamat befejeződésére, amelyet egy belső időzítő áramkör vezérel, az EECON1 regiszter WR bitje az írási folyamat végén automatikusan nullázódik; ennek vizsgálatával megállapítható, hogy befejeződött-e az írási folyamat; vagy az EECON1, illetve PIR regiszterben elhelyezett EEIF EEPROM írás vége jelzőbit segítségével a folyamat végén végrehajtatható egy megszakításkezelő rutin;
     ˇ (az EEDATA regiszter a következő EEPROM olvasásig vagy értékkel való feltöltéséig megőrzi tartalmát).

      A belső EEPROM adatmemória egy szavának beírását mutatja be a következő programrészlet.

... ...    
  ... STATUS,5 ;az EECON1 regiszter memórialapjának kiválasztása
  ... STATUS,6 ;az EECON1 regiszter memórialapjának kiválasztása
  bcf EECON1,7 ;EEPGD = "0", az EEPROM kiválasztása
  ...    
  ... STATUS,5 ;az EEADR regiszter memórialapjának kiválasztása
  ... STATUS,6 ;az EEADR regiszter memórialapjának kiválasztása
  movlw CIM ;W = CIM
  movwf EEADR ;EEADR = CIM
  movlw ADAT ;W = ADAT
  movwf EEDATA ;EEDATA = ADAT
  ... STATUS,5 ;az EECON1 regiszter memórialapjának kiválasztása
  ... STATUS,6 ;az EECON1 regiszter memórialapjának kiválasztása
  bcf INTCON,7 ;GIE = "0", a megszakítások tiltása
  bsf EECON1,2 ;WREN = "1", az írás engedélyezése
  movlw H'55' ;W = H'55'
  movwf EECON2 ;EECON2 = H'55', írás inicializálás
  movlw H'AA' ;W = H'AA'
  movwf EECON2 ;EECON2 = H'AA', írás inicializálás
  bsf EECON1,1 ;WR = "1", az írás indítása
  bsf INTCON,7 ;GIE = "1", a megszakítások engedélyezése
  ...   ;késleltetés
  ...   ;késleltetés
  bcf EECON1,2 ;WREN = "0", az írás tiltása
  ...    

      A lapváltó utasításokra az egyes mikrovezérlő típusok esetében, a regiszterek elhelyezkedésének függvényében, különböző mértékben van szükség.

      Az írási folyamat elindítása, vagyis az EECON1 regiszter WR bitjének "1"-re állítása után a WREN engedélyező bit megváltoztatása már nincs hatással az írási folyamatra.

      Az írási folyamat sikerességéről egy ellenőrzési (olvasási) ciklussal érdemes meggyőződni.

 

  Tudomány és Technika (test@t-es-t.hu)


 

<< Előző oldal   Vissza a tartalomjegyzékhez   Vissza a lap tetejére   Következő oldal >>

Vissza a főoldalra    Vissza a PIC főoldalra