Forum: Mikrocontroller und Digitale Elektronik Nerdkits LED-Heart - Duty-Cycle wie in ASM lösen?


von Marcel P. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Forum,


ich lese schon seit langer Zeit regelmäßig mit, und möchte mich erstmal
bei allen Bedanken, die hier vielen Leuten mit ihrem teilweise sehr 
fundiertem Wissen helfen.

Nun bin ich aber auf ein Problem gestoßen, das in mir eine Art 
Denk-Sperre auslöst.

Im Anhang befindet sich der Quelltext vom LED-Herz mit LCD von Nerdkits.
(Link: http://www.nerdkits.com/videos/ledheart/ )
Die angewandte Funktion zur Einstellung der Helligkeit für jede LED
ist für mich in C absolut verständlich.

Das genannte Problem ist nun:
Wie kann ich sowas in ASM/Assembler realisieren?

Hardware-Technisch soll das ganze am Ende auf einem AtMega8 oder 
AtTiny2313 laufen - Anfangs mit weniger LED's.

Ich habe schon an eine Art Tabelle im SRAM gedacht mit 16 
Helligkeits-Stufen (1 Nibble), nur wie kann ich die dann korrekt 
ansprechen, eintragen (bei Spannungsverlust, auslesen?

Ich stehe irgendwie zur Zeit voll auf dem Schlauch, was diese Umsetzung 
von C auf Assembler angeht. - Andere Programme habe Problemlos 
hingekriegt.

Vielen Dank schonmal für eure Hilfe.

Gruß,
Marcel

von M. P. (phpmysqlfreak)


Lesenswert?

-Nachtrag-

Erstmal meinen Account zur Identifizierung wieder aktualisiert.

von Sascha W. (sascha_w)


Lesenswert?

Marcel P. schrieb:
> Ich habe schon an eine Art Tabelle im SRAM gedacht mit 16
> Helligkeits-Stufen (1 Nibble), nur wie kann ich die dann korrekt
> ansprechen, eintragen (bei Spannungsverlust, auslesen?
eine Tabelle mit festen Daten legt man in den Flashspeicher mit
.db   aa,bb,cc,....
ausgelesen werden die Daten mit lpm rx,Z in Z ist die Adresse im Flash 
in rx landet der Wert

Sascha

von M. P. (phpmysqlfreak)


Lesenswert?

Sascha Weber schrieb:
> Marcel P. schrieb:
>> Ich habe schon an eine Art Tabelle im SRAM gedacht mit 16
>> Helligkeits-Stufen (1 Nibble), nur wie kann ich die dann korrekt
>> ansprechen, eintragen (bei Spannungsverlust, auslesen?
> eine Tabelle mit festen Daten legt man in den Flashspeicher mit
> .db   aa,bb,cc,....
> ausgelesen werden die Daten mit lpm rx,Z in Z ist die Adresse im Flash
> in rx landet der Wert
>
> Sascha

Hallo Sascha,

.db-Direktiven habe ich bereits für meinen 3x3x3 LED-Cube genutzt.
Dort habe ich aber lediglich den Zustand (Ein/Aus) für die LEDs 
gespeichert.

Mein einziges Problem ist jedoch die Zuordnung der 
Helligkeitsinformation zu den einzelnen LEDs. In C ist das ja schnell 
mit einem Array gemacht (siehe betr. C-Quelltext) - nur beim Übersetzen 
in Assembler habe ich Probleme.

Tut mir leid, wenn ich mich in meinem ersten Beitrag nicht korrekt bzw. 
konkret genug ausgedrückt habe.

Gruß, Marcel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.