Forum: Mikrocontroller und Digitale Elektronik PIC16F627A mit internem Takt betreiben


von Olaf R. (gruser)


Lesenswert?

Hallo zusammen,

ich versuche den PIC16F627A mit dem internen Taktgeber (also ohne ext. 
Beschaltung) zum Laufen bringen - leider ohne Erfolg.

Testweise möchte ich 2 Ausgänge auf "High" setzen. Gibt es noch etwas 
bestimmtes, dass beachtet werden müsste?

Danke schon vorab für Euer Feedback.

Hier auszugsweise der Code (ich verwende den CC5X Compiler):

...
...
...

#pragma config |= 0b.11.1111.0111.0000

// Bit 1,0 :   11-RC, 10-HS,   01-XT, 00-LP
// Bit 2 :   1 - Watchdog Ein,   0 - Watchdog Aus
// Bit 3 :   0- Power up Timer Ein,   1- Power up Timer Aus
// Bit's 13...4 :   0-Leseschutz Ein,   1-Leseschutz Aus



void main(void)
{
OSCF = 0;                       // 37kHz
TRISA = 0b.0011.1111;    // RA6/ RA7 als Ausgang
PORTA = 0;

PORTA.6 = 1 ;      //  Bit 6 von PortA setzen
PORTA.7 = 1 ;      //  Bit 7 von PortA setzen

...
...
...
}

von ich (Gast)


Lesenswert?

Ansich müsste die Config passen, evtl. liegt es auch am Programm, sollte 
bei den "..." noch was anderes stehen.

Probier testweise mal die config: 0b.10.0001.0001.1000

Danach kannst du auch probieren, die Config auf:
0b.10.0001.0001.1001
zu stellen, damit RA6 als ClockOut fungiert. Am besten die LED oder was 
da dran ist abmachen und dann mit nem Oszi messen, ob da die 4MHz 
rauskommen. Hast du keins, kannst du auch n voltmeter nehmen. sollte 
dann so 2,3 oder 2,5 V haben, aber kannst nicht kontrollieren, ob das 
wirklich ein Takt ist. Wenn du da aber 0V oder 5V misst, is da was 
falsch.

von ich (Gast)


Lesenswert?

Oh mist, vergessen.. Häng am besten die *.c Datei komplett an.. und dein 
kommentar " // 37kHz"... Laut DB sind es 48kHz

von Olaf R. (gruser)


Lesenswert?

Vielen Dank,

Dein Tipp hat mich auf die richtige Spur gebracht. Es lag daran dass 
meine Schaltung über Solarzellen (3V) versorgt wird und nicht mit den 
üblichen 5V. Da ein Betrieb bis runter auf 2V möglich ist, habe ich dem 
keine Beachtung geschenkt. Es ist aber so, dass dann der Brown-out Reset 
(Bit Nr. 6 in Konfiguration) kommt, sobald die Betriebsspannung unter 4V 
abfällt.

Setze ich das Bit 6 auf "0" dann klappts.

Besten Dank nochmal!

Olaf

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.