Fórum témák

» Több friss téma
Cikkek » Nulláról a robotokig - PIC Mikrovezérlők I rész
Nulláról a robotokig - PIC Mikrovezérlők I rész
Szerző: Topi, idő: Jún 12, 2007, Olvasva: 119881, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   18 / 24

Mint már mondtam, nem fogom nulláról kezdeni a megírását mint assembly esetén, hisz nem ez a cél... Inkább egy körképet szeretnék adni, magáról az aktuális nyelvről. Jelen oldalon a CCS-vel írjuk meg az előzőekben bemutatott ide-oda ugrálós kódot.

  1. #include <16F877.h>
  2.  
  3.  
  4. #FUSES NOWDT, XT, NOPUT, NOPROTECT, BROWNOUT, NOLVP, NOCPD
  5. #use delay(clock=4000000)

Ez az első konfig biteket beállító rész. Itt meg kell adni az órajelet is, mert már a fordító ebből kiszámolja a delay függvények idejét.

  1. #byte PORTD = 0x08 //PORTD regiszterre mutató pointer

Ez a sor a CCS egyik hiányosságát javítja, mégpedig azt, hogy ha nincs kikapcsolva az automatikus tris állítás, akkor nem tudod lekérdezni a port állapotát.

A CCS intelligens fordító, és nem kell megadni mindig a TRIState-eket. Mivel ha azt mondod hogy output_d(0xFF), akkor az output függvény egyből kimenetre állítja a portot. Ha meg azt mondod input_d() akkor pedig bemenetre állítja. Ez kikapcsolható a #FAST_IO paranccsal, de akkor figyeljünk oda, hogy jól állítsuk be a TRIS-eket.

  1. for(;;) { //ugyan úgy végtelen ciklust jelent, mint a while(1)
  2.  if(!input(PIN_A0)) {
  3.   //ha gombic 1 van lenyomva
  4.   rotate_left(&PORTD,1);
  5.  }
  6.  if(!input(PIN_A1)) {
  7.   //ha gombic 2 van lenyomva
  8.   rotate_right(&PORTD,1);
  9.  }
  10.  delay_ms(100);
  11. }//for

Időzítésestül a forgatás rész ennyi összesen. A rotate_x függvénynek pointert kell átadni, ezért kell elé az & jel. De mivel az előbb létrehoztunk egy PORTD nevű változót úgy, hogy annak a pointere a 0x08-ra mutat (Ez a 16F877-nek a PORTD-jének a címe, adatlapban ott van benne) így abban a változóban bármilyen változás egyből kikerül magára a PORT-ra is.

Az egész kész program letölthető innen: ccs.zip

Most nézzük ugyan ezt HI-TECH PICC-ben...


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