- Szükséges anyagok:
- Flashmemória:
- ICSP (áramköri soros programozásban):
- Áramkör és hardver:
- A kód kiírása MPLAB IPE használatával:
Az előző két oktatóanyagunkban megvitattuk, hogyan lehet elkezdeni a PIC-t az MPLABX és az XC8 fordító segítségével, elkészítettük az első LED-es villogó programunkat a PIC-lel, és szimulációval igazoltuk. Itt az ideje, hogy kezünkbe vegyük a hardvert. Ebben az oktatóanyagban egy kis áramkört építünk egy Perf Boardra a LED villogásához PIC segítségével. A programot a PIC mikrovezérlőnkbe dobjuk, és ellenőrizzük, hogy a LED villog. A PIC MCU programozásához MPLAB IPE-t fogunk használni.
Szükséges anyagok:
Amint azt az előző bemutatónkban bemutattuk, a következő anyagokra lesz szükségünk:
- PicKit 3
- PIC16F877A IC
- 40 - Csapos IC tartó
- Tökéletes tábla
- 20 MHz-es kristály OSC
- Női és férfi Bergstick csapok
- 33pf kondenzátor - 2Nos, 100uf és 10uf sapka.
- 680 ohmos, 10K és 560ohmos ellenállás
- Bármilyen színű LED
- 1Reteszelő készlet
- IC 7805
- 12 V-os adapter
Mi történik, ha "megégetünk" egy mikrovezérlőt !!
Szokásos gyakorlat a kód feltöltése egy MCU-ba, és az MCU belsejében való működés.
Ennek megértéséhez vessünk egy pillantást programunkra
Amint láthatjuk, ez a kód C-nyelven íródott, és semmi értelme az MCU-nak. Itt jön be fordítónk része; a fordító az, amely ezt a kódot Géppel olvasható formává alakítja. Ezt a géppel olvasható űrlapot HEX kódnak hívják , minden létrehozott projektünknek HEX kódja lesz, amely a következő könyvtárban lesz
** Az Ön tartózkodási helye ** \ Blink \ Blink.X \ dist \ default \ production \ Blink.X.production.hex
Ha annyira érdekli, hogy néz ki ez a HEX-kód, csak nyissa meg a jegyzettömb segítségével. Blink programunkban a HEX kód a következőképpen fog kinézni:
: 060000000A128A11FC2F18: 100FAA008316031386018312031386018312031324: 100FBA0086150D30F200AF30F100C130F000F00BB1: 100FCA00E42FF10BE42FF20BE42F0000831203133A: 100FDA0086110D30F200AF30F100C130F000F00B95: 100FEA00F42FF10BF42FF20BF42F0000DB2F830107: 060FFA000A128A11D52F36: 02400E007A3FF7: 00000001FF
Vannak módok, hogyan olvassák el ezt, és hogyan értsék meg, majd fordítsák vissza az Assembly nyelvre, de ez az oktatóanyag teljesen kívül esik. Tehát egyszerűen dióhéjban; a HEX a kódolásunk végső szoftverkimenetele, és ezt az MPLAB IPE küldi ki az MCU égetéséért.
Flashmemória:
A HEX kódot az MCU egy Flash memória nevű helyen tárolja. A flash memória az a hely, ahol programunkat az MCU-ban tároljuk és onnan hajtjuk végre. Miután lefordítottuk a programot az MPLABX-ban, a következő információkat kaptuk a memória típusáról az Output konzolon
Mivel most összeállítottunk egy kis LED-es villogó programot, a memória összefoglaló azt mutatja, hogy a rendelkezésre álló programterület 0,5% -át és az adatterület 1,4% -át fogyasztottuk el.
A PIC16F877 mikrovezérlő memóriája alapvetően 3 típusra oszlik:
Programmemória: Ez a memória tartalmazza a programot (amelyet mi írtunk), miután leégettük. Emlékeztetőül: a Programszámláló egymás után hajtja végre a program memóriájában tárolt parancsokat. Amióta nagyon kicsi programot írtunk, a teljes terület csupán 0,5% -át emésztettük fel. Ez egy nem felejtő memória, vagyis a tárolt adatok nem vesznek el a kikapcsolás után.
Adatmemória: Ez a RAM memória típus, amely egy speciális regisztereket tartalmaz, mint például az SFR (Special Function Register), amely magában foglalja a Watchdog időzítőt, a Brown out Reset stb. És a GPR (általános célú regiszter), amely tartalmazza a TRIS és a PORT stb. az adatmemóriában a program során törlődnek, miután kikapcsoljuk az MCU-t. A programban deklarált bármely változó az adatmemóriában lesz. Ez is ingatag emlék.
Data EEPROM (Elektromosan törölhető, programozható, csak olvasható memória): Olyan memória, amely lehetővé teszi a változók tárolását az írott program elégetésének eredményeként. Például, ha hozzárendelünk egy "a" változót egy 5-ös érték mentéséhez és az EEPROM-ban való tároláshoz, akkor az adatok akkor sem vesznek el, ha a tápfeszültséget kikapcsolják. Ez egy nem felejtő memória.
A Programmemória és az EEPROM nem felejtő memória, ezeket Flash-memóriának vagy EEPROM- nak hívják.
ICSP (áramköri soros programozásban):
A PIC16F877A készülékünket az MCU-ban elérhető ICSP opcióval fogjuk programozni.
Mi az az ICSP?
Az ICSP egy egyszerű módszer, amely segít nekünk egy MCU programozásában, még akkor is, ha azt a projekt táblánkba helyezzük. Az MCU programozásához nincs szükség külön programozótáblára, mindössze 6 kapcsolatra van szükségünk a PicKit3 programozótól az alaplapunkig az alábbiak szerint:
1 |
VPP (vagy MCLRn) |
Programozási módba lépés. |
2 |
Vcc |
11. vagy 32. tápkábel |
3 |
GND |
Föld PIN 12 vagy 31 |
4 |
PGD - adatok |
RB7. PIN40 |
5. |
PGC - Óra |
RB6. PIN 39 |
6. |
PGM - LVP engedélyezés |
RB3 / RB4. Nem kötelező |
Az ICSP minden PIC csomaghoz alkalmas; csak arra van szükségünk, hogy ezt az öt csapot (a 6. tűs PGM opcionális) kihúzzuk az MCU-ból a Pickit3-ba, az alábbi képen látható módon.
Áramkör és hardver:
Most elkészült a HEX kódunk, és azt is tudjuk, hogyan kell az ICSP segítségével csatlakoztatni a PicKit 3-at a PIC MCU-hoz. Tehát menjünk előre, és forrasztjuk meg az áramkört az alábbi vázlatok segítségével:
A fenti áramkörben egy 7805-öt használtam a PIC MCU 5V kimenetének szabályozására. Ezt a szabályozót egy 12 V-os fali mart adapter fogja táplálni. A RED Led jelzi, hogy a PIC táplálva van-e. A J1 csatlakozót ICSP programozásra használják. A csapok a fenti táblázatban leírtak szerint vannak összekötve.
Az első tűs MCLR-t alapértelmezésben 10k segítségével magasan kell tartani. Ez megakadályozza az MCU visszaállítását. Az MCU alaphelyzetbe állításához az MCLR csapot a földhöz kell tartani, amelyet az SW1 kapcsoló segítségével lehet megtenni.
A LED 560 ohmos ellenálláson keresztül csatlakozik az RB3 csaphoz (lásd: LED ellenállás kalkulátor). Ha minden rendben van a programunk feltöltése után, akkor ennek a LED-nek villognia kell a program alapján. Az egész áramkör a Perfboardra épül, az összes alkatrész forrasztásával, amint az a kép tetején látható.
A kód kiírása MPLAB IPE használatával:
A kód kiírásához kövesse az alábbi lépéseket:
- Indítsa el az MPLAB IPE fájlt.
- Csatlakoztassa a PicKit 3 egyik végét a számítógépéhez, a másik végét pedig a tökéletes táblán lévő ICSP csapokhoz.
- Csatlakozás a PIC eszközhöz a Csatlakozás gombra kattintva.
- Keresse meg a Blink HEX fájlt, és kattintson a Program gombra.
Ha minden a tervek szerint halad, akkor meg kell kapnia a sikerüzenetet a képernyőn. Ellenőrizze az alábbi kódot és videót a teljes bemutatáshoz, és használja a megjegyzés részt, ha kétségei vannak.
Köszönöm!!!
Találkozzunk a Next bemutatóban, ahol több LED-del és egy kapcsolóval fogunk játszani.