Fórum témák

» Több friss téma
Cikkek » Mesterkedések PIC24 és dsPIC33 mikrovezérlőkkel
Mesterkedések PIC24 és dsPIC33 mikrovezérlőkkel
Szerző: icserny, idő: Jún 13, 2009, Olvasva: 20972, Oldal olvasási idő: kb. 2 perc
Lapozás: OK   5 / 7

Ahogy a bevezetőben már említettük, a Mississippi Állami Egyetem ECE3274 kurzusának honlapján, valamint a www.reesemicro.com oldalon egy jól dokumentált PIC24 perifériakezelő programkönyvtár is elérhető és az R. B. Reese, J. W. Bruce and B. A. Jones: Microcontrollers: From Assembly Language to C Using the PIC24 Family című tankönyv mintaprogramjainak gyűjteménye is letölthető. A felhasználás feltételeit ismertető szerzői jogi nyilatkozat itt olvasható.  A programkönyvtár dokumentációjának magyar változata is készülget, a nyitóoldal itt található.

Az első használat előtt érdemes áttanulmányozni Az első lépések  c. oldalt, ami ismerteti a programkönyvtár használatának szoftver és hardver feltételeit, s átvezeti az újoncokat a kezdeti lépések nehézségein. A mintaprogramok többsége azt feltételezi, hogy a fent említett könyvben, illetve a kurzus segédletében ismertetett (USB-UART átalakítóval és bootloaderrel ellátott PIC24HJ32GP202) áramkörön fut a program. Más hardver használata is lehetséges, de a mintaprogramokon esetleg változtatni kell:

  • Az MPLAB Device select menüben válasszuk ki az általunk használt mikrovezérlőt!
  • Ha a mintaprogramokat az MPLAB szimulátorában akarjuk futtatni, akkor definiálni kell a SIM szimbólumot, ellenkező esetben a program végtelen ciklusba kerül az óra beállításánál! 
  • Ha nem használunk betöltő programot, hanem pl. a PICkit2 programozóval égetjük be a programot, akkor a projektből ki kell venni a letöltő programhoz való linker állományt!
  • Ha a PICkit2 UART Tool üzemmódjában fogadni akarjuk a mikrovezérlő soros porti kimenetét, akkor a következő oldalon leírtakat kövessük!

LED-villogtató program - II. változat

Mivel is kezdhetnénk mással a mintapéldák kipróbálását, ha nem egy LED villogtató programmal? A ledflash.c program, ami a tankönyv 8. fejezetének mintapéldái között található, az RB15-re kötött LED-et villogtatja 2 Hz-es frekvenciával, a fentebb említett programkönyvtár felhasználásával.

A programkönyvtár használatához a program elején hivatkozni kell a pic24_all.h állományra, ami az MPLAB-ban kiválasztott mikrovezérlő típusához illő definíciós állomány becsatolásáról is gondoskodik.

Az #include direktívát követő két definíció a LED1 és az I/O láb összerendelését, és az inicializáláshoz szükséges makró összerendelését adja meg. Az ilyen típusú definícióknak az a szerepe, hogy a program további részeit függetlenítse a hardver részleteitől (ne kelljen az egész programot átírni, ha például LED1-et egy másik I/O lábra kötjük át). A CONFIG_RB15_AS_DIG_OD_OUTPUT() makró a TRISB15=0; és az OCDB15=1; beállításokat tartalmazza.

A program listája az alábbi ábrán látható.

 

A főprogram elején a mikrovezérlő oszcillátorának inicializálása és az RB15 kimenet beállítása történik. A while(1) végtelen ciklusban egy 250 milliszekundumos késleltetés (a DELAY_MS() késleltető eljárás definíciója az include/pic24_delay.h állományban található) és az RB15 kimenet állapotának átbillentése található. A LED1=!LED1 utasítás logikailag negálja (ellenkezőjére változtatja) az RB15 kimenet állapotát.

Mivel az RB15 kimenet 250 milliszekundumonként vált ellenkező állapotba, minden második váltás után, azaz félmásodpercenként kerül azonos állapotba. A villogás periódusideje tehát 0,5 s, ami 2 Hz-es frekvenciának felel meg.


A cikk még nem ért véget, lapozz!
Következő: »»   5 / 7
É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