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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.