Forum: Mikrocontroller und Digitale Elektronik 18F2550 Verzögerung


von Twinturbon (Gast)


Lesenswert?

Hallo liebe Gemeinde,

ich bräuchte Hilfe mit meinem PIC µC 18F2550! Wie errechne ich genau die 
Verzögerungsdauer bei dem Befehl : Delay10KTCYx(255);

der µC ist auf den internen Takt eingestllt mit den config bits:

INTOSC:USB-HS


vielen dank im Vorraus

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

ein Berechnungsbeispiel mit erklärung der Funktion findest du auf dieser 
Seite:
http://www.sprut.de/electronic/pic/8bit/18f/programm/blinkled_c_242/blink_c_242.htm
irgendwo in der Mitte...

Was die Fuses bedeuten steht im Datenblatt unter Punt 2.0, wobei deine 
Einstellung etwas Tricky ist, deshalb will ich mal nicht so sein.
Diese Fuse bedeutet der Befehlstakt wird vom internen Oszillator 
erzeugt, der USB Takt mithilfe eines externen Quarzes. Der interene 
Oszllator kann mit 8 Mhz oder 31 Khz laufen, je nach Einstellung. Wobei 
für USB Funktionen wohl nur eine der beiden Einstellungen in Frage 
kommt.
Für die Routine ist der Befehlstakt maßgeblich.

Den Rest solltest du dann selber rausfinden können.

Gruß
Carsten

von Twinturbon (Gast)


Lesenswert?

Danke Carsten für die superschnelle Antwort,

Die berechnung ist somit klar! Aber wie stellt man denn jetzt den 
Internen Takt ein. Das ist mir irgendwie noch nicht geläufig.
Mit wieviel Mhz bzw. Khz läuft den der µC mit der einstellung 
INTOSC:USB-HS?

Gruß

von tt2t (Gast)


Lesenswert?

> Mit wieviel Mhz bzw. Khz läuft den der µC mit der einstellung
> INTOSC:USB-HS?

Das sagt noch nichts über die Taktfrequenz aus, nur dass der primary 
oscillator im HS-Modus für USB verwendet wird.

Die interne Taktfrequenz stellt Du im Register OSCCON (ggf. in 
Kombination mit OSCTUNE) mit den Bits IRFCx und SCSx ein. Sie Datenblatt 
S.24 und 33

von Twinturbon (Gast)


Lesenswert?

Obwohl ich dazu keine Bits gesetzt habe funktiniert der µC ja trotzdem 
mit irgndwelcher Frequenz. Könnte auch default werte sein, richtig?  Wie 
stelle ich den die Bits im register für die Taktfrequenz.

wäre diese als Beispiel richtig?:

pragma config
OSCTUNE = 0x8F    // Binär--> 10001111   Maximale frequenz


oder wie soll es denn aussehen? Könnt ihr mir einen Beispielconfig 
angeben?

von tt2t (Gast)


Lesenswert?

OSCTUNE dient nur der Feineinstellung. OSCCON ist erst mal Dein Revier, 
default ist dort 1 MHz

LIES ERST MAL DAS DATENBLATT !!!

von Twinturbon (Gast)


Lesenswert?

Hi Danke für die Antwort,

ich wollte ja erstmal wissen wie man die configuration einstellt.

Ist es jetzt so als Beispiel richtig?:

#pragma config
OSCCON= 0xFF // Binär -->11111111   8MHz
OSCTUNE = 0x80 // Binär-->10000000


oder kann mir einer eine korrekte konfiguration als Beispiel angeben!

Gruß

von Twinturbon (Gast)


Lesenswert?

kann mir dem keiner helfen! Ich komme mit den Datenblättern nicht klar. 
Ich benutze C18 Compiler mit MPLAB! Ich weiss nicht wie ich die 
Configuration bits setzen kann!

von heidi (Gast)


Lesenswert?

frag mal da: http://www.fernando-heitor.de/, da sitzen nur PIC-Fans

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.