luokat: Mikrokontrolleripiirit
Katselukuvien lukumäärä: 23111
Kommentit artikkeliin: 0
PIC-mikro-ohjaimet aloittelijoille
Nykyaikaisilla markkinoilla on useita perheitä ja sarja mikrokontrollereita eri valmistajilta, muun muassa AVR, STM32 ja PIC. Jokainen perheistä on löytänyt oman laajuutensa. Tässä artikkelissa kerron aloittelijoille PIC-mikro-ohjaimista, nimittäin siitä, mitä se on ja mitä sinun on tiedettävä aloittaaksesi heidän kanssaan.

Mikä on PIC
PIC on Microchip Technology Inc: n (USA) valmistaman mikrokontrollerien sarjan nimi. Nimi PIC on peräisin oheisrajapinnan ohjaimesta.
PIC-mikro-ohjaimilla on RISC-arkkitehtuuri. RISC - lyhennetty ohjekokonaisuus, käytetään myös mobiililaitteiden prosessoreissa. Sen käytöstä on olemassa useita esimerkkejä: ARM, Atmel AVR ja muut.
Vuonna 2016 Microchip osti AVR-ohjaimien valmistajan Atmelin. Siksi virallisella verkkosivustolla esitellään perheen mikrokontrollerit sekä PIC ja AVR.

perhe
8-bittisistä PIC-mikrokontrollereista se koostuu 3 perheestä, jotka eroavat toisistaan arkkitehtuurinsa (bitinsyvyys ja käskyjoukot) suhteen.
-
Perustaso (PIC10F2xx, PIC12F5xx, PIC16F5x, PIC16F5xx);
-
Keskialue (PIC10F3xx, PIC12F6xx, PIC12F7xx, PIC16F6xx, PIC16F7xx, PIC16F8xx, PIC16F9xx);
-
Parannettu keskialue (PIC12F1xxx, PIC16F1xxx);
-
Huippuluokan tai PIC18 (18Fxxxx, 18FxxJxx ja 18FxxKxx).

Ominaisuudet on annettu alla olevassa taulukossa.

8-bittisten mikrokontrollerien lisäksi Microchip tuottaa 16-bittisiä:
-
PIC24F;
-
DsPIC30 / 33F signaalinkäsittelyyn.
16-bittisen perheen edustajat toimivat nopeudella 16 - 100 MIPS (miljoonat ohjeet sekunnissa täytetty). On syytä huomata ja ominaisuudet:
-
konesykli - 2 jaksoa;
-
ADC-resoluutio - 16 bittiä;
-
tukee useita tiedonsiirtoprotokollia (UART, IrDA, SPI, I2S ™, I2C, USB, CAN, LIN ja SENT), PWM ja paljon muuta.
Siellä on myös 32-bittisten mikrokontrollerien perhe - PIC32MX, pääpiirteet:
-
toimivat taajuudella jopa 120 MHz;
-
Suorita jopa 150 MIPS
-
ADC: 10-bittinen, 1 msps (kvantisointinopeus), jopa 48 kanavaa.
Mistä PIC: stä aloitetaan?
Aloittelijoiden tulisi aloittaa PIC-mikrokontrollerien hallitseminen 8-bittisestä linjasta. Valmistaja väittää yleensä, että koko perheen piirre on ohjelmien helppo siirrettävyys perheestä toiseen ja useiden mallien näyttäminen.
Yksi amatööriradioympäristön suosituimmista mikrokontrollereista on PIC16f628A. Sen tekniset ominaisuudet ovat seuraavat:
-
Siellä on sisäänrakennettu kellogeneraattori. Voit virittää toimimaan taajuudella 4 tai 8 MHz;
-
18 nastaa, joista 16 - tulo / lähtö ja 2 - teho;
-
Toimiakseen jopa 20 MHz: n taajuuksilla voit kytkeä kvartsresonaattorin, mutta tässä tapauksessa tuloon / lähtöön ei ole jätetty 16, vaan 14 jalkaa;
-
Merkinnässä on kirjain F, joka tarkoittaa, että käytetään FLASH-muistia, jonka kapasiteetti on 2048 sanaa;
-
14-bittiset ohjeet, 35 kappaletta;
-
2 vertailuainetta;
-
4 analogista tuloa;
-
PORTB-tuloissa on ylösvetovastukset;
-
Kaksi 8-bittistä ajastinta ja yksi 16-bittinen;
-
Konesykli - 4 kvartsikvaasi- tai sisäoskillaattorisykliä);
-
224 tavua RAM: ta;
-
128 tavua EEPROMia;
-
USART - sarjaportti;
-
sisäinen jännite;
-
jännite 3,3 - 5 V.
Syy suosionsa syntymiseen on alhainen hinta ja kyky kelloida sisäisestä generaattorista.
Mikä 16f628-nasta näkyy alla:

Tämän mikrokontrollerin lohkon sisäinen piiri on esitetty alla.

Mihin minun tulisi ensinnäkin kiinnittää huomiota järjestelmässä?
Tässä mikro-ohjaimessa on kaksi porttia PORTA ja PORTB. Jokaista nastaa, kutakin niistä, voidaan käyttää tuloina ja lähtöinä sekä oheislaitteiden kytkemiseen tai muiden mikro-ohjainmoduulien aktivointiin.
Tarkastele tätä järjestelmän osaa yksityiskohtaisesti.

Esimerkiksi portit RB0-RB3 - voivat toimia analogisina. Tarvittaessa kellolähde kytketään RA6, RA7 (kvartsiresonaattori). Itse mikrokontrollerin lähdöt määritetään tulo- / lähtötilassa TRIS-rekisterin avulla.
Tämän tyyppisiä komentoja on:
TRISA = 0; // Kaikki portin A nastat asetetaan lähtöiksi
TRISB = 0xff; // Kaikille portin B nastoille on määritetty tulot
TRISA0 = 1; // Joten erillinen nasta määritetään tulona (1) tai ulostulona (0)
TRISA5 = 1; // tässä portin A viides lähtö määritetään tulona
Yleensä toimintatilat, WDT: n (tarkkailuajastimen) sisällyttäminen, mikrokontrollerin kellolähteen valinta ja niin edelleen määritetään käyttämällä erikoisrekistereitä - SFR, ja muisti ja tiedot tallennetaan GFR: ään - yksinkertaisin sanoin, tämä on staattinen RAM.
Virallisesta tietolomakkeesta, sivuilta 18-21, löydät 4 muistipankkia erityiskäyttöön tarkoitettuihin rekistereihin SFR ja yleiskäyttöön tarkoitettuihin rekistereihin GFR. Rekisterien tuntemus on tärkeää, joten tulosta ja oppi ilmoitetut sivut Datalehdet.
Mukavuussyistä nämä taulukot on esitetty alla olevien kuvien muodossa (rekistereiden numerointi, kuten kaikki digitaalielektroniikassa, alkaa nollasta, joten neljäs luku on 3).




Kuinka yhdistää ja millä kielellä ohjelmoida?
Tämän mikrokontrollerin suorittamiseen riittää, että levitetään plus Vdd: lle ja miinus Vss: lle. Jos tarvitset kvartsiresonaattoria, se on kytketty PIC16f628-mikrokontrollerin napoihin 16 ja 15 (OSC1 ja OSC2), muille ohjaimille, joissa on suurempi tai pienempi nastat - katso tekninen taulukko. Mutta tämä kohta on ilmoitettava ohjelmoinnin ja laiteohjelmiston aikana.
Puhuminen siirrettävyydestä ja sattumanvaraisuudesta - 16f84A: lla - on samanlainen kuin monissa muissakin.

Katkelma piiristä, jossa ulkoinen resonaattori on kytketty pic16f628a:

PIC-mikrokontrollerien ohjelmoinnissa on kaksi pääkieltä - kokoonpanija ja C, muita kieliä, esimerkiksi PICBasic, jne. Voit silti korostaa yksinkertaistettua ohjelmointikieltä JAL (vain toinen kieli).
Alla on esimerkiksi "LED-vilkkuminen" -ohjelma - eräänlainen "Hello World" PIC-mikrokontrollerille C: ssä.

Rivillä 1 PIC-mikrokontrollerikirjasto on kytketty, sitten viiveohjelmakirjasto on kytketty.
Päätoiminnossa (tyhjä) alkuperäiset parametrit asetetaan alussa, samoin kuin Void setup () -toiminnossa - artikkeleissa arduinosta. Sitten riveillä 11-16 julistetaan ääretön (1) -silmukka, jonka aikana ”LED-vilkkuminen” -ohjelma suoritetaan.
Esimerkissä portin tila on jatkuvasti käänteinen, ts. jos se oli arvossa "0", niin se menee arvoon "1" ja päinvastoin. PIC: n C-kohdassa on seuraavat komentojen hallintakomennot:
PORTA = 0; // kääntää kaikki portin A tapit alhaiselle tasolle (log. 0)
PORTB = 0xff; // kääntää kaikki portin B nastat korkealle tasolle (log. 1)
RB5 = 1; // Portin B viides nasta on korkea
Ja sama ohjelma näyttää tältä, mutta jo JAL-kielellä olen kääntänyt venäjäksi kommentit JALeditin (kehitysympäristö) sisäänrakennettujen esimerkkien kehittäjiltä.

JAL on houkutus valita, ja se voi tuntua helpommalta. Tietysti kaikki projektit voidaan toteuttaa sen avulla, mutta asiantuntijana sinulle koituvan hyödyn kannalta se on turha kieli. Saavutat huomattavasti parempia tuloksia tutkimalla syntaksia ja ohjelmoinnin periaatteita C-kielellä (suurin osa tällä hetkellä suosituista C-kaltaisista kielistä) tai Assembler on alhaisen tason kieli, joka saa sinut ymmärtämään, miten laite toimii ja mitä ohjelmassa tapahtuu milloin tahansa.
Kuinka työskennellä
Jos sanot melko yleistyneen työskennelläksesi tarvitsemiesi mikro-ohjaimien kanssa:
1. Tekstieditori.
2. Kääntäjä.
3. Ohjelmisto laiteohjelmiston lataamiseksi mikro-ohjaimeen.
Ja minä jopa luin vanhoja oppikirjoja, joissa DOS: n alla työskentelevä kirjoittaja kirjoitti koodia, käänsi ja salasi sen erilaisin keinoin. Nyt kaikissa suosituissa käyttöjärjestelmissä on kehitysympäristöjä, jotka ovat erittäin erikoistuneita (tietylle mikrokontrollerien perheelle tai yhden valmistajan perheille) ja yleismaailmallisia (sisältävät joko kaikki tarvittavat työkalut tai ne on kytketty lisäosina).
Esimerkiksi Arduinoa käsittelevässä artikkelisarjassa tarkastelimme Arduino IDE: tä, siinä kirjoitimme koodin ja “kaatoi” laiteohjelmiston “kiveen”. PIC-mikrokontrollereille on olemassa seuraavia ohjelmia:
-
MPASM - käytetään kehittämiseen Assembler-kielellä Microchipistä;
-
MPLAB on myös Microchip IDE PIC-ohjaimille. Se koostuu monista lohkoista testaamiseksi, tarkistamiseksi, koodin kanssa työskentelemiseksi ja ohjelmien kokoamiseksi sekä lataamiseksi mikro-ohjaimelle. MPLAB X IDE: stä on myös versio - siinä on erinomainen toimivuus ja se on rakennettu NetBeans-alustan pohjalta;
-
MikroC on yleinen kehitysympäristö (ei vain PIK: ille). Kuten nimestä voi päätellä, se on "terävöitetty" C-ohjelmoinnille, ja vastaavia kieliä varten on olemassa myös ohjelmia, kuten MikroBasic ja MikroPascal;
-
JALedit - sopii edellä mainitulle JAL-kielelle;
-
Ja joukko muita vähemmän tunnettuja.

Kuinka salata mikro-ohjain?
PIC-mikrotrollereille on olemassa useita ohjelmoijia. Virallisesti pidetty PICkit. Heidän 4 versiota. Mutta voit välähtää ja yleismaailmallisia, esimerkiksi TL866 (se tukee melkein kaikkea mitä aloittelijoille tarkoitettu radioamatööri voi tarvita, vaikka se onkin erittäin halpaa).

Verkossa on myös useita erilaisia ohjelmointipiirejä PIC: lle, molemmat toimimaan COM-portin kautta:

Joten se on USB: n kautta (itse asiassa myös com, vain IC MAX232 -muuntimen kautta).

johtopäätös
PIC16-mikrokontrollerit sopivat yksinkertaisiin projekteihin, kuten yksinkertaisiin automaatioihin, volttimittariin, lämpömittariin ja muihin pieniin asioihin. Mutta tämä ei tarkoita, ettet voi tehdä monimutkaisia ja suuria hankkeita tämän perheen parissa, annoin esimerkin siitä, miksi niitä käytetään eniten. Yleisen idean saamiseksi suosittelen katsomaan muutama video:
Yhdessä artikkelissa on turhaa pohtia aiheita mikro-ohjaimien ohjelmoinnista riippumatta siitä, mikä perhe. Koska tämä on erittäin suuri määrä tietoa.
Katso myös osoitteesta electro-fi.tomathouse.com
: