PIC šeimos mikrovaldiklių programavimas C kalba  (5)

Labai dažnai PIC mikrovaldikliai yra nuvertinami, lyginant su kitų kompanijų mikrovaldikliais. Galbūt didele dalimi lemia tai, kad šalies aukštosiose mokyklose vis dar plačiai nagrinėjamas vienas pirmųjų Microchip kompanijos mikrovaldiklių PIC16C84 (arba naujesnė jo versija PIC16F84A).


Prisijunk prie technologijos.lt komandos!

Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.

Sudomino? Užpildyk šią anketą!

Vėliau susidomėjęs mikrovaldikliais radijo mėgėjas internete randa daug projektų, kuriuose naudojami našesni kitų kompanijų valdikliai, ir sulyginęs jų parametrus, be abejo, nusivilia. PIC16C84 mikrovaldiklis, pristatytas 1993 metais, sukėlė tikrą perversmą rinkoje. Jame buvo įdiegta EEPROM atmintis, o kaina tuo metu buvo keturis kartus mažesnė nei konkurentų. PIC16C84 naudojamas Smart Card kortelėje, nuotolinio valdymo pulteliuose, bevieliuose automobilių raktuose, pramoniniuose valdikliuose ir t.t. Kadangi šis mikrovaldiklis plačiai paplito ir tarp mėgėjų, internete galima rasti daugybę interneto svetainių su naudingais patarimais bei projektų pavyzdžiais.

Microchip Technology kompanija šiuo metu gamina virš 600 skirtingų 8 , 16 ir 32 skilčių PIC mikrovaldiklių ir dcPIC signalinių mikrovaldiklių. 2009 metais buvo pristatytos 8 ir 16 skilčių PIC mikrovaldiklių šeimos su nanoWatt XLP (extreme-low-power) technologija, kurios dėka mikrovaldikliai sunaudoja ypatingai mažai galios (budėjimo režime srovė siekia tik 20 nA).

Šiame straipsnyje sutelksime dėmesį į aukštos klasės 8 skilčių mikrovaldiklius. 8 skilčių PIC mikrovaldiklių šeimą galima suskirstyti į kelias grupes:

  • paprasčiausieji 8 skilčių mikrovaldikliai (baseline 8-bit architecture);
  • vidutinės klasės 8 skilčių mikrovaldikliai (Mid-Range 8-bit architecture);
  • išplėstiniai vidutinės klasės 8 skilčių mikrovaldikliai (Enhanced Mid-Range 8-bit architecture);
  • aukštos klasės 8 skilčių mikrovaldikliai (High Perfomance 8-bit architecture). Tai PIC18 serijos mikrovaldikliai, turintys 16 bitų 75 – 83 komandų sistemą, 18 – 100 išvadų korpusus, 10 – 16 MIPS spartą. Dalis šios klasės mikrovaldiklių turi analogas – kodas bei kodas – analogas keitiklius ir komparatorius, integruotas USB, SPI, I2C, USART, LCD, CAN bei Ethernet skaitmenines sąsajas. Programų atmintis siekia iki 128 kB, RAM - iki 4 kB, komandų sistema optimizuota programavimui C kalba.

C kalbos kompiliatoriai

Prieš pradedant programuoti, reikia pasirinkti C kalbos kompiliatorių, kuris C kalba parašytą programą verčia į mašininį kodą. Kiekvienas kompiliatorius greta standartinių C kalbos funkcijų naudoja specialias funkcijas, palengvinančias mikrovaldiklio programavimą. Tačiau dėl šios priežasties vienam kompiliatoriui parašyta programa yra netinkama kompiliuoti kitu kompiliatoriumi.

HI-TECH C kompiliatorius

Galimi keli HI-TECH C kompiliatoriaus variantai: HI-TECH C PRO, HI-TECH C Standard ir HI-TECH C Lite. Bandomoji šių kompiliatorių versija pilnai veikia 45 dienas. Lite versija yra nemokama, neturinti nei naudojimo trukmės, nei programos apimties apribojimų ir puikiai tinkanti studentams ar mėgėjams. Tačiau naudojamas mažesnis kodo optimizavimo lygis ir sukompiliuotas kodas yra didesnės apimties. Smulkesnę informaciją galima rasti svetainėje www.htsoft.com.

CCS C kompiliatorius

CCS (Custom Computer Service Inc.) pristato C kompiliatorių, kurį galima naudoti tiek integruotą MPLAB IDE aplinkoje, tiek kaip atskirą redagavimo ir derinimo programą. Šis kompiliatorius greta standartinių funkcijų turi daugybę naudingų specializuotų funkcijų, skirtų atminties, skaitiklių, analogas-kodas keitiklių, I2C, 2-wire sąsajų valdymui ir t.t. Dėl aiškios ir paprastos funkcijų sintaksės šis kompiliatorius nesunkiai suprantamas pradedantiesiems. Tačiau demonstracinė nemokama versija palaiko tik kelis mikrovaldiklius, turi 2 kB programos apimties ribojimą ir veikia tik 30 dienų. MPLAB IDE yra integruotas nemokamas CCS C kompiliatorius, skirtas PCB (baseline – paprasčiausios architektūros) mikrovaldikliais. Smulkesnę informaciją galima rasti svetainėje www.ccsinfo.com.

MPLAB C kompiliatoriai

Microchip MPLAB C kompiliatoriai skirti PIC18, PIC24, dcPIC ir PIC32 šeimų mikrovaldikliams ir žinomi atitinkamai kaip MPLAB C18, C24 bei C32 kompiliatoriai. Šių kompiliatorių bandomoji versija yra pilnai veikianti, tačiau po 60 dienų galimi tik O0 ir O1 kodo optimizacijos lygiai. Taip pat Microchip siūlo nemokamas LITE versijas. Šios versijos yra pilnai funkcionuojančios, tačiau kaip ir bandomojoje versijoje apribotos programos kodo optimizacijos galimybės. Smulkesnę informaciją bei programų pavyzdžius galima rasti svetainėje www.microchip.com.

Programos C kalba pavyzdys

Pateiksime nesudėtingos programos PIC18F2450 valdikliui pavyzdį. Programa sukompiliuota Microchip C18 kompiliatoriumi. Šviesos diodai LED1-LED2 mirksi kartu kas 0,5 s.

Pridedama MPLAB projekto bylos ir Proteus simuliacinė schema.

Sėkmės bandymuose!

Doc. dr. Šarūnas Kilius
Energetikos ir elektronikos katedra
Kauno technikos kolegija www.ktk.lt

Pasidalinkite su draugais
Aut. teisės: www.technologijos.lt
Autoriai: Šarūnas Kilius
(4)
(1)
(2)

Komentarai (5)