Tudomány és Technika | PIC mikrovezérlők | Adatlapok |
<< Előző oldal Vissza a tartalomjegyzékhez Következő oldal >>
8.4. A PIC16F505 mikrovezérlő programozási algoritmusai
Felhasználói programmemória feltöltése
Felhasználói és konfigurációs memória feltöltése
Kalibrációs utasítás mentése szubrutin
Kalibrációs érték háttérregiszter mentése szubrutin
Felhasználói terület és a konfigurációs szó törlése szubrutin
Felhasználói és a teljes konfigurációs terület törlése szubrutin
Felhasználói program betöltése szubrutin
Kalibrációs utasítás visszaírása szubrutin
Azonosító mező feltöltése szubrutin
Kalibrációs érték háttérregiszter visszaírása szubrutin
Konfigurációs szó betöltése szubrutin
Programozó/ellenőrző szubrutin
Memóriatartalom kiolvasása
A következő folyamatábrák a PIC16F505 mikrovezérlő felprogramozásának egy lehetséges módját mutatják be.
Egyszerűsítési okok miatt a folyamatábrák nem tartalmazzák a programozási parancsok közötti és azokon belüli késleltetéseket, valamint a programozási üzemmódba való be- és kilépés késleltetéseit.
A folyamatábrák nem részletezik a programozó készülék következő feladatait:
ˇ
a programozási üzemmódba való be- és kilépés feszültségszintjeinek beállítását, a bekapcsolási sorrendet és annak időzítési adatait;
ˇ
a programozási parancsok soros adatfolyamának felépítési lépéseit és időzítési adatait;
ˇ
a mikrovezérlő programszámláló aktuális értékének folyamatos követését, ami alapján a programozó készülék a programlistából a beprogramozni kívánt utasításszót kiválasztja, így minden adatbetöltéskor automatikusan az aktuális címnek megfelelő utasításszó kerül átvitelre.
Felhasználói programmemória feltöltése
A következő folyamatábra a PIC16F505 mikrovezérlő programmemóriájának feltöltését mutatja be olyan esetekben, amikor a konfigurációs területen elhelyezett azonosító mező nem kerül felhasználásra. A bemutatott eljárás alkalmazható a mikrovezérlő első felprogramozásakor és további átprogramozások esetén is.
A programozási folyamat során törlésre kerül a teljes felhasználói programmemória és a konfigurációs szó, így azok előző tartalma (az oszcillátor kalibrációs utasítás kivételével) elveszik. A belső RC oszcillátor kalibrációs utasítás még a törlés előtt mentésre kerül, majd a program betöltésekor visszatöltődik.
A programozás során betöltésre kerül:
ˇ
a felhasználói program a 000h..3FEh címtartományba;
ˇ
a kalibrációs utasítás az 3FFh címre;
ˇ
a konfigurációs szó a 7FFh címre.
8.4-1. Ábra
Felhasználói és konfigurációs memória feltöltése
A következő folyamatábra a PIC16F505 mikrovezérlő programmemóriájának feltöltését mutatja be, a konfigurációs területen elhelyezett azonosító mező felhasználása esetén. A bemutatott eljárás alkalmazható a mikrovezérlő első felprogramozásakor és további átprogramozások esetén is.
A programozási folyamat során törlésre kerül a teljes felhasználói programmemória és a teljes konfigurációs memória, így azok előző tartalma (az oszcillátor kalibrációs utasítás és annak háttérregisztere kivételével) elveszik. A belső RC oszcillátor kalibrációs utasítás és a háttérregiszter értéke még a törlés előtt mentésre kerül, majd a program betöltésekor visszatöltődik.
A programozás során betöltésre kerül:
ˇ
a felhasználói program a 000h..3FEh címtartományba;
ˇ
a kalibrációs utasítás az 3FFh címre;
ˇ
az azonosító értékek a 400h..403h címtartományba;
ˇ
a kalibrációs érték háttérregiszter a 404h címre;
ˇ
a konfigurációs szó a 7FFh címre.
8.4-2. Ábra
Kalibrációs utasítás mentése szubrutin
A következő ábrán látható szubrutin a gyártó által a programmemória végén (3FFh) elhelyezett belső RC oszcillátor kalibrációs utasítás kiolvasását és mentését végzi el.
8.4-3. Ábra
Kalibrációs érték háttérregiszter mentése szubrutin
A következő ábrán látható szubrutin a gyártó által a kalibrációs memória 404h címén elhelyezett belső RC oszcillátor kalibrációs érték háttérregiszter kiolvasását és mentését végzi el.
8.4-4. Ábra
Felhasználói terület és a konfigurációs szó törlése szubrutin
A következő ábrán látható szubrutin a teljes felhasználói programmemória (000h..3FFh) és a konfigurációs szó (7FFh) törlését végzi el.
Törölt állapotban a FLASH programmemória minden egyes bitje logikai "1" értékű.
8.4-5. Ábra
Felhasználói és a teljes konfigurációs terület törlése szubrutin
A következő ábrán látható szubrutin a teljes felhasználói programmemória (000h..3FFh) és a teljes konfigurációs memória (400h..404h és 7FFh) törlését végzi el.
Törölt állapotban a FLASH programmemória minden egyes bitje logikai "1" értékű.
8.4-6. Ábra
Felhasználói program betöltése szubrutin
A következő ábrán látható szubrutin a felhasználói programot tölti be a programmemóriába a 000h címtől kezdődően a 3FEh címig. (Természetesen a felhasználói programnak nem szükséges teljesen kitöltenie a programmemóriát.)
8.4-7. Ábra
Kalibrációs utasítás visszaírása szubrutin
A következő ábrán látható szubrutin a belső RC oszcillátor kalibrációs utasítást tölti be a programmemóriába a 3FFh címre, amely még a programozási folyamat elején kiolvasásra és mentésre került.
8.4-8. Ábra
Azonosító mező feltöltése szubrutin
A következő ábrán látható szubrutin az azonosító mező értékeit tölti be a programmemóriába a 400h címtől kezdődően a 403h címig.
8.4-9. Ábra
Kalibrációs érték háttérregiszter visszaírása szubrutin
A következő ábrán látható szubrutin a belső RC oszcillátor kalibrációs érték háttérregiszter tartalmát tölti be a programmemóriába a 404h címre, amely még a programozási folyamat elején kiolvasásra és mentésre került.
8.4-10. Ábra
Konfigurációs szó betöltése szubrutin
A következő ábrán látható szubrutin a konfigurációs szó értékét tölti be a programmemória 7FFh címére.
8.4-11. Ábra
Programozó/ellenőrző szubrutin
A következő ábrán bemutatott programozó/ellenőrző szubrutin az aktuális címre "beégeti" a címhez tartozó 12-bites programmemória értéket (utasítás, konfigurációs adat), majd ellenőrzi a "beégetés" sikerességét.
A memóriacímet még a szubrutin indítása előtt be kell állítani!
8.4-12. Ábra
Memóriatartalom kiolvasása
A következő folyamatábra a már előzőleg felprogramozott mikrovezérlő programmemóriájánek kiolvasását mutatja be.
A kiolvasás csak a kódvédelem kikapcsolt állapotában ad helyes értékeket.
8.4-13. Ábra
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 |