Fórum témák

» Több friss téma
Cikkek » PIC programozás C nyelven - CCS - I. lecke
PIC programozás C nyelven - CCS - I. lecke
Szerző: deguss, idő: Jan 28, 2007, Olvasva: 64375, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   2 / 4

Minden program a PIC header fájlának inkluziójával kezdődik.

  1. #include <16F876A.h>

Utána szokás egy ilyen precompiler utasítást kiadni:

  1. #zero_ram

Ez garantálja, hogy a program indulásakor a deklarált változóid biztosan 0 értéket vegyenek fel.

Ez után jönnek az ún. fuse bit-ek. Ez lényegében a PIC-nél a config word. Minden PIC-nek más-más fuse bit-jei lehetnek, ezért az a legjobb, ha megnyitjuk a PICC-t (CCS fordítót) és a View / Valid fuses opcióval megnézzük mit használhatunk a PIC-ünknél.
A fuse biteket így írjuk a programba:

  1. #fuses HS,NOWDT,NOPROTECT,NOPUT,BROWNOUT,NOLVP

Ebből a fontosabbak:

  • HS: high speed oscillator (>4MHz-es kvarc)
  • NOWDT: no watchdog timer (kikapcsolva az "őrzőkutya")
  • NOPROTECT: nincs kiolvasás elleni védelem
  • NOPUT: no power on timer (nincs aktiválva az "indítási időzítő")
  • BROWNOUT: resetel táphibára, lsd. adatlap
  • (NOLVP: nem engedélyezett low voltage programming...)

Utána jöhet a delaytime beállítása.

  1. #use delay(clock=12000000)

Itt Hertzben adjuk meg a kristály frekvenciáját. Ez azért kell, hogy később megfelelően tudjuk használni a delay_ms() és tsi. parancsokat.

És végül egy nagyon egyszerű program, ami villogtat egy LED-et, ha azt a PORTB-n a 0. PIN-re kötjük.

  1. main(){
  2.         while(true){
  3.                 delay_ms(1000);
  4.                 output_toggle(PIN_B0);
  5.         }
  6. }

Az output_toggle egy olyan parancs, ami a kimenetet mindig ellenkező potenciálra állítja. Tehát ha az elején 0V, a parancs meghívása után 5V lesz. Mégegyszerin meghívására újra 0V.

Mindez így néz ki:

Ha beadtuk a programot, megnyomjuk az F10-es gombot, vagy rámegyünk a Compile opcióra. Ekkor a Compiler egy igen bonyolult folyamat során először egy ASM-list-et generál, majd egy hex-fájlt helyez el a projektkönyvtárban. Ezt betallózzuk az égető programnak, beégetjük, és már meg is lennék.

ismerkedjünk meg a timerek használatával...


A cikk még nem ért véget, lapozz!
Következő: »»   2 / 4
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem