PIC10F200 Timerabfrage
Mittwoch, 23. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Programmiersprache Assembler  |  Timer (Assembler)  |  PIC10F200 Timerabfrage « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: PIC10F200 Timerabfrage  (Gelesen 1339 mal)
 
Stephan
Jr. Member
**
Offline Offline

Beiträge: 88


Profil anzeigen
« am: Februar 20, 2011, 14:57:39 »

Ich arbeite zum ersten Mal mit einem PIC10F200 und stehe jetzt vor der Frage, wie ich den Überlauf des Timer0 abfrage. Das Flag TMR0IF wie bei den anderen PICs gibt es ja nicht und eine reine Abfrage auf Null bringt auch nichts, da der Timer0, wenn er am Systemtakt hängt, ja u.U. inzwischen Werte über null haben kann.
Gespeichert
Edson
Globaler Moderator
Sr. Member
*****
Offline Offline

Beiträge: 373



Profil anzeigen
« Antworten #1 am: Februar 21, 2011, 22:31:30 »

Ich arbeite zum ersten Mal mit einem PIC10F200 und stehe jetzt vor der Frage, wie ich den Überlauf des Timer0 abfrage.

Auch wenn es jetzt seltsam klingen mag, betrachte ihn als 7Bit-Timer und frage das MSB ab oder verwende den Prescaler. Die PICs aus der 10er Familie sind eben nur mit dem Allernötigsten ausgestattet, eine andere Möglichkeit sehe ich da im Moment nicht.
 
« Letzte Änderung: Februar 21, 2011, 22:34:37 von Edson » Gespeichert
Stephan
Jr. Member
**
Offline Offline

Beiträge: 88


Profil anzeigen
« Antworten #2 am: Februar 22, 2011, 12:49:20 »

Die Idee bit den 7 bit ist nicht schlecht, kann man mit dem Prescaler kombinieren.

Ich mache das jetzt so, dass ich den Timer0 nicht mit einem Startwert lade, sondern mit 0 (null) und dann auf den gewünschten Endwert abfrage, indem ich den Timerwert vom Endwert subtrahiere und den Carry abfrage. Braucht halt leider einen Befehl mehr. Eine reine Zeitschleife würde also folgendermassen aussehen:

Code:
   clrf    TMR0         ; Timer 0 rücksetzen
loop
    movfw   TMR0
    subwf   endwert, w   ; Endwert erreicht/überschritten ?
    bc      loop
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.036 Sekunden mit 19 Zugriffen.
 
Top! Top!