Forum: Mikrocontroller und Digitale Elektronik PWM RGB-LED umschalten


von Dextor (Gast)


Angehängte Dateien:

Lesenswert?

Hi Leute, ich brauch mal eure hilfe mit einer veränderten PWM schaltung 
von mir... ich möchte die farben der rgb led an portb mit einem taster 
durschschalten, allerdings funktioniert das nicht so ganz wie ich will, 
anscheinend schaltet das LEDBIT von alleine einfach so durch, ohne dass 
der taster gedrückt wurde...

ich hab leider noch nicht so den planwas asm angeht... wäre super wenn 
mir jemand sagen könnte was ich falsch gemacht habe


Code (siehe Anhang)

von STK500-Besitzer (Gast)


Lesenswert?

>;############################# mein part den ich hinzugefügt habe 
>#############################

Fällt dir irgendein Unterschied zwischen deinem "Part" und den anderen 
Sachen im Programm auf?

von Dextor (Gast)


Lesenswert?

nein,  wie gesagt, ich habe nicht so die ahnung von asm, sonst würde ich 
ja wohl kaum hier im forum posten, wenn ich keine hilfe bräuchte :)

von STK500-Besitzer (Gast)


Lesenswert?

>nein,  wie gesagt, ich habe nicht so die ahnung von asm, sonst würde ich
>ja wohl kaum hier im forum posten, wenn ich keine hilfe bräuchte :)

Du hast an Kommentaren gespart.
Ich habe (wie andere auch) nicht besonders viel Ahnung von ASM; da 
würden Kommentare schon helfen.
Aber so wie ich deinen Code-Teil verstehe, hast du ein Entprell-Problem, 
indem du den Taster scheinbar nicht entprellst.
Einfach Code anderer Leute zu nehmen, ihn ohne Sinn und Verstand zu 
ändern und dann im Forum nach Hilfe fragen finde ich ziemlich daneben 
(meine persönliche Meinung zu dem Thema).

von Dextor (Gast)


Lesenswert?

super, dass man hier gleich so runter gemacht wird.


den code habe ich genommen weil ich eine vorlage brauchte, im tutorial 
stand das man das beispiel leicht abändern kann auf andere controller, 
desshalb hab ich das genommen... entprellen wollte ich die taster nicht, 
das nach meiner schleife eh ein sehr langes delay kommt, das eig. 
ausreichen sollte damit die leds umschalten.. was sie eig. auch tuen. 
mein problem bezieht sich lediglich auf den  LEDBIT wert, der sich 
komischerweise ändern obwohl der taster NICHT gedrückt ist... also 
besteht das problem bereits vor dem entprellen.. wie auch immer

sorry dass ich so wenig kommentare benutzt habe, ich dachte der code ist 
einfach zu verstehen, sind ja im prinzip nur (if then) codes.


ich hoffe du kannst jetzt hiermit mehr anfangen:


      sbic PIND, 0 ; ist taster 1 gedrückt dann überspringe rjmp ll9
      rjmp ll9

      inc r21 ; erhöhe r21
                cpi r21,3 ;vergleiche r21 mit 3
      breq setnew ;ist r21=3 dann springe zu "setnew"
                rjmp ll8 ; springe zu "ll8"
      setnew:
      ldi r21,0 ; setze den zähler r21 auf 0

      ll8:
                cpi r21,0 ; vergleiche r21 mit 0
                brne led2 ; wenn r21 nicht 0 ist dann springe zu led2
      .set LEDBIT =0  ;das ledbit setzen
      rjmp ll9 ; zum ende des codeblocks springen

      led2:
      cpi r21,1 ;vergleiche r21 mit 1
                brne led3 ;wenn r21 nicht 1 ist dann springe zu led2
      .set LEDBIT =1  ;das ledbit setzen
      rjmp ll9 ;zum ende des codeblocks springen

      led3:
      cpi r21,2 ;vergleiche r21 mit 2
                brne ll9 ;wenn r21 nicht 2 ist dann springe zum ende des 
codeblocks
          .set LEDBIT =2 ;das ledbit setzen


                ll9:

von Dextor (Gast)


Angehängte Dateien:

Lesenswert?

hm, ist blöd formatiert, hier also nochma als textdatei

von Εrnst B. (ernst)


Lesenswert?

Ließ mal den Textblock über dem Eingabeformular beim Posten.

Wenn du deinen Quelltext mit [ avrasm ]-Tags umgibst, wird der gleich 
schön formatiert.

Und wenn du den Sourcecode als Dateianhang mitschickst, gib ihm eine 
vernünfige Extension (.asm), dann kann man den auch schön farbig 
anschauen.

von Dextor (Gast)


Lesenswert?

Ah, danke für die Infos, werd ich nächstes mal machen :)


Hab das Problem übrigens selbst gelöst.

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.