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