PIC 16F887 und das mysteriöse System Clock Select Bit (SCS)

Ich verwende einen PIC 16F887 und möchte den internen Oszillator HFINTOSC verwenden. Um dies zu erreichen, setze ich die IRCF 2:0-Bits auf 110 (4 MHz Prescaler) und die FOSC 2:0-Konfigurationsbits auf INTOSC.

Jetzt sollte ich etwas tun, was ich wirklich nicht verstehe: Laut Datenblatt (siehe Seite 61) sollte ich das Bit SCS setzen, um die interne Taktquelle zu verwenden (siehe den endgültigen MUX auf dem Diagramm auf Seite 61). Da sich das SCS-Bit im OSCON-Register befindet, sollte ich es programmgesteuert auf meinen Code setzen, aber der Code selbst benötigt eine Taktquelle, um ausgeführt zu werden! Wie kann ich einen Code ausführen, um ein Bit für die Verwendung einer Uhr zu setzen, wenn der Code überhaupt eine Uhrquelle benötigt?????

Ich zitiere das Datenblatt für das SCS-Bit:

4.6.1 SYSTEM CLOCK SELECT (SCS) BIT Das System Clock Select (SCS) Bit des OSCCON-Registers wählt die Systemtaktquelle aus, die für die CPU und Peripheriegeräte verwendet wird. • Wenn das SCS-Bit des OSCCON-Registers = 0 ist, wird die Systemtaktquelle durch die Konfiguration der FOSC<2:0>-Bits im Konfigurationswortregister 1 (CONFIG1) bestimmt. • Wenn das SCS-Bit des OSCCON-Registers = 1 ist, wird die Systemtaktquelle durch die interne Oszillatorfrequenz ausgewählt, die durch die IRCF<2:0>-Bits des OSCCON-Registers ausgewählt wird. Nach einem Reset ist das SCS-Bit des OSCCON-Registers immer gelöscht.

Antworten (1)

Sie müssen das SCS-Bit nicht mitschreiben, wenn Sie bereits den internen Oszillator in den Konfigurationsbits ausgewählt haben.

Bit 0 SCS: Systemuhrauswahlbit

  • 1 = Interner Oszillator wird als Systemtakt verwendet
  • 0 = Taktquelle definiert durch FOSC<2:0> des CONFIG1-Registers

Das SCS-Bit ist standardmäßig 0, so dass der Systemtakt durch die FOSC<2:0>-CONFIG1-Bits ausgewählt wird.

Sie müssen nicht einmal die IRCF<2:0>-Bits setzen, da ihr Reset-Wert 110 = 4 MHz beträgt.

Um die interne Uhr bei 4 MHz auszuwählen, muss ich also im Grunde keines der Register berühren? (ohne Konfigurationswort)
@G_G Das ist meine Interpretation des Datenblatts. Ich habe den PIC16F887 nur mit einem externen Oszillator verwendet.