Tudomány és Technika | PIC mikrovezérlők | Adatlapok |
<< Előző oldal Vissza a tartalomjegyzékhez Következő oldal >>
7.1. A PIC12F508 mikrovezérlő programmemóriája
A PIC12F508 mikrovezérlőbe két teljesen különálló memóriablokk van elhelyezve: a FLASH programmemória és az SRAM adatmemória.
A PIC12F508 mikrovezérlő programmemóriája 512 db 12-bites memóriarekeszből áll.
A programmemória, a programszámláló és a két-szintes hardver verem kapcsolatának blokkvázlata látható a következő ábrán.
7.1-1. Ábra
A 12-bites programmemória a következő részekből áll:
ˇ
512-szavas felhasználói memória, amely a mikrovezérlő működtető-programját tárolja (a Reset-vektor által kijelölt utolsó helyen egy MOVLW xx utasítás áll, amely a mikrovezérlő Reset utáni indulásakor a belső RC oszcillátor kalibrációs értékét tölti be a munkaregiszterbe);
ˇ
4-szavas felhasználói azonosító mező, amely csak programozási üzemmódban érhető el, de ezen memóriarekeszek esetében adattárolásra csak az alsó 4-bites rész használható, a felső nyolc bitet "1"-esekkel kell feltölteni: 1111 1111 xxxx;
ˇ
a belső RC oszcillátor kalibrációs értékét tároló háttérregiszter (204h), amelynek segítségével a felhasználói programmemória törlése után a kalibrációs érték az 1FFh helyre visszaírható (csak programozási üzemmódban érhető el);
ˇ
a konfigurációs szó (3FFh), amely a mikrovezérlő hardverbeállításait határozza meg (csak programozási üzemmódban érhető el).
Az 512-szavas programmemória címzését a 9-bites programszámláló (PC) végzi, amelynek az adatmemóriába beágyazott alsó 8 bitje általános adatregiszterként kezelhető. A programszámláló értéke normál sorrendű programfutásnál minden utasításbeolvasás után eggyel nő. A Reset-működés során 1FFh-re áll be, majd a kalibrációs utasítás beolvasása után túlcsordul 000h-ra és az itt elhelyezett utasítással kezdi a felhasználói program végrehajtását.
Programelágazások esetén a programmemória-cím közvetlenül az elágazó utasításból kerül a programszámlálóba. A GOTO utasítás tartalmazza a teljes 9-bites címet, viszont a CALL szubrutinhívó utasítás csak az alsó 8-bites címtartományt (256 szó) képes elérni.
A szubrutinhívásoknak és a számított ugrásoknak a programmemória első 256 szavának valamelyikére kell irányulnia!
Szubrutinhívás esetén a visszatérési cím a 2-szintes hardver verembe kerül, amely így két szint mélységű szubrutin-egymásbaágyazódást tesz lehetővé. A verem nem része az adatmemóriának, így nem is írható vagy olvasható szoftveresen, mintahogy a veremmutató sem. A verem állapotáról vagy esetleges túlcsordulásáról a felhasználó nem kap tájékoztatást.
A szubrutinhívások és számított ugrások részletes bemutatása és programozási példái megtalálhatók a Kisteljesítményű 8 bites PIC mikrovezérlők Felhasználói Kézikönyvben.
Tudomány és Technika (test@t-es-t.hu)
<< Előző oldal Vissza a tartalomjegyzékhez Vissza a lap tetejére Következő oldal >>
Tudomány és Technika | PIC mikrovezérlők | Adatlapok |