Anfänger braucht Hilfe, Ledsteuerung

OP #2146924
Lesenswert?
• ▲
▼
Hallo ich bin ganz neu im Bereich Microprozessoren und wollte euch 
deshalb um eure Hilfe bitten !

Ich habe zwar in der Schule assembler gelernt aber das ist leider zu 
lange her :(

Also es geht darum ich will über einen Taster eine Led ansteuern und 
zwar wie folgt:

Taster kurz gedrückt led aktiviert sich für 30 sekunden

Tester nochmals gedrückt wieder 30 sekunden

Taster 2 Sekunden gedrückt Led schaltet sich an und bleibt an.

Taster nochmals 2 Sekunden gedrückt Led geht aus und aktiviert wieder 
das mit den 30 Sekunden

Ich habe es versucht zu prgrammieren und kann es aber leider erst 
ausprobieren wenn ich alles zusammen habe, muss mir alles neu kaufen für 
AVR

Könntet ihr vielleicht kurz in das Programm sehen ob das so 
funktionieren kann ?

MFG Daniel
Angehängte Dateien:
OP #2147313
Lesenswert?
• ▲
▼
danke allerdings habe ich es schon gelesen ! unter anderem habe ich auch 
mit diesen tutorial mein programm geschrieben. aber wie gesagt ich bin 
ganz am anfang mit assembler, und ich denke für die meisten von euch war 
es am anfang sicher auch einfacher bzw. hilfreich wenn mal ein profi 
drüber schaut und tipps gibt ob das so gehen kann oder nicht ?


mfg daniel
#2147350
Lesenswert?
• ▲
▼
Leider ist das Programm ohne groeseren Zeitaufwand nicht zu 
durchschauen.
Ein paar Sachen: In der Interruptroutine das Statusregister sichern. In 
der Interruptroutine nicht in eine Endlos-Sleep Schleife springen.
-----
  LEDON:
    sbis PORTB,1 ;Überspringe wenn Led an ist  ?
    cbi PORTB,1 ;schalte led an      ?
    rjmp LEDOFF  ?

  LEDOFF:
    sbi PORTB,1 ; Led ausschalten
    reti ;zurück zu interrupt ?
??? keine Ahnung.
-----

zum AVR Studio:
mit F10/F11 kann man einzelne Befehle durchgehen. Die Zeitschleife kann 
man ueberspringen - Cursor an das Ende setzen und rechte Maustaste und 
entweder RUN TO CURSOR ( Zeitschleife wird abgearbeitet, dauert aber 
auch ne Weile) oder SET NEXT STATEMENT ( Zeitschleife wird uebersprungen 
).
OP #2147986
Lesenswert?
• ▲
▼
Hey danke erstmal für eure Antworten ! MIt ihnen ist mir schon sehr viel 
geholfen :-) wie ich durch euch bemerkt habe stimmt da wohl so einiges 
nicht was mir auch noch nicht ganz klar ist ! Ich werde das Programm mal 
komplett neu aufbauen mit all euren Tipps und werde mich auch nochmal 
mit dem Tutorial was interrupt und Stack betrifft ausseinandersetzen.

ich werde es dann nochmal posten ich hoffe dann sehr vereinfacht !

Mfg Daniel

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.