- PIC-mikrokontrollerin arkkitehtuuri ja sovellukset:
- PIC-mikrokontrollerin valinta opetusohjelmille:
- Ohjelmiston valinta opetusohjelmiamme varten:
- Valmistautuminen laitteistoon:
Vuonna 1980 Intel kehitti ensimmäisen mikrokontrollerin (8051) Harvard Architecture 8051: llä ja siitä lähtien mikrokontrollerit toivat vallankumouksen elektroniikassa ja sulautetussa teollisuudessa. Ajan myötä tekniikan kehittyessä meillä on nyt paljon tehokkaampia ja pienitehoisempia mikro-ohjaimia, kuten AVR, PIC, ARM. Nämä mikrokontrollerit ovat entistä kykenevämpiä ja helppokäyttöisempiä, ja niillä on uusimmat tiedonsiirtoprotokollat, kuten USB, I2C, SPI, CAN jne. Jopa Arduino ja Raspberry Pi ovat muuttaneet näkökulmaa täysin mikro-ohjaimiin, ja Raspberry Pi ei ole vain mikro-ohjain, mutta sillä on myös kokonaisuus tietokone sisällä.
Tämä on ensimmäinen osa tulevista oppaista, jotka auttavat sinua oppimaan PIC-mikrokontrollereita. Jos olet elektroniikan taustalta ja halusit aina aloittaa oppimalla joitain mikrokontrollereita ja päästäksesi sinut koodauksen ja tavaroiden rakentamisen maailmaan, niin tämä opasarja on ensimmäinen askelsi aluksi.
PIC-mikrokontrolleri on erittäin kätevä valinta aloittaa mikrokontrolleriprojektit, koska sillä on erinomaiset tukifoorumit ja se toimii vahvana tukikohtana kaikkien edistyneiden mikrokontrollereiden rakentamiseksi, joita et ole vielä oppinut.
Nämä oppaat on tarkoitettu absoluuttisille tai keskitason oppijoille; olemme suunnitelleet aloittaa alkeellisimmista projekteista edistyneille. Odotamme oppijoilta mitään ennakkoedellytyksiä, koska olemme täällä auttaaksemme sinua kaikilta tasoilta. Jokaisella opetusohjelmalla on teoreettinen selitys ja simulointi, jota seuraa käytännön opetusohjelma. Nämä oppaat eivät sisällä kehityskortteja, teemme omat piirimme perf-levyllä. Joten valmistaudu ja varaa aikaa viikossa, jotta voit parantaa sinua mikrokontrollereilla.
Aloitetaan nyt PIC-mikrokontrollereiden yksinkertaisesta esittelystä ja joistakin ohjelmistokokoonpanoista, jotta saisimme meidät toimimaan seuraavassa opetusohjelmassa. Tarkista lopussa oleva video MPLABX: n, XC8: n, Proteuksen asentamisesta ja PICkit 3 -ohjelmoijan nopeasta pakkauksen purkamisesta.
PIC-mikrokontrollerin arkkitehtuuri ja sovellukset:
Microchip Technologies otti PIC-mikrokontrollerin käyttöön vuonna 1993. Alun perin nämä PIC kehitettiin osaksi PDP (Programmed Data Processor) -tietokoneita, ja jokainen tietokoneen oheislaite liitettiin tähän PIC-mikrokontrolleriin. Siksi PIC saa nimensä kuten Peripheral Interface Controller. Myöhemmin Microchip on kehittänyt paljon PIC-sarjan IC: itä, joita voidaan käyttää mihin tahansa pieneen sovellukseen, kuten valaistussovellukseen, edistyneeseen asti.
Jokainen mikro-ohjain on tarkoitus rakentaa jonkin arkkitehtuurin ympärille, tunnetuin arkkitehtuurityyppi on Harvardin arkkitehtuuri, PIC-mallimme perustuu tähän arkkitehtuuriin, koska se kuuluu klassiseen 8051-perheeseen. Mennään pieneen introon PIC: n Harvard-arkkitehtuurista.
PIC16F877A mikro koostuu sisäänrakennettu CPU, I / O-portit, muisti organisaatio, A / D-muunnin, ajastimet / laskurit, keskeytykset, sarjaliikenne, oskillaattori ja CCP-moduuli, joka koota merkkeihin IC tehokas mikro aloittelijoille aloittaa. PIC-arkkitehtuurin yleinen lohkokaavio on esitetty alla
CPU (keskusyksikkö):
Mikrokontrollerissa on CPU suorittamaan aritmeettisia operaatioita, loogisia päätöksiä ja muistiin liittyviä toimintoja. CPU: n on koordinoitava RAM-muistin ja muiden mikrokontrollerin oheislaitteiden välillä.
Se koostuu ALU: sta (aritmeettinen logiikkayksikkö), jonka avulla se suorittaa aritmeettiset operaatiot ja loogiset päätökset. MU (Muistiyksikkö) on myös läsnä tallentaa ohjeet, kun ne toteutettu. Tämä MU päättää MC: n ohjelmakoon. Se koostuu myös ohjausyksiköstä (CU), joka toimii tiedonsiirtoväylänä CPU: n ja muiden mikrokontrollerin oheislaitteiden välillä. Tämä auttaa tietojen noutamisessa sen jälkeen, kun ne on käsitelty määritetyissä rekistereissä.
RAM-muisti (RAM):
Random Access -muisti on se, joka päättää mikro-ohjaimemme nopeuden. RAM koostuu sen sisällä olevista rekisteripankeista, joista kullekin on annettu oma tehtävä. Kaiken kaikkiaan ne voidaan luokitella kahteen tyyppiin:
- Yleiskäyttöinen rekisteri (GPR)
- Erikoistoimintorekisteri (SFR)
Kuten nimestä voi päätellä, GPR: ää käytetään yleisiin rekisteritoimintoihin, kuten summaamiseen, vähentämiseen jne. Nämä toiminnot ovat rajoitettuja 8-bittisissä rajoissa. Kaikki GPR-rekisterit ovat käyttäjän kirjoitettavissa ja luettavissa. Heillä ei ole omia toimintoja, ellei se ole ohjelmistomääritetty.
Kun taas SFR käytetään suorittamaan monimutkaisia erikoistoimintoja johon kuuluu myös noin 16-bittinen käsittely, niiden rekisterit voidaan lukea (R) ja emme voi kirjoittaa (W) heille mitään. Joten näillä rekistereillä on ennalta määritetyt toiminnot suoritettaviksi, jotka asetetaan valmistushetkellä ja ne vain näyttävät meille tulokset, joiden avulla voimme suorittaa joitain liittyviä toimintoja.
Vain luku -muisti (ROM):
Vain luku -muisti on paikka, johon ohjelmamme tallennetaan. Tämä päättää ohjelmamme enimmäiskoon; siksi sitä kutsutaan myös ohjelmamuistiksi. Kun MCU on toiminnassa, ROM-levylle tallennettu ohjelma suoritetaan kunkin käskyjakson mukaisesti. Tätä muistiyksikköä voidaan käyttää vain PIC: n ohjelmoinnin aikana.
Sähköisesti pyyhittävä ohjelmoitava vain luku -muisti (EEPROM):
EEPROM on toisen tyyppinen muistiyksikkö. Tähän muistiin voidaan tallentaa arvot ohjelman suorituksen aikana. Tähän tallennetut arvot ovat vain sähköisesti pyyhittäviä, eli nämä arvot säilyvät PIC: ssä, vaikka IC sammutettaisiin. Niitä voidaan käyttää pienenä muistitilana suoritettujen arvojen tallentamiseen; muistitilaa on kuitenkin hyvin vähän KB: n vuoroissa.
Flash-muisti :
Flash-muisti on myös ohjelmoitava vain lukumuisti (PROM), jossa voimme lukea, kirjoittaa ja poistaa ohjelmaa tuhansia kertoja. Yleensä PIC-mikrokontrolleri käyttää tämän tyyppistä ROM-levyä.
I / O-portit
- PIC16F877A koostuu viidestä portista, nimittäin satamasta A, portista B, portista C, portista D ja portista E.
- Kaikista viidestä satamasta vain portti A on 16-bittinen ja PORT E on 3-bittinen. Loput satamista ovat 8-bittisiä.
- Näiden PORTTIEN nastoja voidaan käyttää joko tulona tai lähtöön TRIS-rekisterin kokoonpanon perusteella.
- I / O-toimintojen lisäksi nastoja voidaan käyttää myös erikoistoimintoihin, kuten SPI, keskeytys, PWM jne.
Bussi:
Termi väylä on vain joukko johtoja, jotka yhdistävät tulo- tai lähtölaitteen CPU: hon ja RAM-muistiin.
Tietoväylää käytetään tietojen siirtämiseen tai vastaanottamiseen.
Osoiteväylää käytetään lähettämään muistiosoite oheislaitteilta keskusyksikköön. I / O-nastoja käytetään ulkoisten oheislaitteiden liittämiseen; Sekä UART- että USART-sarjaliikenneprotokollia käytetään sarjaliitäntöjen, kuten GSM, GPS, Bluetooth, IR, liittämiseen.
PIC-mikrokontrollerin valinta opetusohjelmille:
Microchip Companyn PIC-mikrokontrollerit on jaettu 4 suureen perheeseen. Jokaisessa perheessä on useita komponentteja, jotka tarjoavat sisäänrakennettuja erikoisominaisuuksia:
- Ensimmäistä perhettä, PIC10 (10FXXX), kutsutaan nimellä Low End.
- Toista perhettä, PIC12 (PIC12FXXX), kutsutaan keskitasoksi.
- Kolmas perhe on PIC16 (16FXXX).
- Neljäs perhe on PIC 17/18 (18FXXX)
Koska olemme alkaneet oppia PIC: stä, valitaan IC, jota käytetään ja on saatavana yleisesti. Tämä IC kuuluu 16F-perheeseen, IC: n osanumero on PIC16F877A. Ensimmäisestä opetusohjelmasta loppuun saakka käytämme samaa IC: tä, koska tämä IC on varustettu kaikilla lisäominaisuuksilla, kuten SPI, I2C ja UART jne. Mutta jos et saa mitään näistä asioista nyt, se on täysin hieno, me edetä jokaisessa opetusohjelmassa ja käyttää lopuksi kaikkia edellä mainittuja ominaisuuksia.
Kun IC on valittu, on erittäin tärkeää lukea IC: n tietolomake. Tämän pitäisi olla ensimmäinen askel missä tahansa konseptissa, jota aiomme kokeilla. Nyt kun olemme valinneet tämän PIC16F877A: n, voimme lukea tämän IC: n erittelyn taulukkoon.
Perifeerinen ominaisuus mainitsee, että sillä on 3 ajastinta, joista kaksi on 8-bittisiä ja yksi on 16-bittinen esilaajennus. Näitä ajastimia käytetään ajastustoimintojen luomiseen ohjelmassa. Niitä voidaan käyttää myös laskureina. Se osoittaa myös, että sillä on CCP (Capture Compare ja PWM) -vaihtoehdot, mikä auttaa meitä tuottamaan PWM-signaaleja ja lukemaan saapuvia taajuussignaaleja. Tiedonsiirtoon ulkoisen laitteen kanssa sillä on SPI, I2C, PSP ja USART. Turvallisuussyistä se on varustettu Brown-out Reset (BOR) -toiminnolla, joka auttaa nollaamaan while-ohjelmaa.
Analogiset ominaisuudet osoittavat, että IC: llä on 10-bittinen 8-kanavainen ADC. Tämä tarkoittaa, että IC voi muuntaa analogiset arvot digitaalisiksi 10-bittisellä tarkkuudella, ja sillä on 8 analogista nastaa lukemaan ne. Meillä on myös kaksi sisäistä vertailijaa, joita voidaan käyttää vertaamaan tulevaa jännitettä suoraan lukematta niitä ohjelmiston kautta.
Mikrokontrollerin erityisominaisuudet tarkoittavat, että sillä on 100 000 pyyhintä- / kirjoitusjaksoa, joten voit ohjelmoida sen noin 100 000 kertaa. In-Circuit Serial Programming ™ (ICSP ™) auttaa meitä ohjelmoimaan IC: n suoraan PICKIT3: lla. Virheenkorjaus voidaan tehdä piirin sisäisen virheenkorjauksen (ICD) kautta. Toinen turvaominaisuus on Watchdog Timer (WDT), joka on itsevarma ajastin, joka nollaa tarvittaessa koko ohjelman.
Alla oleva kuva edustaa PIC16F877A-IC: n pinouteja. Tämä kuva edustaa kutakin nastaa nimeä ja muita ominaisuuksia vastaan. Tämä löytyy myös lomakkeesta. Pidä tämä kuva kätevä, sillä se auttaa meitä laitteistotyössämme.
Ohjelmiston valinta opetusohjelmiamme varten:
PIC-mikrokontrolleri voidaan ohjelmoida erilaisilla markkinoilla olevilla ohjelmistoilla. On ihmisiä, jotka käyttävät edelleen Assembly-kieltä PIC-MCU-ohjelmointiin. Opetusohjelmaamme varten olemme valinneet edistyneimmät ohjelmistot ja kääntäjät, jotka Microchip on itse kehittänyt.
PIC-mikrokontrollerin ohjelmointiin tarvitaan IDE (Integrated Development Environment), jossa ohjelmointi tapahtuu. Kääntäjä, missä ohjelma saa muuntaa MCU luettavaan muotoon kutsutaan hex tiedostoja. IPE (Integrated ohjelmointi ympäristö), jota käytetään viemme hex tiedosto osaksi PIC MCU.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Kääntäjä: XC8
Microchip on antanut kaikki nämä kolme ohjelmistoa ilmaiseksi. Ne voidaan ladata suoraan viralliselta sivulta. Olen myös toimittanut linkin avuksesi. Kun olet ladannut, asenna ne tietokoneellesi. Jos sinulla on ongelmia tehdä niin, voit katsella lopussa annettua videota.
Simulointitarkoituksiin olemme käyttäneet Labcenterin toimittamaa ohjelmistoa nimeltä PROTEUS 8. Tätä ohjelmistoa voidaan käyttää simuloimaan koodia, joka on luotu MPLABX: n avulla. On ilmainen esittelyohjelmisto, joka voidaan ladata heidän viralliselta sivulta linkin kautta.
Valmistautuminen laitteistoon:
Kaikki opetusohjelmamme päätyvät laitteistoon. PIC: n oppimiseksi parhaalla mahdollisella tavalla on aina suositeltavaa testata koodit ja piirit laitteistolla, koska simulaation luotettavuus on hyvin heikko. Simulaatio-ohjelmistolla toimivat koodit eivät välttämättä toimi odotetulla tavalla laitteistossasi. Siksi rakennamme omat piirimme Perf-levyille koodien tyhjentämiseksi.
Koodin tyhjentämiseksi tai lataamiseksi PIC: ään tarvitsemme PICkit 3: n. PICkit 3 -ohjelmoija / virheenkorjaaja on yksinkertainen, edullinen piirin sisäinen virheenkorjausohjelma, jota ohjaa tietokone, jossa on MPLAB IDE (v8.20 tai uudempi) -ohjelmisto. Windows-käyttöjärjestelmä. PICkit 3 ohjelmoija / debuggeri on olennainen osa kehitysprosessia insinöörin työkalu Suite. Tämän lisäksi tarvitsemme myös muita laitteita, kuten Perf-kortti, juotosasema, PIC-IC: t, Crystal-oskillaattorit, kondensaattorit jne. Mutta lisäämme ne luetteloomme edetessämme opetusohjelmiamme.
Toin PICkit 3: n Amazonista, saman pakkauksen poistovideo löytyy alla olevasta videosta. Lisäksi tarjotaan linkki PICKIT3: lle; hinta voi olla vähän korkea, mutta luota minuun, se kannattaa sijoittaa.