Forum: Mikrocontroller und Digitale Elektronik Anfänger braucht Hilfe, Ledsteuerung


von daniel w. (blaxkin)


Angehängte Dateien:

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

von Peter II (Gast)


Lesenswert?

daniel w. schrieb:
> 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

es gibt auch einen Simulator - den braucht man nicht kaufen.

von daniel w. (blaxkin)


Lesenswert?

Ja schon aber wie kann ich mit dem die zeitschleifen umgehen ?
oder muss ich jetzt die 60000 zyklen durchklicken ?

MFG

von Peter II (Gast)


Lesenswert?

setze ein Breakpoint nach der Zeitschleife und lass ich laufen (run)

von daniel w. (blaxkin)


Lesenswert?

wo finde ich run ? bedeutet das er läuft dann durch wie im betrieb ?

von Peter II (Gast)


Lesenswert?

ich habe das avr studio jetzt nich da (auf arbeit) aber es sollte sollte 
für jeden Entwickler in ein paar sek ergründbar sein. Zur not gibt es ja 
auch noch eine hilfe.

von daniel w. (blaxkin)


Lesenswert?

hmm naja eigentlich nicht aber ich habe nur diesen grünen play pfeil 
(continue) und dabei macht er irgendwie nix bis ich alles einzeln 
durchgehe

von daniel w. (blaxkin)


Lesenswert?

g i bt es denn hier echt niemand der mir helfen könnte ?

von hans (Gast)


Lesenswert?


von daniel w. (blaxkin)


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

von Herr M. (herrmueller)


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 
).

von Frank L. (hermastersvoice)


Lesenswert?

oder man wirft die Warteschleife für den Test raus und testet nur die 
sonstigen Funktionen. Man kann auch eine stark verkürzte Schleife für 
den Test einbauen, dann kann man sogar mit Schleife simulieren ohne ewig 
warten zu müssen.

bye

Frank

von daniel w. (blaxkin)


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

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.