Forum: Mikrocontroller und Digitale Elektronik PIC 16F84, Timer0, Prescaler ?


von Andreas S. (Firma: Andreas Stell Funktechnik) (stell-xkom)


Lesenswert?

Wir haben für unseren Azubi ein Experimentier-Board für den PIC 16F84 
angeschafft. Die ersten einfachen Programme funktionieren, aber wir 
haben ein Problem mit dem Timer 0, Beispiel von www.sprut.de

Ich habe unten nur die Initialisierung eingefügt, wir lassen eine LED 
blinken. Das Programm reagiert nicht auf eine Änderung des Vorteilers.

Die LED blinkt immer im gleichen Takt ?


Init
; 250 Hz-Timer-Interrupt einstellen
        bsf     STATUS, RP0     ; auf Bank 1 umschalten
        movlw   B'10000100'     ; internen Takt zählen, Vorteiler zum 
Timer0, 32:1
        movwf   OPTION_REG
        movlw   D'131'          ; 256-125=131 ((1MHz : 32 ): 125 = 250 
Hz)
        bcf     STATUS, RP0     ; auf Bank 0 zurückschalten
        movwf   TMR0
        bsf     INTCON, T0IE    ; Timer0 interrupt erlauben
        bsf     INTCON, GIE     ; Interrupt erlauben

loop    goto    loop            ; eine Endlosschleife

von John B. (johnbauer)


Lesenswert?

Die Initialisierung müsste soweit in Ordnung sein (Interrupt alle 4 ms 
mit 4 MHz Quarz).

In welchem Takt blinkt die LED?
Wie sieht der Rest des Programms aus?

von Andreas S. (Firma: Andreas Stell Funktechnik) (stell-xkom)


Lesenswert?

Hallo John,

wir haben mit dem Scope gemessen, sie blinkt mit einer Frequenz von 250 
Hz. Das Originalprogramm kann ich erst nächste Woche anhängen.

Bei den AVR Controllern habe ich keine Programme. Wir arbeiten jetzt mit 
den PIC's, weil sie für die Prüfung (Elektroniker für Geräte und 
Systeme) verwendet werden, im Moment ist da noch der 'alte' 16F84 im 
Einsatz.

Es wird ein kleiner Konfigurationsfehler sein beim setzen der Register, 
vielleicht sind ein falsches Bit im Konfigurationsword.

Gestartet haben wir mit dem PICkit2 Starter Kit, das ist aber nicht 
geeignet für den 16F84, sondern für die neueren Typen.

Für den 16F84 habe ich dann ein Experimentier-Board K8048 von 
www.Velleman.be bestellt.

Bis nächste Woche
Andreas

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.