www.mikrocontroller.net

Forum: Projekte & Code 16 Kanal PWM LED-Fader


Autor: Peter Dannegger (peda)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: egberto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du den Teil mit dem USI noch mal etwas genauer beschreiben??

Danke,

egberto

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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:

  USIDR = ptr[PWM_STEPS];               // upper 8 LEDs
 184:   86 89           ldd     r24, Z+22       ; 0x16
 186:   8f b9           out     0x0f, r24       ; 15
  pulse_SCK();
 188:   91 e1           ldi     r25, 0x11       ; 17
 18a:   9d b9           out     0x0d, r25       ; 13
 18c:   83 e1           ldi     r24, 0x13       ; 19
 18e:   8d b9           out     0x0d, r24       ; 13
  pulse_SCK();
 190:   9d b9           out     0x0d, r25       ; 13
 192:   8d b9           out     0x0d, r24       ; 13
  pulse_SCK();
 194:   9d b9           out     0x0d, r25       ; 13
 196:   8d b9           out     0x0d, r24       ; 13
  pulse_SCK();
 198:   9d b9           out     0x0d, r25       ; 13
 19a:   8d b9           out     0x0d, r24       ; 13
  pulse_SCK();
 19c:   9d b9           out     0x0d, r25       ; 13
 19e:   8d b9           out     0x0d, r24       ; 13
  pulse_SCK();
 1a0:   9d b9           out     0x0d, r25       ; 13
 1a2:   8d b9           out     0x0d, r24       ; 13
  pulse_SCK();
 1a4:   9d b9           out     0x0d, r25       ; 13
 1a6:   8d b9           out     0x0d, r24       ; 13
  pulse_SCK();
 1a8:   9d b9           out     0x0d, r25       ; 13
 1aa:   8d b9           out     0x0d, r24       ; 13



Peter

Autor: egberto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, schon etwas klarer - ich stehe halt mit diesem USI Zeugs ein 
bisschen auf Kriegsfuß.....

Viele Grüße,

egberto

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.