Led blinker lassen mit Timer0

Gast #1531592
Lesenswert?

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 
warum es nicht funktioniert (wär hätte es gedacht :-). Die Led leuchtet 
nur, und mit den delay Zeiten habe ich auch schon rumprobiert.
1
#include <pic.h>
2

3
void delay10( char n);
4

5
void main( void)
6
{
7
  TRISC = 0;
8

9
  while(1)
10
    {
11
        PORTC = 1;
12
        delay10(200);
13
        PORTC = 0;
14
        delay10(200);
15
    }
16
}
17

18
void delay10( char n)
19
/*
20
  Delays a multiple of 10 milliseconds using the TMR0 timer
21
  Clock : 4 MHz   => period T = 0.25 microseconds
22
  1 IS = 1 Instruction Cycle = 1 microsecond
23
  error: 0.16 percent
24
*/
25
{
26
    char i;
27

28
    OPTION = 7;
29
    do  {
30
        i = TMR0 + 39; /* 256 microsec * 39 = 10 ms */
31
        while ( i != TMR0)
32
            ;
33
    } while ( --n > 0);
34
}

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

Oscillator Internal RC Clockout
Watchdog Timer OFF
Power Up Timer OFF
Master Clear Enable External
Code Prodect Off
Data EE Read Protect BOD Enabled, SBOREN Disabled
Internal External Switch Over MOde Enabled
Monitor Clock Fail-safe

bedanke mich schon mal im voraus

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren