<< 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 >>