- Arhitektura i primjene mikrokontrolera PIC:
- Izbor PIC mikrokontrolera za naše poduke:
- Izbor softvera za naše vodiče:
- Priprema za hardver:
1980. godine Intel je razvio prvi mikrokontroler (8051) s Harvard Architecture 8051 i od tada su mikrokontroleri donijeli revoluciju u elektronici i ugrađenoj industriji. I s tehnološkim napretkom tijekom vremena, sada imamo mnogo učinkovitijih mikrokontrolera male snage kao što su AVR, PIC, ARM. Ovi su mikrokontroleri sposobniji i jednostavniji za upotrebu, imaju najnovije komunikacijske protokole poput USB-a, I2C-a, SPI-a, CAN-a itd. Čak su i Arduino i Raspberry Pi u potpunosti promijenili perspektivu prema mikrokontrolerima, a Raspberry Pi nije samo mikrokontroler već ima i čitav računalo iznutra.
Ovo će biti prvi dio niza tutorijala koji će tek doći, a koji će vam pomoći u učenju PIC mikrokontrolera. Ako potječete iz elektronike i uvijek ste željeli započeti s učenjem nekih mikrokontrolera i ući u svijet kodiranja i gradnje stvari, tada će vam ovaj niz tutorijala biti prvi korak za početak.
PIC mikrokontroler vrlo je prikladan izbor za započinjanje projekata mikrokontrolera, jer ima izvrsne forume za podršku i služit će kao jaka osnova za nadogradnju svih vaših naprednih mikrokontrolera koje tek trebate naučiti.
Ovi su vodiči stvoreni za apsolutne ili srednje učenike; planirali smo započeti s najosnovnijim projektima do naprednih. Ne očekujemo preduvjete od učenika, jer mi smo tu da vam pomognemo s bilo koje razine. Svaki tutorial će imati teoretsko objašnjenje i simulaciju nakon čega slijedi praktični tutorial. Ovi vodiči neće uključivati nikakve razvojne ploče, napravit ćemo vlastite krugove pomoću perf ploče. Stoga se pripremite i svaki tjedan odvojite malo vremena kako biste se poboljšali mikrokontrolerima.
Sada krenimo s jednostavnim uvodom o PIC mikrokontrolerima i nekim softverskim postavkama kako bismo pokrenuli naš sljedeći vodič. Na kraju pogledajte Video za instaliranje i postavljanje MPLABX-a, XC8, Proteusa i brzo otpakivanje PICkit 3 programera.
Arhitektura i primjene mikrokontrolera PIC:
Mikrokontroler PIC predstavio je Microchip Technologies 1993. godine. Izvorno su ovi PIC razvijeni da bi bili dio PDP-a (Programirani procesor podataka). Računala i svi periferni uređaji računala povezani su pomoću ovog PIC mikrokontrolera. Stoga je PIC dobio ime kao za kontroler perifernog sučelja. Kasnije je Microchip razvio puno IC-a serije PIC koji se mogu koristiti za bilo koje male aplikacije poput aplikacija za osvjetljenje do naprednih.
Svaki mikrokontroler treba graditi oko neke arhitekture, najpoznatiji tip arhitekture je arhitektura Harvarda, naš PIC temelji se na ovoj arhitekturi jer pripada klasičnoj obitelji 8051. Krenimo u mali uvod o harvardskoj arhitekturi PIC-a.
PIC16F877A mikro sastoji od ugrađen CPU, I / O portova, organizacije memorije, A / D pretvarač, vremena / brojila, prekida, serijske komunikacije, oscilator i CCP modul koji se okupljaju čini IC snažan mikrokontroler za početnike za početak sa. Općeniti blok dijagram PIC arhitekture prikazan je u nastavku

CPU (centralna procesorska jedinica):
Mikrokontroler ima CPU za izvođenje aritmetičkih operacija, logičkih odluka i operacija povezanih s memorijom. CPU mora koordinirati između RAM-a i ostalih perifernih uređaja mikrokontrolera.
Sastoji se od ALU (jedinice aritmetičke logike), pomoću koje izvodi aritmetičke operacije i logičke odluke. MU (Memorija jedinica) je također prisutan za pohranu upute nakon što su se pogubili. Ovaj MU odlučuje o veličini programa našeg MC-a. Sastoji se i od CU (upravljačke jedinice) koja djeluje kao komunikacijska sabirnica između CPU-a i ostalih perifernih uređaja mikrokontrolera. To pomaže u dohvaćanju podataka nakon što se obrade u navedenim registrima.
Memorija s slučajnim pristupom (RAM):
Random Access memorija je ona koja određuje brzinu našeg mikrokontrolera. RAM se sastoji od matičnih banaka u njemu, od kojih je svakoj dodijeljen određeni zadatak. U cjelini se mogu svrstati u dvije vrste:
- Registar opće namjene (GPR)
- Registar posebne funkcije (SFR)
Kao što i samo ime govori, GPR se koristi za opće funkcije registra poput zbrajanja, oduzimanja itd. Te su operacije ograničene na 8-bit. Svi registri pod GPR-om mogu se upisivati i čitati. Oni sami nemaju nikakve funkcije, osim ako to nije određeno softverom.
Dok se SFR koristi za obavljanje kompliciranih posebnih funkcija koje također uključuju neko 16-bitno upravljanje, njihovi registri mogu se čitati samo (R) i ne možemo im ništa (W) pisati. Dakle, ovi registri imaju unaprijed definirane funkcije koje treba izvršiti, a koje su postavljene u vrijeme proizvodnje i oni nam samo prikazuju rezultat, pomoću kojeg možemo izvršiti neke povezane radnje.

Memorija samo za čitanje (ROM):
Memorija samo za čitanje mjesto je na kojem se pohranjuje naš program. Ovim se odlučuje o maksimalnoj veličini našeg programa; stoga se naziva i programskom memorijom. Kada MCU radi, program pohranjen u ROM-u izvršava se prema svakom ciklusu instrukcija. Ova memorijska jedinica može se koristiti samo tijekom programiranja PIC-a, tijekom izvršavanja postaje memorija samo za čitanje.
Električno izbrisiva programabilna memorija samo za čitanje (EEPROM):
EEPROM je druga vrsta memorijske jedinice. U ovoj memoriji mogu se pohraniti vrijednosti jedinice tijekom izvršavanja programa. Ovdje su pohranjene vrijednosti samo električki izbrisive, odnosno ove će se vrijednosti zadržati u PIC-u čak i kad je IC isključen. Mogu se koristiti kao mali memorijski prostor za pohranu izvršenih vrijednosti; međutim, prostor memorije bit će vrlo mali u zavojima od KB.
Flash memorija :
Flash memorija je također programabilna memorija samo za čitanje (PROM) u kojoj možemo čitati, pisati i brisati program tisućama puta. Općenito, PIC mikrokontroler koristi ovu vrstu ROM-a.
I / O priključci
- Naš PIC16F877A sastoji se od pet priključaka i to luka A, luka B, luka C, luka D i luka E.
- Od svih pet LUKA samo je port A 16-bitni, a PORT E 3-bitni. Ostatak LUKA je 8-bitni.
- Pribadače na ovim LUKOVIMA mogu se koristiti kao ulaz ili izlaz, na temelju konfiguracije TRIS registra.
- Osim za izvođenje I / O operacija, pinovi se mogu koristiti i za posebne funkcije kao što su SPI, Interrupt, PWM itd.
Autobus:
Pojam Bus je samo gomila žica koja povezuje ulazni ili izlazni uređaj s CPU-om i RAM-om.
Sabirnica podataka koristi se za prijenos ili primanje podataka.
Adresna sabirnica koristi se za prijenos memorijske adrese s perifernih uređaja na CPU. I / O igle koriste se za povezivanje vanjske periferne opreme; UART i USART oba serijska komunikacijska protokola koriste se za povezivanje serijskih uređaja kao što su GSM, GPS, Bluetooth, IR, itd.

Izbor PIC mikrokontrolera za naše poduke:
PIC mikrokontroleri tvrtke Microchip podijeljeni su u 4 velike obitelji. Svaka obitelj ima razne komponente koje pružaju ugrađene posebne značajke:
- Prva obitelj, PIC10 (10FXXX) - zove se Low End.
- Druga obitelj, PIC12 (PIC12FXXX) - zove se Srednji domet.
- Treća obitelj je PIC16 (16FXXX).
- Četvrta obitelj je PIC 17/18 (18FXXX)
Budući da počinjemo učiti o PIC-u, odaberimo IC koji se koristi i dostupan univerzalno. Ovaj IC pripada obitelji 16F, čiji je dio dio PIC16F877A. Od prvog tutorijala do kraja koristit ćemo isti IC kao što je ovaj IC opremljen svim naprednim značajkama kao što su SPI, I2C i UART itd. Ali ako ne dobijete nijednu od ovih stvari, potpuno je u redu, mi ćemo napredujte kroz svaki tutorial i napokon koristi sve gore spomenute značajke.
Nakon što se odabere IC, vrlo je važno pročitati tablicu podataka IC. Ovo bi trebao biti prvi korak u bilo kojem konceptu koji ćemo probati. Budući da smo odabrali ovaj PIC16F877A, možemo pročitati specifikaciju ovog IC-a u tehničkom listu.
Periferna značajka spominje da ima 3 odbrojavanja, od kojih su dva 8-bitna, a jedan 16-bitni uređaj za predskaliranje. Ovi odbrojavači koriste se za stvaranje vremenskih funkcija u našem programu. Mogu se koristiti i kao brojači. Također pokazuje da ima CCP (Capture Compare i PWM) opcije, koje nam pomažu u generiranju PWM signala i čitanju dolaznih frekvencijskih signala. Za komunikaciju s vanjskim uređajem ima SPI, I2C, PSP i USART. Iz sigurnosnih razloga opremljen je Brown-out Reset-om (BOR), koji pomaže u resetiranju programa while.
Analogne značajke, označava da IC ima 10-bitni 8-kanalni ADC. To znači da naš IC može pretvoriti analogne vrijednosti u digitalne s razlučivošću od 10 bita i ima 8 analognih pinova za čitanje. Također imamo dva unutarnja komparatora koja se mogu koristiti za izravnu usporedbu dolaznog napona, a da ih zapravo ne očitamo kroz softver.
Posebne značajke mikrokontrolera označavaju da ima 100 000 ciklusa brisanja / pisanja, što znači da ga možete programirati oko 100 000 puta. In-Circuit Serial Programming ™ (ICSP ™) pomaže nam u programiranju IC izravno pomoću PICKIT3. Otklanjanje pogrešaka može se izvršiti putem otklanjanja pogrešaka u krugu (ICD). Još jedna sigurnosna značajka je Watchdog Timer (WDT), koji je samopouzdani timer koji po potrebi resetira cijeli program.
Slika dolje predstavlja pinouts našeg IC-a PIC16F877A. Ova slika predstavlja svaku pribadaču u odnosu na njezino ime i ostale značajke. To se također može naći u tehničkom listu. Neka vam ova slika bude pri ruci jer će nam pomoći tijekom naših hardverskih radova.

Izbor softvera za naše vodiče:
PIC mikrokontroler može se programirati s različitim softverom koji je dostupan na tržištu. Postoje ljudi koji još uvijek koriste skupštinski jezik za programiranje PIC MCU-a. Za naše tutorijale odabrali smo najnapredniji softver i kompajler koji je razvio sam Microchip.
Da bismo programirali PIC mikrokontroler trebat će nam IDE (Integrirano razvojno okruženje), u kojem se odvija programiranje. Prevodilac, gdje naš program dobiva pretvaraju u MCU čitljivom obliku Hex datoteka. IPE (Integrirani programski okoliš), koji se koristi za deponij našu hex datoteku u našoj PIC MCUs.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Sastavljač: XC8
Microchip je sva tri softvera dao besplatno. Mogu se preuzeti izravno sa njihove službene stranice. Dao sam vam i vezu za vašu udobnost. Nakon preuzimanja instalirajte ih na svoje računalo. Ako imate bilo kakvih problema s tim, možete pogledati videozapis dat na kraju.
U svrhu simulacije koristili smo softver nazvan PROTEUS 8, koji osigurava Labcenter. Ovaj softver može se koristiti za simulaciju našeg koda generiranog pomoću MPLABX-a. Postoji besplatni demonstracijski softver koji se putem njihove veze može preuzeti s njihove službene stranice.
Priprema za hardver:
Svi će naši vodiči završiti s hardverom. Da biste PIC naučili na najbolji mogući način, uvijek se preporučuje testiranje naših kodova i sklopova preko hardvera, jer je pouzdanost simulacije vrlo manja. Kodovi koji rade na softveru za simulaciju možda neće raditi kako ste očekivali na vašem hardveru. Stoga ćemo graditi vlastite sklopove na Perf pločama kako bismo izbacili naše kodove.
Na deponij ili prenijeti našu koda u PIC-a, trebat će nam PICkit 3. PICkit 3 programer / debugger je jednostavna, jeftina u-krug za pronalaženje pogrešaka koje je pod kontrolom osobnog računala MPLAB IDE (v8.20 ili noviji) softvera na Windows platforma. PICkit 3 programer / debugger je sastavni dio razvoja inženjera alat suite. Uz to trebat će nam i drugi hardver poput Perf ploče, stanice za lemljenje, PIC IC-a, kristalnih oscilatora, kondenzatora itd. Ali, dodavat ćemo ih na naš popis tijekom napretka kroz naše tutorijale.
Donio sam svoj PICkit 3 iz Amazona, videozapis o raspakiranju istog možete pronaći u videu ispod. Također je navedena veza za PICKIT3; cijena je možda malo visoka, ali vjerujte mi da vrijedi uložiti.

