PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Led blinken lassen mit Timer0



sky2
25.12.2009, 13:43
weihnachtliches Hallo!

Ich versuche seit einigen Tagen eine Led blinken zu lassen. Den Code hab ich aus dem Internet genommen und etwas abgeändert.
Leider steh ich gerade voll auf dem Schlauch. Ich finde nicht heraus wie ich den Timer0 configurieren muss ( siehe im Code "#pragma config TMR0 = 0b11110100").


#include <pic.h>

#pragma config TMR0 = 0b11110100

void delay10( char n);

void main( void)
{
TRISC = 0;

while(1)
{
PORTC = 1;
delay10(200);
PORTC = 0;
delay10(200);
}
}

void delay10( char n)
/*
Delays a multiple of 10 milliseconds using the TMR0 timer
Clock : 4 MHz => period T = 0.25 microseconds
1 IS = 1 Instruction Cycle = 1 microsecond
error: 0.16 percent
*/
{
char i;

OPTION = 7;
do {
i = TMR0 + 39; /* 256 microsec * 39 = 10 ms */
while ( i != TMR0)
;
} while ( --n > 0);
}

Die configurations Bits vom PIC habe ich direkt in MPLAB eingestellt, ach ja ich programiere mit dem HI-Tech Compiler.

Bei diesen Bits habe ich auf "Internal RC Clockout" gestellt und den Watch-Dogtimer ausgeschalten.

bedanke mich schon mal im voraus :D

sky2
25.12.2009, 15:13
Ich hab da so wie es aussieht einiges verdreht 8-[ .
Die einstellungen für den Timer0 muss man nur unten machen, glaub ich.
Naja die Led leuchtet zwar, aber von blinken ist nichts zu sehen. Ich hab auch an den delay Zeiten herumgebastelt aber da tut sich nichts...

sky2
25.12.2009, 18:33
Es funktioniert nun "schäm". Ich musste die Configurations Bits nicht im MPLAB sondern in PICKit2 schreiben.

Der Beitrag kann sonst ohne weiteres gelöst werden.