Forum: Mikrocontroller und Digitale Elektronik frequenzteiler 32768khz uhr


von thomas (Gast)


Lesenswert?

hallo, ich habe ein problem ,
ich arbeite mit dem pic und möchte ich eine Zeituhr realisieren ,

: Zeituhr über Timer 1 interrupt , Sekunde und die Variablen
// Sekunde, Minute und Stunde werden neu berechnet und an der
LCD-Anzeige ausgegeben.
habe ich den Quarz für den Timer 1 32768khz

 timer1 zählt bis 65536 dann löst ein interrup aus
ich habe ein counter varieble definiert die sich höch inkrementiert wenn
ein interrupt ausgelöst wird wie unten im programmteil zu sehen ist
mein problem ist , wie oft soll dies interrupt stattfinden damit ich
eine sekunde habe
unten habe ich dieses wert mit 125 initialisiert was nicht stimmt , kann
mir jemand klären wie ich dies rechne ?
ich habe versucht so zu finden
1/32768khz = 0.03051*10E-6 das ist danndie periode für oszi
timer zählt bis 65536 dann löst einen interrupt dann ist die periode
bis einer interrupt stattfinden 65536*0.03051*10E-6 =0.002 also muss
500mal interrupt passieren damit ich 1 sekunde habe oder ?
also counter==500 muss sein oder
void high_prior_InterruptHandler(void)
{
  // Timer 1 Interrupt-Service Routine
counter++;

if(counter==125)
{
counter=0;
Sekunde++;
}

if(Sekunde==60)
{
Sekunde==0;
Minute++;
}

if(Minute==60)
{
Stunde++;
Minute=0;
}

if(Stunde==24)
{
Stunde=0;

}

}

von Severino R. (severino)


Lesenswert?


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.