- Potrebni materijali:
- Brza memorija:
- ICSP (u kružnom serijskom programiranju):
- Krug i hardver:
- Spaljivanje koda pomoću MPLAB IPE:
U naša prethodna dva vodiča raspravljali smo o tome kako započeti s korištenjem PIC-a pomoću MPLABX-a i XC8 kompajlera, također smo napravili svoj prvi LED program za treptanje s PIC-om i provjerili ga simulacijom. Sada je vrijeme da se uhvatimo za hardver. U ovom uputstvu izgradit ćemo mali krug na Perf Boardu za treptanje LED diode pomoću PIC-a. Program ćemo prebaciti na naš PIC mikrokontroler i provjeriti treptanje LED diode. Za programiranje PIC MCU-a koristit ćemo MPLAB IPE.
Potrebni materijali:
Kao što je raspravljeno u našem prethodnom vodiču, trebat će nam sljedeći materijali:
- PicKit 3
- PIC16F877A IC
- 40 - Držač IC pin-a
- Perf ploča
- Kristalni OSC od 20 MHz
- Ženska i muška Bergstick pribadača
- Kondenzator 33pf - 2Nos, 100uf i 10uf cap.
- Otpornik 680 ohma, 10K i 560 ohma
- LED bilo koje boje
- 1Komplet za lemljenje
- IC 7805
- 12V adapter
Što se događa kad "izgorimo" mikrokontroler !!
Uobičajena je praksa učitavanje koda u MCU i njegovo pokretanje unutar MCU-a.
Da bismo to razumjeli, pogledajmo naš program

Kao što vidimo, ovaj je kod napisan na jeziku C i za naš MCU neće imati smisla. Tu dolazi dio našeg kompajlera; Prevodilac je onaj koji se pretvara ovaj kod u strojno čitljivom obliku. Ovaj se mašinski čitljiv obrazac naziva HEX kod, svaki projekt koji izradimo imat će HEX kôd koji će biti u sljedećem direktoriju
** Vaše mjesto ** \ Blink \ Blink.X \ dist \ default \ production \ Blink.X.production.hex
Ako ste toliko zainteresirani da znate kako izgleda ovaj HEX kod, jednostavno ga otvorite pomoću bilježnice. Za naš program Blink, HEX kôd izgledat će ovako:
: 060000000A128A11FC2F18: 100FAA008316031386018312031386018312031324: 100FBA0086150D30F200AF30F100C130F000F00BB1: 100FCA00E42FF10BE42FF20BE42F0000831203133A: 100FDA0086110D30F200AF30F100C130F000F00B95: 100FEA00F42FF10BF42FF20BF42F0000DB2F830107: 060FFA000A128A11D52F36: 02400E007A3FF7: 00000001FF
Postoje načini kako to pročitati i kako to razumjeti i preokrenuti natrag u jezik skupštine, ali to je potpuno izvan opsega ovog vodiča. Jednostavno, ukratko; HEX je konačni softverski ishod našeg kodiranja i to je ono što će poslati MPLAB IPE za sagorijevanje MCU-a.
Brza memorija:
HEX kod je pohranjena u MCU u mjestu zvanom Flash memorija. Flash memorija je mjesto gdje će se naš program pohraniti unutar MCU-a i iz njega izvršiti. Jednom kad kompajliramo program u našem MPLABX-u, dobili bismo sljedeće informacije o vrsti memorije na izlaznoj konzoli

Budući da smo upravo sastavili mali LED program koji trepće, sažetak memorije pokazuje da smo upravo potrošili 0,5% dostupnog programskog prostora i 1,4% podatkovnog prostora.
Memorija mikrokontrolera PIC16F877 u osnovi je podijeljena u 3 vrste:
Programska memorija: Ova memorija sadrži program (koji smo napisali), nakon što smo ga spalili. Podsjećanja radi, programski brojač izvršava naredbe pohranjene u programskoj memoriji jednu za drugom. Budući da smo napisali vrlo mali program, potrošili smo samo 0,5% ukupnog prostora. Ovo je hlapljiva memorija, što znači da se pohranjeni podaci neće izgubiti nakon isključivanja.
Data Memory: Ovo je vrsta RAM memorije, koja sadrži posebne registre poput SFR (Special Function Register) koji uključuje Watchdog timer, Brown out Reset itd. I GPR (General Purpose Register) koji uključuje TRIS i PORT itd. Varijable koje su pohranjene u Data Memory tijekom programa brišu se nakon što isključimo MCU. Svaka varijabla deklarirana u programu nalazit će se unutar memorije podataka. Ovo je također hlapljivo sjećanje.
Podaci EEPROM (električno izbrisiva programabilna memorija samo za čitanje): memorija koja omogućuje pohranu varijabli kao rezultat sagorijevanja napisanog programa. Na primjer, ako dodijelimo varijabli "a" da u nju spremimo vrijednost 5 i pohranimo je u EEPROM, ti se podaci neće izgubiti čak i ako je napajanje ISKLJUČENO. Ovo je nehlapljivo sjećanje.
Programska memorija i EEPROM su trajna memorija i nazivaju se Flash memorija ili EEPROM.
ICSP (u kružnom serijskom programiranju):
Programirat ćemo naš PIC16F877A koristeći ICSP opciju koja je dostupna u našem MCU-u.
Što je ICSP?
ICSP je jednostavan način koji nam pomaže programirati MCU čak i nakon što je smješten unutar naše projektne ploče. Ne treba imati zasebnu ploču programera za programiranje MCU-a, sve što trebamo je 6 veza između PicKit3 programera i naše ploče, kako slijedi:
|
1 |
VPP (ili MCLRn) |
Za ulazak u način programiranja. |
|
2 |
Vcc |
Priključak za napajanje 11 ili 32 |
|
3 |
GND |
Prizemni PIN 12 ili 31 |
|
4 |
PGD - Podaci |
RB7. PIN40 |
|
5 |
PGC - sat |
RB6. PIN 39 |
|
6 |
PGM - LVP omogući |
RB3 / RB4. Nije obavezno |
ICSP je pogodan za sve PIC pakete; sve što trebamo je izvući ovih pet pinova (6. pig PGM nije obavezan) s MCU-a na Pickit3 kao što je prikazano na donjoj slici.

Krug i hardver:
Sada smo spremili naš HEX kod, a također znamo kako povezati PicKit 3 s našim PIC MCU-om pomoću ICSP-a. Dakle, idemo naprijed i lemimo krug uz pomoć donjih shema:

U gore navedenom krugu koristio sam 7805 za regulaciju izlaza 5V na moj PIC MCU. Ovaj regulator će biti powered by 12V zid Mart adapter. CRVENA LED dioda koristi se za označavanje napajanja PIC-a. Konektor J1 služi za programiranje ICSP-a. Pribadače su spojene kako je objašnjeno u gornjoj tablici.
Prvi pin MCLR prema zadanim postavkama mora se držati visoko uz pomoć 10 k. To će spriječiti resetiranje MCU-a. Da bi se MCU resetirao, pin MCLR mora se držati na zemlji, što se može učiniti pomoću prekidača SW1.
LED je spojen na pin RB3 kroz otpornik vrijednosti 560 ohma (vidi Kalkulator otpornika LED-a). Ako je sve u redu nakon što se naš program prenese, ova LED lampica trebala bi treptati ovisno o programu. Cijeli je krug izgrađen na Perfboard-u lemljenjem svih komponenata na njemu, kao što možete vidjeti na slici na vrhu.
Spaljivanje koda pomoću MPLAB IPE:
Da biste spalili kôd, slijedite korake u nastavku:
- Pokrenite MPLAB IPE.
- Spojite jedan kraj PicKita 3 s računalom, a drugi kraj s ICSP iglama na perf ploči.
- Povežite se sa svojim PIC uređajem klikom na gumb za povezivanje.
- Potražite Blink HEX datoteku i kliknite Program.
Ako sve ide kako je planirano, na ekranu biste trebali dobiti poruku o uspjehu. Provjerite donji kod i videozapis za cjelovitu demonstraciju i upotrijebite odjeljak za komentare ako sumnjate.
Hvala vam!!!
Upoznajmo se u Sljedećem vodiču gdje ćemo se igrati s više LED-a i prekidačem.
