Forum: Compiler & IDEs LED mit Taster steuern


von Max Kenzie (Gast)


Lesenswert?

Hab das STK500 und den ATmega16.
Eigentlich hab ich net viel vor, aber das bringt mich schon zur
Verzweiflung:
Jeder Taster (PORTD) soll die zugehörige LED (PORTB) steuern und zwar
mit folgendermaßen:
Am Anfang sind alle LED's ausgeschalten. Nach drücken des jeweiligen
Tasters soll die zugehörige LED ihren Zustand ändern, anders gesagt:
War sie aus soll sie ein sein und umgekehrt (wie ein JK FlipFlop im
Toggle Betrieb).


Hat mir jemand als Hilfe die passenden Zeilen parat?

Danke schonmal
Max

von Peter D. (peda)


Lesenswert?

Man könnte ja mal in der Codesammlung stöbern ...


Peter

von Fiffi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Max,

im Anhang liegt ein kleines Beispiel.

Ich habe es nur im AVR-Studio getestet.


Gruß

Fiffi

von Marc Terenz (Gast)


Lesenswert?

schau mal im STK500 Handbuch nach (Seite 52)
dort ist ein Codebeispiel für Taster & Leds

:=)

von Marc Terenz (Gast)


Lesenswert?

@Fiffi: WOOOOOOOOOW

so gehts einfacher (alter gcc stil):

#include <io.h>

int main (void)
{
  unsigned char in = 0;
  outp(0xff, DDRB);
  outp(0x00, DDRD);
  while (in != 0x7f) {
    in = inp(PIND);
    outp (in,PORTB);
  }
  return 0;
}


ABER ER MÖCHTE ES IN ASM WISSEN :=)

Marc

von Marc Terenz (Gast)


Lesenswert?

naja das Entprellen sollte man auch nicht vergessen.

Marc

von OldBug (Gast)


Lesenswert?

> ABER ER MÖCHTE ES IN ASM WISSEN :=)

Hat Dir das Deine Kristallkugel verraten? :))

von Max Kenzie (Gast)


Lesenswert?

Danke, jetzt bin ich weitergekommen.. Wollte es sogar in C wissen :)
Brauchte nur mal den Denkanstoß

Gruß
Max

von Fiffi (Gast)


Lesenswert?

Hallo Marc,

>@Fiffi: WOOOOOOOOOW
>so gehts einfacher (alter gcc stil):

Mein Code erzeugt Flanken, die einen "main-loop" gültig sind.
Das ist gut geeignet um Taster auszuwerten.

Für das Taster/LED Beispiel etwas übertrieben ...



Gruß

Fiffi

von Peter Fleury (Gast)


Angehängte Dateien:

Lesenswert?

Wenn man diese Aufgabe sauber lösen will, kommt man um eine
Entprell-Routine mit Timerinterrupt nicht herum.

Als Anhang ein Beispiel wie man es machen kann.

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.