Hilfe PIC 18F2550

Gast #1260441
Lesenswert?

Hallo @alle.

Ich habe lange Datenblätter über den PIC für ein Schulprojekt gelesen, 
doch nun brauche ich langsam eine Hilfestellung.

und Zwar: Ich möchte ihn in C programmieren.

Nun habe ich 3 Fragen:

1. Wie spreche ich die Adressen an! z.B. RA4, RB5

2. Über die beiden Clockeingänge speise ich einen Takt von 20 MHz ein. 
Wie komme ich über einen Timer(für eine Schleife) an den Takt. Wie 
konfiguriere ich diesen!?

3. Was erkennt der PIC als Highpegel am Eingang an? Reichen + 2,5 V für 
H und 0 V für 0 L? Muss man dies im PIC konfigurieren? (habe da das 
Datenblatt nicht so recht verstanden)

Tut mir Leid, solche Anfängerfragen zu stellen. Aber ich kam wirklich 
nicht weiter und drehe mich auf der Stelle beim Weiterkommen!?

Vielen Dank für mögliche Hilfe.

Einen schönen Abend noch
(Firma: Promaxx.net) #1260612
Lesenswert?

PicNeuling schrieb:
> 1. Wie spreche ich die Adressen an! z.B. RA4, RB5

Ich hatte da mal "PORTBbits.RB0", aber das findest Du in der Doku zu dem 
Compiler oder einfacher in den Demo-Progs, die dabei sind.


> 2. Über die beiden Clockeingänge speise ich einen Takt von 20 MHz ein.
> Wie komme ich über einen Timer(für eine Schleife) an den Takt. Wie
> konfiguriere ich diesen!?

Hä ?
Du versorgst den PIC mit festen 20MHz und willst mittels einem Timer 
diesen Takt bestimmen ???
Das ist etwas für kleine Cracks, die den internen 32kHz-Oszillator zu 
nutzen wissen (WDT)...


> 3. Was erkennt der PIC als Highpegel am Eingang an? Reichen + 2,5 V für
> H und 0 V für 0 L? Muss man dies im PIC konfigurieren? (habe da das
> Datenblatt nicht so recht verstanden)

Das Datenblatt wird etwas zu "V H min" sagen und das wird eher bei 4V 
liegen. CMOS-Eingänge sind so bei 80% der Versorgungsspannung 
angesiedelt. Darunter muß es nicht sauber erkannt werden.
Konfigurieren kann man da nichts.
#1261023
Lesenswert?

sieh dir eine beliebige beispiel-datei deines compilers an (MPLAB & C18 
?). viele deiner fragen werden dort gleich behandelt. anhand deiner 
fragen, empfehle ich dir ein kleines tutorial durchzumachen, damit 
hättest du mind. 2/3 deiner fragen abgehakt (viele hier werden dir nicht 
ein neues, persönliches tutorial schreiben wollen). schau mal auf 
sprut.de (infos zur hardware von PICs) und fernando-heitor.de -> WIKI 
(PIC forum & PIC tutorials) an.
Gast #1268772
Lesenswert?

Erstmla danke für die Antworten. Habe das bei sprut durchgemacht und hat 
auch einigermaßen geklappt. Doch dazu hätte ichwieder Fragen:

1. #pragma config OSC = HS   //CPU=20 MHz
die Zeile mag er nicht kompilieren und ich hba keine AHnung wieso.

2.
    PORTA = 0x00;  //alle Ports  und Lats auf Null setzen
  PORTB = 0x00;
  PORTC = 0x00;
  LATA = 0x00;
   LATB = 0x00;
   LATC = 0x00;

  TRISB = 0xFF;  / Alle Port B sind Eingänge
  TRISA = 0x00; // Alle Port A sind Ausgängen

  RA1 = 0x01;   //AN
  RA2 = 0x00;   // AUS
  RA3 = 0x01;   // AN
  RA4 = 0x00;   // AUS

Stimmt dieses Codefragment? Denn meine Ausgänge werden nicht gesetzt, 
sondern überall liegen so ca. 2,5 an und ich verstehe nicht wieso.

Kann mir da vielleicht jemand einen Tipp geben?

Mfg

Pascal
Angehängte Dateien:
#1268836
Lesenswert?

PicNeuling schrieb:
> Erstmla danke für die Antworten. Habe das bei sprut durchgemacht und hat
> auch einigermaßen geklappt. Doch dazu hätte ichwieder Fragen:
>
> 1. #pragma config OSC = HS   //CPU=20 MHz
> die Zeile mag er nicht kompilieren und ich hba keine AHnung wieso.

Und gibt der Compiler keine Fehlermeldung aus?
Versuch's mal mit FOSC statt OSC.


>
> 2.
>     PORTA = 0x00;  //alle Ports  und Lats auf Null setzen
>   PORTB = 0x00;
>   PORTC = 0x00;
>   LATA = 0x00;
>    LATB = 0x00;
>    LATC = 0x00;
Die LATx auf 0 setzen reicht eigentlich.


>   TRISB = 0xFF;  / Alle Port B sind Eingänge
>   TRISA = 0x00; // Alle Port A sind Ausgängen
>
>   RA1 = 0x01;   //AN
>   RA2 = 0x00;   // AUS
>   RA3 = 0x01;   // AN
>   RA4 = 0x00;   // AUS
>
> Stimmt dieses Codefragment? Denn meine Ausgänge werden nicht gesetzt,
> sondern überall liegen so ca. 2,5 an und ich verstehe nicht wieso.

Sieht gut aus. Was sind 2,5?


> Kann mir da vielleicht jemand einen Tipp geben?

Bei vielen PICs ist auf PORTA auch der A/D-Wandler und dieser bei Reset 
aktiviert. In diesem Fall müssen die analogen Eingänge deaktiviert 
werden.
http://www.sprut.de/electronic/pic/fallen/fallen.html#analog
Gast #1269214
Lesenswert?

HI

vielen Dank für die Antowrt.

Das mit den Analog müsst ich mal ausprobrieren. Doch wie ist der Code in 
C? Das ist ja Assembler.

Mit 2,5 meine ich 2,5 V.

Auch wenn ich alle Ausgänge auf Null setze, hab ich einen Pegl vonb 2,5 
V anliegen.  Ist dies normal oder etwas falsch eingstellt?
Wenn hierbei Low 2,5 und High 5 V, würde ich das mit einem 
Spannungsteiler lösen.

MfG

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren