16 Kanal PWM LED-Fader

OP #1140132
Lesenswert?

Hier mal eine 16-Kanal PWM speziell für LEDs (logarithmische Kennlinie).

Target ist ein ATtiny24, der steuert 2*TPIC6B595, damit man mehr Power 
hat. Damit der Interrupt schön schnell ist, muß man das USI nehmen.

Erstmal ein einfaches Demo, die LEDs blenden nur ein und aus.


Peter
Angehängte Dateien:
OP #1142690
Lesenswert?

egberto wrote:
> Kannst du den Teil mit dem USI noch mal etwas genauer beschreiben??

Ich machs exakt so, wie im Datenblatt beschrieben, Seite 119/120, 
Abschnitt: "14.3.2 SPI Master Operation Example".

Sieht im Listing so aus:
1
  USIDR = ptr[PWM_STEPS];               // upper 8 LEDs
2
 184:   86 89           ldd     r24, Z+22       ; 0x16
3
 186:   8f b9           out     0x0f, r24       ; 15
4
  pulse_SCK();
5
 188:   91 e1           ldi     r25, 0x11       ; 17
6
 18a:   9d b9           out     0x0d, r25       ; 13
7
 18c:   83 e1           ldi     r24, 0x13       ; 19
8
 18e:   8d b9           out     0x0d, r24       ; 13
9
  pulse_SCK();
10
 190:   9d b9           out     0x0d, r25       ; 13
11
 192:   8d b9           out     0x0d, r24       ; 13
12
  pulse_SCK();
13
 194:   9d b9           out     0x0d, r25       ; 13
14
 196:   8d b9           out     0x0d, r24       ; 13
15
  pulse_SCK();
16
 198:   9d b9           out     0x0d, r25       ; 13
17
 19a:   8d b9           out     0x0d, r24       ; 13
18
  pulse_SCK();
19
 19c:   9d b9           out     0x0d, r25       ; 13
20
 19e:   8d b9           out     0x0d, r24       ; 13
21
  pulse_SCK();
22
 1a0:   9d b9           out     0x0d, r25       ; 13
23
 1a2:   8d b9           out     0x0d, r24       ; 13
24
  pulse_SCK();
25
 1a4:   9d b9           out     0x0d, r25       ; 13
26
 1a6:   8d b9           out     0x0d, r24       ; 13
27
  pulse_SCK();
28
 1a8:   9d b9           out     0x0d, r25       ; 13
29
 1aa:   8d b9           out     0x0d, r24       ; 13


Peter

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