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!