PIC18F45K22 blinkender PORTD

Gast #2567686
Lesenswert?

Ich verwende den Timer0 (PIC18F45K22) um die 8 LED's am PORTD blinken zu 
lassen.

Im nächsten Schritt, wollte ich in der if-Verzweigung einen counter 
platzieren, welcher bis 5 zählt.

Je nach Zählstufe, wollte ich in der while-Schleife weitere 
if-Verzweigungen einbauen und LED's am PORTC leuchten lassen (Zählstufe 
1 --> LED 1, ...). Leider funktioniert das nicht. Es gibt nur ein kurzes 
aufleuchten der LED 0(Bit0).

Was kann der Grund dafür sein?
1
// Ich lerne den Timer0 zu verstehen
2
void main(void)
3
{
4
 int counter=0;
5
 
6
 ANSELD=0x00;
7
 TRISD=0x00;
8
 LATD=0x00;
9

10
 // Konfiguration Timer0
11
 T0CON.TMR0ON=1;
12
 T0CON.T08BIT=0;
13
 T0CON.T0CS=0;
14
 T0CON.T0PS0=0;
15
 T0CON.T0PS1=0;
16
 T0CON.T0PS2=0;
17
 T0CON.PSA=0;
18

19
 // blinkender PORTD
20
 while(1)
21
 {
22
  if(INTCON.TMR0IF==1)
23
  {
24
   LATD=~LATD;
25
   INTCON.TMR0IF=0;
26
  }
27
 }
28
}

Vielen DANK!
#2567710
Lesenswert?

Hi,

ist das dein komplettes Programm? Es fehlt nämlich das Interrupt Vector 
Mapping (High Level, Low Level Interrupt) sowie die Abhandlung der 
Interrupt Service Routine (ISR). Ich gehe mal stillschweigend davon aus 
das du
a) MPLAB benutzt und
b) c18 Compiler installiert hast.
Schau einfach mal im Manual des c18 Compilers und im Ordner des 
Compilers auf deiner Festplatte, da müsste sogar ein Beispiel vorhanden 
sein. Welchen Programmer nutzt du?

Gruß
Gast #2567869
Lesenswert?

Do Ma schrieb:
> Ich habe keine Ahnung wie ich weiter vorgehen soll!?

Für den Anfang:

- Pic Typ testen
- Fusebits checken

- Programm kommentieren das nicht jeder die die Registerbits einzeln 
nachschlagen muss

Port D als Zähler inkrementieren (wirkt oft wunder wenn das ganze zu 
schnell läuft)

Markus Fab. schrieb:
> Es fehlt nämlich das Interrupt Vector Mapping

Er pollt, da braucht es keinen Vector.
Gast #2567961
Lesenswert?

Interrupt-Flag pollen???

Der Mann ist genial! Auf diese Idee ist bisher noch niemand gekommen.

Bloß nicht erklären, wie wir Langweiler die Sache anpacken. Ich will 
mehr von diesen undenkbaren Inspirationen sehen.

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