Mi fán terem a PIC?
A PIC egy 8 bites mikrokontroller. Legalábbis azok, amikkel mi foglalkozni fogunk mostanában. Manapság gyártanak ennél jóval komolyabb tudású PIC-eket de egyelőre azokkal még én sem foglalkoztam. (Bizony nekem sincs annyi szabadidőm, mint amennyit szeretnék)

Hirdetés

A 18F4520-as egy úgynevezett Harvard architektúrájú RISC processzor. Ennél az architektúránál külön van a program és az adatmemória.
Mi ezzel a PIC-el fogunk megismerkedni. Ennek több oka is van, részben az a fejlesztő panel, amit én használok, az alapvetően erre a processzorra lett tervezve, másrészt nagyon könnyűvé válik a debbuggolás, a hibakeresés a programozás közben.

Például ha használjuk az A portot és a C portot akkor a D, B, E, az szabad, és mivel minden port minden bitjén van egy LED a szabad portokra kiírathatjuk olyan változók értékét, amik a program futása közben változnak, így megfigyelhetjük, hogy milyen értékeket vesz fel a szóban forgó változó, vagy akár a kijelzőt is bekábelezhetjük bármelyik portra és arra ugyanúgy kiírathatóak az értékek.
Egyszóval abszolút univerzálissá teszi a programozást.

Na de térjünk vissza alapkérdésünkhöz: Mi fán terem a PIC?
Nem akarok a pontos leírásokba belemenni ezt mindenki megtalálja a neten ezerféle definícióban.
Egyszerűen szólva ez egy olyan IC, aminek van egy rakás olyan lába, ami azt fogja csinálni, amire én programozom.
Talán ez a legegyszerűbb meghatározás. (Persze, ez nem lexikális meghatározás, egyszerűen csak igaz.)

A 4520-as procinak van A, B, C, D, E portja, ezek programozhatóak kimenetnek vagy bemenetnek. Mivel általában a PIC-ek jóval többet tudnak ennél, nagyon oda kell figyelni a konfigurációs beállításoknál. Sok olyan lába van, amely programozható az alapfunkciókon kívül még sok minden másnak pl.: I2C-busz, külső oszcillátor, PWM, analóg funkciók, megszakításkezelés, stb... Ezekkel is foglalkozunk majd, ha eljön az ideje.
Nagy segítséget nyújt ebben a PicPascal, mert az assemblerrel ellentétben sok mindent megcsinál helyettünk, ugyanis nagyon sok kész unitja van a funkciók kezelésére.

Nagyon sok mindent meg lehet ugyanazzal a PIC-el csinálni. Igazság szerint én nagyon sokszor pazarlok el, komolyabb, drágább PIC-et egyszerűbb kapcsolásokra, erre az oldalon is van néhány példa. Sajnos ennek az a legfőbb oka, hogy a postaköltség 1.500,-Ft-os alkatrészt csinál a 300,-Ft-os Picből ha rendelnem kell, pláne egy darabot. Így hát általában abból mazsolázok, amit éppen itthon találok. Jó példa erre, amikor a haveromnak csináltam egy disco-ba 8 led paneles futófényt. Erre bármelyik IC megfelelt volna, amelyiknek 1 db 8 bites portja van. Pl.: 16F628, de olcsóbb volt megcsinálni egy 4520-assal, mint rendelni bele egy kisebbet.
Mondjuk régebben nem voltak ilyen gondjaim, akkoriban 50 méterre laktam a budapesti Mikrovill-től, most meg 50km-re...

Rádásul a PicPascallal meg lehet azt csinálni, hogy a 4520-assal megírok egy progit majd a konfiguráció, és néhány egyéb változtatással installálhatjuk egy másik Pic-re ugyanazt a progit. Csináltam már ilyet pl. a haverom tasztatúrájának a programjával. Úgy terveztem, hogy 18F1320-ast fogok használni hozzá, de nem volt itthon egy darab sem. Mire a haver hozott addigra a fejlesztő panelen összeállítottam 4520-assal a kapcsolást és megírtam a programot. Mivel ugyanazokat a portjait használtam a programírás közben, mint a 1320-asnak van, A, B így mikor megérkezett a 1320-as akkor egy adapterrel beletettem a 4520-as helyére (Így van tervezve a panel) és pár sor átírása és a konfig beállítások testre szabása után vígan futott a program a 1320-as tokban.

Nagyon fontos, minél jobban megismerkednünk az áramkörrel. Érdemes sokat forgatni az adatlapot, programírás közben pláne, mert ha elszúrjuk a konfigurációs beállításokat, akkor nem fog működni a program.

Hogy mi mindenre használható a PIC, na azt mind ne kelljen leírnom. Itt ülhetnék a gép előtt igen hosszú ideig. Szinte bármilyen vezérléstechnikai feladatra alkalmasak, óra, egyéb időzítők, riasztók, hőmérők, beléptető rendszerek, pl.: a garázs és kapunyitó elektronikák jó része is PIC-el van megoldva stb...

Gyorsan előrebocsájtanám, mielőtt valaki megkövezne érte, PIC programozására a leghatékonyabb és a legkevesebb memóriát felhasználó programozói környezet az Assembler, de valahogy egyelőre nekem "nem ízlik". Sajnos az igaz, hogy bármelyik magas szintű programnyelvvel írjuk a programunkat, nagyságrendekkel nagyobb lesz, mint Assemblerben. Viszont én inkább választok egy több memóriával rendelkező PIC-et, legyen egy-két százassal drágább, de egyszerűbben írom a progit. Ez eléggé szubjektiv, de még a profi programozók sem szeretnek ugyanúgy, minden programnyelvet. Mindennek ellenére az is előfordul a PicPascalban, hogy használunk majd beágyazott Assembler utasításokat. Ezt nyugodtan, megtehetjük a PicPascal tudja kezelni.

Nagyjából ennyi lenne a bevezető, a következő cikkben megismerkedünk a 18F4520-as processzor konfigurációs beállításaink az alapjaival.


Fájlok:
FájlnévFájlméretLetöltve
A cikkhez tartozó fájlok csak bejelentkezés után tölthetőek le!

Hozzászólások
Hozzászólás csak bejelentkezés után lehetséges...
grandiloquent-yearly
grandiloquent-yearly
grandiloquent-yearly
grandiloquent-yearly