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.

Felhasználói programmemória feltöltése
8.4-1. Ábra Üzemmódváltás Szubrutin Szubrutin Szubrutin Szubrutin Szubrutin Üzemmódváltás

Vissza a lap tetejére

 

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.

Felhasználói és konfigurációs memória feltöltése
8.4-2. Ábra Üzemmódváltás Szubrutin Szubrutin Szubrutin Szubrutin Szubrutin Szubrutin Szubrutin Szubrutin Üzemmódváltás

Vissza a lap tetejére

 

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.

Kalibrációs utasítás mentése szubrutin
8.4-3. Ábra Programozási parancs Programozási parancs

Vissza a lap tetejére

 

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.

Kalibrációs érték háttérregiszter mentése szubrutin
8.4-4. Ábra Programozási parancs Programozási parancs

Vissza a lap tetejére

 

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

Felhasználói terület és a konfigurációs szó törlése szubrutin
8.4-5. Ábra Programozási parancs Programozási parancs

Vissza a lap tetejére

 

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

Felhasználói és a teljes konfigurációs terület törlése szubrutin
8.4-6. Ábra Programozási parancs Programozási parancs

Vissza a lap tetejére

 

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

Felhasználói program betöltése szubrutin
8.4-7. Ábra Szubrutin Programozási parancs Programozási parancs

Vissza a lap tetejére

 

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.

Kalibrációs utasítás visszaírása szubrutin
8.4-8. Ábra Szubrutin Programozási parancs

Vissza a lap tetejére

 

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.

Azonosító mező feltöltése szubrutin
8.4-9. Ábra Szubrutin Programozási parancs Programozási parancs

Vissza a lap tetejére

 

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.

Kalibrációs érték háttérregiszter visszaírása szubrutin
8.4-10. Ábra Szubrutin Programozási parancs

Vissza a lap tetejére

 

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.

Konfigurációs szó betöltése szubrutin
8.4-11. Ábra Szubrutin Programozási parancs

Vissza a lap tetejére

 

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!

Programozó/ellenőrző szubrutin
8.4-12. Ábra Programozási parancs Programozási parancs Programozási parancs Programozási parancs

Vissza a lap tetejére

 

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.

Memóriatartalom kiolvasása
8.4-13. Ábra Üzemmódváltás Programozási parancs Programozási parancs Programozási parancs Programozási parancs Üzemmódváltás

 

  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