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; } }
thomas wrote: > habe ich den Quarz für den Timer 1 32768khz Sicher, dass der Quarz nicht 32768 Hz hat? Dann wären nämlich: > 1/32768 Hz != 0.03051*10E-6 und Deine Rechnung stimmt nicht mehr.
ich weiss nicht genau da in der Aufgabe bei uns einmal 32768khz und einmal 32768 hz steht , es kann sein ,dass ist ein fehler ,aber wenn es 32768 hz dann jedes interrupt braucht 2 sekunde oder ?
thomas wrote: > ich weiss nicht genau da in der Aufgabe bei uns einmal 32768khz > und einmal 32768 hz steht , es kann sein ,dass ist ein fehler ,aber > wenn es 32768 hz dann jedes interrupt braucht 2 sekunde oder ? Bingo!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.