Forum: Mikrocontroller und Digitale Elektronik LED ohne Programm leuchten lassen


von Youngheart (Gast)


Lesenswert?

Hallo leute,

ich hab eine LED an einem Atmega8 angeschlossen,die funktioniert 
einwandfrei mit dem testprogramm.

nun will ich dass die LED im standard zustand leuchtet,solang man das 
board an Strom anschließt.

1.wenn kein programm aufm MC drauf ist soll sie leutchen.
2.wenn ein programm drauf ist soll sie das machen,was aufm programm ist.

geht sowas überhaupt?wenn ja wie?

vielen dank im voraus.

von Michael H. (michael_h45)


Lesenswert?

Wenn kein Programm ausgeführt wird, ist der Pin hochohmig. Das kann man 
mit ein bisschen Hirnschmalz detektieren.

von Youngheart (Gast)


Lesenswert?

sry,ich bin neu aufm gebiet :)

soll ich einfach eine große widerstand  benutzen?

von LED-Typ (Gast)


Lesenswert?

Am einfachsten machst du es so:
1
            ____R1        R2 _______     LED
2
[+5V]------|____|-----+-----|_______|----|>|---[GND]
3
                      |
4
                      |
5
                      |
6
                      V PIN des Atmega
R1 und R2 sollten dann jeweils Widerstände mit etwa 500 Ohm sein.

Definierst du den Pin als Ausgang und schaltest ihn low, dann fließt der 
Strom in den Mikrochip. Definierst du den Pin als Tristate, fließt der 
Strom durch die LED.

Ich würde dann folgendermaßen vorgehen:
PORT-Bit des Pins dauerhaft auf low setzen, und da bleibt es!
Geschaltet wird dann folgendermaßen:
DDR des Pins = 1 (Ausgang): LED an
DDR des Pins = 0 (Eingang): LED aus

Du kannst den Widerstand nach dem Pin auch weglassen. Dann musst du aber 
darauf achten, NIEMALS den Pin als Ausgang, High zu betreiben. Sonst 
zerstörst du irgendein Bauteil. (Sonst betreibst du die LED ohne 
Vorwiderstand, die Suchmaschine deines Vertrauens liefert nähere 
Details)

von Lastdream (Gast)


Lesenswert?

sry aber,ich will dass die LED ohne programm leuchtet,ohne irgendwelche 
PINs oder Ports auf low oder high zu stellen.

aber wenn ein programm aufm MC drauf ist,dann soll sie das machen was 
das programm will.

von Karl H. (kbuchegg)


Lesenswert?

Die ganze Aufgabenstellung ist bescheuert.

Denn den Zustand 'kein Programm auf dem MC' gibt es nicht.
Ein µC arbeitet immer ein Programm ab sobald er am Strom hängt.
Im Defaultzustand macht das Programm nichts vernünftiges, aber sobald du 
das erste mal etwas in den µC gebrannt hast, dann ist da ein Programm 
drinnen.

von Hobbyelektroniker (Gast)


Lesenswert?

Guck dir ma den post von LED-Typ genau an, wenn du nichts merkst lasses 
bleiben ;) die LED brennt wenn der PIN weder als ausgang noch als 
eingang geschaltet ist,

Youngheart schrieb:
> 2.wenn ein programm drauf ist soll sie das machen,was aufm programm ist.

darum schreibt er dir eine empfehlung wie ers machen würde

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Man könnte sich eine Aufgabenstellung ausdenken...

"Eine (Fehler)-LED soll leuchten, wenn sich der AVR im RESET (=> ISP, 
Brownout oder Watchdog oder falsche Firmware) befindet."

Technisch geht es darum, die LED so anzuschliessen, dass ein Pin im 
Tristate die LED leuchten lässt und bei laufendem AVR die Firmware 
diesen Pin so schaltet, dass die LED verlischt.

Die Lösung von LED-Typ ist IMHO dafür geeignet.

von Sven H. (dsb_sven)


Angehängte Dateien:

Lesenswert?

In etwas sowas?

So lange der Pin nicht beschaltet ist ist die LED an. Um sie aus zu 
machen musst du den Pin als Ausgang und auf High stellen.

von Sven H. (dsb_sven)


Lesenswert?

Vielleicht noch nen großen R von der Transistorbasis nach GND.

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.