Vissza a főoldalra    Vissza a PIC főoldalra

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

 


10.1.2. Programmemória lapozás


      Azoknál a közepes teljesítményű PIC mikrovezérlőknél, ahol a programmemória nagyobb, mint 2k x 14 bit, memórialapozási eljárásokra lehet szükség. Ha a GOTO feltétel nélküli ugró vagy a CALL szubrutinhívó utasítások egy másik memórialapra irányulnak, a memórialapot előzőleg szoftveresen ki kell választani. (Szubrutinhívás.) A GOTO és CALL utasításokban 11 bites cím van tárolva, amely csak 2k-s memóriahatárig képes címezni. Ha a mikrovezérlő programmemóriája 4k vagy 8k, a teljes terület címzéséhez szükség van még egy, illetve két címzőbitre. A GOTO és CALL utasításoknál a 13 bites programszámláló alsó 11 bitjét az utasítás adja meg, a felső egy vagy két bitet pedig a PCLATH vezérlő regiszter egyes bitjei az alábbi ábra szerint.

Programmemória lapozás
10.1.2-1. Ábra

      Tehát a lapozás a PCLATH regiszter 3. és 4. bitjének beállításával történik a következő táblázatnak megfelelően.

10.1.2-1. Táblázat
PCLATH Elérhető
programmemória
terület
Memórialap
száma
4. 3.
0 0 0000h..07FFh 0. lap
0 1 0800h..0FFFh 1. lap
1 0 1000h..17FFh 2. lap
1 1 1800h..1FFFh 3. lap

      A PCLATH vezérlő regiszter olvasható és írható, mint bármelyik adatregiszter, de értéke csak a következő esetekben íródik be a PC programszámlálóba:
     ˇ a PCL írásánál;
     ˇ a GOTO feltétel nélküli ugró utasításnál;
     ˇ a CALL szubrutinhívásnál.
      A PCLATH-PCH kapcsolat egyirányú, a PCLATH nem követi a PCH változásait.
      Szubrutinból való visszatérésnél nincs szükség lapozásra, mivel a veremben a teljes 13 bites visszatérési cím tárolva van.
      Azoknál a mikrovezérlőknél, ahol a programmemória 2k vagy kisebb, a PCLATH regiszter 3. és 4. bitje nincs felhasználva, de a programkompatibilitási problémák elkerülése miatt célszerű a regisztert csak bit-szintű utasításokkal kezelni. (Például a CLRF PCLATH nullázó utasítások miatt egy nagyobb programmemóriájú mikrovezérlőhöz a program már csak átírással használható.)

      Példaprogram szubrutinhívásra a 0. lapról az 1. lapra:

  ...    
  bsf PCLATH,3 ;az 1. lap beállítása
  bcf PCLATH,4 ;az 1. lap beállítása (opcionális)
  call SUB_1 ;szubrutinhívás
  ...    
       
SUB_1 ...    
  ...    
  return ;visszatérés a szubrutinból a 0. lapra

 

  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