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.

A PIC12F508 mikrovezérlő programmemóriája
7.1-1. Ábra

Vissza a lap tetejére

      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