Forum: Mikrocontroller und Digitale Elektronik Led blinker lassen mit Timer0


von Kilian (Gast)


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

von Kilian (Gast)


Lesenswert?

Es funktioniert nun "schäm". Ich musste die Configurations Bits nicht im 
MPLAB sondern in PICKit2 schreiben.

Hab trotzdem riesen FREUDE.


Der Beitrag kann sonst ohne weiteres gelöst werden.

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.