Forum: Mikrocontroller und Digitale Elektronik anfängerfrage zu ports bei einem µC (MC68HC12)


von Stephan Müller (Gast)


Angehängte Dateien:

Lesenswert?

hallo..

ich fang jetz gerade mich mit dem 68HC12 auseinanderzusetzen..
meine arbeit besteht darin den HC12 über den ISA-Bus im PC anzusteuern,
aber das erst später.. zunächst mal eine allgemeine frage beim ansteuern
von externen verbrauchern mit einem controller:
ich habe mal ein beispiel gesehen, da wurden 8 LEDs mit einem HC12
controller über einen ausgangsport angesteuert, nur das seltsame war,
die ausgangsbits waren low aktiv, d.h. die led hat geleuchtet wenn auf
diesem bit eine logisch 0 anlag.
wie funktioniert das denn eigentlich, der strom fliesst ja aus dem
kontroller raus und nicht rein oder ?
wenn ich ein ausgangsbit auf 1 setze, dann liegen doch lediglich 5 V
an
oder? wie ich das extern verschalte bleibt dem anwender überlassen oder
?

nun die wichtigste frage:
wenn ich jetzt LEDs z.B. ansteuern möchte, wer liefert denn dann die
Leistung für die LEDs ?? sind das die 5 V die am ausgangsport vom
Controller anliegen ? das würde aber bedeuten dass der Controller die
Power für die LEDs hergibt..

nach meinem momentanem denkschema müsste so eine verschaltung aus dem
bild im anhang funktionieren...
oder doch nicht ?

wäre für kurze erläuterung dankbar

mfg

von Profi (Gast)


Lesenswert?

De andere Möglichkeit ist

Vcc  Led  R  PortPin

der Strom fließt von Vcc in den Proc hinein auf dessen Gnd (technische
Stromrichtung von + nach -).

Liegt daran, dass manche Pins stärken (bei open Collector (oC):
überhaupt nur) nach Gnd als nach Vcc ziehen können).

von Stephan Müller (Gast)


Lesenswert?

aha..
das erklärt jetzt so einiges aus dem einen beispiel mit den 8 leds.
genau so haben die es auch verschaltet, alle 8 leds auf gemeinsames
Vcc.
verstehe aber immer noch nicht warum ich die pins dann auf 0 setzen
muss damit die led leuchtet... ?

nun würde meine variante gar nicht funktionieren ?

mfg

von Uwe (Gast)


Lesenswert?

Hi!
Vcc = 5V, logisch 1 = 5V, logisch 0 = 0V und nun überlege mal.

MFG Uwe

von Micha (Gast)


Lesenswert?

Also, nochmal von vorne:
Du brauchst eine Spannungsdifferenz um deine LED zum leuchten
zu bringen. Verbindest du verschiedene Spannungspotenziale (also
Vcc=5V über LED an Masse=0V ), hängst also deine LED korrekt gepolt
dazwischen, dann sollte ein Strom fließen -> LED kann leuchten.
(es sei denn LED ist kaputt, oder nur kurz weil Spannungsdifferenz zu
hoch bruzzel)

Demnach gips 2 Möglichkeiten, eine LED an Pin hastenichgesehen
anzuschließen UND zum leuchten zu bekommen.

1.Verbindungsmöglichkeit GND auf LED auf Pin
  Bei Ausgabe von "logisch 1"=5V leuchtet die LED, da
Spannungsdifferenz vorhanden -> Strom kann fließen.

2.Verbindungsmöglichkeit 5V auf LED auf Pin
  Bei Ausgabe von "logisch 0"=0V/GND leuchtet die LED, da
Spannungsdifferenz vorhanden -> Strom kann fließen.


Wenn du bei 1. 0V am Pin ausgibst oder bei 2. 5V am Pin aus-
gibst dann leuchtet die LED logischerweise nicht (s.o.). Den
Widerstand habe ich für dieses Beispiel vernachlässigt,
schaltest du in Reihe irgendwo dazwischen, also z.B.

0V auf LED auf Widerstand auf Pin

Dann weisst du jetzt, ob deine Schaltung funktioniert, bzw.
was du auf deinem Pin ausgeben musst, damit die LED funzt.

Gruß,
Micha

von Stephan Müller (Gast)


Lesenswert?

nun wenn ich auf dem pin auch 5 V anlieg, dann heben sich Vcc und die 5V

ausgangsspg. auf. d.h. ich schalte die led aus, indem ich 5 V
gegenspannung anleg.
verschaltet man ports immer so bei allen controllern ?

finde es etwas gewöhnungsbedürftig mit 0 was anzusteuern.
man denkt halt immer 1 = an, 0 = aus ...

mfg

von Stephan Müller (Gast)


Lesenswert?

oh.. zweiter post war noch nich da... :)
obiges bezieht sich auf Uwe's post

mfg

von Micha (Gast)


Lesenswert?

Vielleicht scanne ich das nächste mal lieber was ein,
anstatt mir die Finger fusselig zu tippen. Hauptsache
bei dir sind alle Klarheiten beseitigt :-)

Gruß,
Micha

von Stephan Müller (Gast)


Lesenswert?

du meinst Unklarheiten :-)

von Stephan Müller (Gast)


Lesenswert?

also ich muss sagen ich bleib bei der variante 1. Ist mir irgendwie
sympatischer :)

von Micha (Gast)


Lesenswert?

Die schwierigen Entscheidungen muss man als Programmierer
selbst treffen :-) So denn,

MFG

von Uwe (Gast)


Lesenswert?

Hi!
Nun, das man gegen GND schaltet hat den einfachen Hintergrund das
Ausgänge meistens mehr Strom gegen GND vertragen als sie liefern
können. Offene Eingänge von angehängten Schaltungen werden auch sehr
oft als High gelesen, was dann bei def. Proz.fatale Auswirkungen haben
kann. Es kommt also immer auf die Anwendung an.

MFG Uwe

von Manfred Glahe (Gast)


Lesenswert?

@Stephan

"also ich muss sagen ich bleib bei der variante 1. Ist mir irgendwie
sympatischer :)"

Ich rate Dir beide Pegel von vorn herein als jeweils aktiv einzusetzen,
denn gerade beim µP ist das unerläßlich. Und wer das früh übt ist später
sicher im Umgang damit.

MfG  Manfred Glahe

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.