PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zwei LEDs on/off an einem MC_Pin



edgar
06.06.2006, 18:05
Ich habe hier ein Pin an meinem MC (PIC) mit dem ich zwei Leuchtdioden separat ein und ausschalten kann. Eigentlich braeuchte man zwei Pins dafuer.
Wie habe ich das wohl gemacht?

Wo sind die schlauen Entwickler?

Spaeter stelle ich die Schlaue Schaltung hier rein....jeder darf wissen wie es geht. :D

Ratet mal ihr Tueftler :cool:

guidob
06.06.2006, 20:31
Pin vom PIC ist ein bißchen arg allgemein. D/A-Wandler-Ausgang? Schaltbare interne
Pullups? Irgend soein Trick wirds doch wohl sein?

guidob

neuling
06.06.2006, 20:43
is des ganze Trinär oder Binär?

also is immer nur eine LED an (witzlos) oder können auch beide LED's an/aus und unterschiedlich geschaltet sein?

Winne
06.06.2006, 22:18
@ED

Variante 1:

tristatemode beide aus,
out=L---> LED1 gegen +5V ein,
out=H---> LED2 gegen Masse ein
out= alternierend HLHL beide LED ein

Vriante 2:
input mode und pullup off, beide aus
out=L---> LED1 gegen +5V ein,
out=H---> LED2 gegen Masse ein
out= alternierend HLHL beide LED ein


ps: Für beide Varianten die Flussspannung mus für jeder der beiden LED um 0,7V mittels Standartdiode erhöht werden damit die Gesamtflusspannung der Reihenschaltung der beider LED bei 5V noch nicht erreicht wird. Das macht dann 2*(2,1+0,7)= 5,6V. So können sie bei 5V noch nicht leuchten. Selbstverständlich muss der Strom durch die LED's und am µCPin mit einem entsprechendem Rv am µCPin begrenzt werden.

Peter Dannegger
06.06.2006, 22:36
Ich habe hier ein Pin an meinem MC (PIC) mit dem ich zwei Leuchtdioden separat ein und ausschalten kann. Eigentlich braeuchte man zwei Pins dafuer.
Wie habe ich das wohl gemacht?


Man, der hat aber soooooooonen Bart.

Einfach die VCC so klein machen, daß beide LEDs in Reihe noch nicht leuchten. Dann den Mittelpin an nen Ausgang:



LEDA LEDB Port
aus aus tristate
ein aus 0
aus ein 1
ein ein Rechteck 50%


Peter

holgi
07.06.2006, 01:06
Nehmen wir als Lösung diesen Link http://www.mikrocontroller.net/forum/read-1-362300.html#new

edgar
07.06.2006, 21:02
kann sowas eigentlich jeder '51er ?

es scheinen sich hier nicht viele MC Fans aufzuhalten...in einem anderen Forum war nach 5 min schon...der Bart lang und der Hut alt.
Das interessanteste im/am Forum sind die Reaktionen....

mal schauen ob ich die Loesung hier reinschaufeln kann
ciao!
:)

Rudo
07.06.2006, 21:30
kann sowas eigentlich jeder '51er ?
:)hi,
kannst ja mal ne Umfrage starten:D

statt tristate geht auch input und es gibt auch blaue und gelbe LEDs etc.

Winne
07.06.2006, 21:42
kann sowas eigentlich jeder '51er ?
.....
http://www.progforum.com/attachment.php?attachmentid=1025

:)

heizt bei zwei ausgeschalteten LED mit 38 mW dank Querstrom

Peter Dannegger
07.06.2006, 21:44
kann sowas eigentlich jeder '51er ?


Nein, sondern nur solche, die neben der klassic Open-Drain-Stufe auch auf Push-Pull umschaltbar sind, z.B. Philips LPC900, Silabs 8051.


So gehts natürlich auch.
Mir widerstrebt es aber, ständig Strom zu vergeuden. Bzw. sogar bei an, fließen noch 1,6V/330R=5mA an den LEDs vorbei.

Deshalb nehme ich lieber nen MC bei 2,7V und schalte beide LEDs in Reihe zwischen VCC und GND und nur einen Vorwiderstand von der Mitte zum Portpin.
Dann fließt nur Strom, wenn die LEDs auch an sind.


Peter

Winne
07.06.2006, 21:58
So gehts mit 5V und ohne Zusatzheizung.

Ich schließe mich ansonsten Peter an.

edgar
07.06.2006, 22:12
kann sowas eigentlich jeder '51er ?

diese provokative Frage wollte ich natuerlich von Peter mit NEIN beantwortet haben...was mir geglueckt ist...:D

die '51er kenne ich schon etwas ;)

nun zu den Energiebetrachtungen....der Querstrom kann HEUTE dank HochleistungsLEDs auf zB ein mA heruntergesetzt werden,womit diese Argumente kein Gewicht mehr haben.

Ein Energiebewusstes Voelkchen....
....wenn ich aber mit dem Porsche Cayenne Turbo S 275 km/h schnell fahre dann braucht er 66 L/100Km !
:rolleyes:

...wuensche allen einen schoenen Abend !
Ed

Winne
07.06.2006, 22:20
kann sowas eigentlich jeder '51er ?

diese provokative Frage wollte ich natuerlich von Peter mit NEIN beantwortet haben...was mir geglueckt ist...:D

die '51er kenne ich schon etwas ;)

nun zu den Energiebetrachtungen....der Querstrom kann HEUTE dank HochleistungsLEDs auf zB ein mA heruntergesetzt werden,womit diese Argumente kein Gewicht mehr haben.

Ein Energiebewusstes Voelkchen....
....wenn ich aber mit dem Porsche Cayenne Turbo S 275 km/h schnell fahre dann braucht er 66 L/100Km !
:rolleyes:

...wuensche allen einen schoenen Abend !
Ed

Dann ist aber das Ziel ein anderes und der Tank auch.

Um einen Akku mit Gewalt zu entladen, braucht es weder LED's noch R's und schon gar nicht eines 51'ers. Und schneller leuchten sie (dieLED's) ,dann auch nicht.;)

Winne
07.06.2006, 22:23
kann sowas eigentlich jeder '51er ?

....auf zB ein mA heruntergesetzt werden,womit diese Argumente kein Gewicht mehr haben.


Ed

Gewicht nicht, aber Leistung noch immer:p

Rudo
07.06.2006, 22:27
hi Winne,
bei Deiner Schaltung kann man sich die 'Hilfsidioten' sparen, wenn man blaue LEDs nimmt ;)

Winne
07.06.2006, 22:28
hi Winne,
bei Deiner Schaltung kann man sich die 'Hilfsidioten' sparen, wenn man blaue LEDs nimmt ;)

Jupp

... Wege ...bei ed vorbei.

Peter Dannegger
07.06.2006, 22:43
kann sowas eigentlich jeder '51er ?

diese provokative Frage wollte ich natuerlich von Peter mit NEIN beantwortet haben...was mir geglueckt ist...:D


Das "Nein" sagt ja nur aus, daß nicht "jeder" 8051 es kann.


Und genau das ist es ja gerade, was mir an den 8051 so supi gefällt.

Wenn ein 8051 etwas nicht kann und ich brauche es, dann nehme ich eben einfach den 8051 der es kann.

Und der C-Compiler kann ausnahmslos jeden 8051 programmieren, da die alle kompatibel sind.


Es gibt ja schließlich etwa 60 verschiedene Hersteller mit etwa 700 verschiedenen Typen von 8051-ern.

Dagegen sehen die paar wenigen PIC-Varianten aber steinalt aus.


Peter

Rudo
07.06.2006, 22:57
@Ed,
eigentlich wollte ich noch was zum Thema 8051-Ports schreiben, aber ich habs mir dann doch noch im letzten Moment verkniffen ...

edgar
07.06.2006, 23:03
Alles OK Peter,

Du brauchst die '51 nicht zu verteidigen...ich ''liebe'' sie auch !
Natuerlich sind 700 Typen nicht gerade wenig und ich wollte auch nie 60 Lieferanten fuer nur ein Bauteil...den Mikrocontroller.

Peter,wir freuen uns alle dass Du oefters hier auftauchst mit Deinen sachlichen Beitraegen....nimm es NIE ernst,wenn jemand ein wenig Spass macht....das ist genau so wichtig wie die Sonne:) .

Einen freundlichen Gruss
aus I;)

edgar
07.06.2006, 23:06
Rudo,
<<
aber ich habs mir dann doch noch im letzten Moment verkniffen ...
<<
relaxiere und evakuiere :D

Peter Dannegger
08.06.2006, 10:22
....nimm es NIE ernst,wenn jemand ein wenig Spass macht....


Warum nicht ?

Es macht mir doch auch Spaß, die Vorzüge nochmal heraus zu stellen.:D


Peter

Rudo
08.06.2006, 10:49
Ed,
damit der Thread hier nicht vertrocknet musste die Anzahl der LEDs mal erhoehen:
10
100
1000
10000
...
alle LEDs auf der Welt mit nur einem Portpin, (vorzugsweise 8051er -Port):D

edgar
08.06.2006, 11:24
Rudo,

sozusagen muss der Mammut port erfunden werden aber bitte klassisch mit Fan_Out von 51.Habe zwar noch ein paar Tausend alte 5mm rote Leds rumliegen....aber die kann man besser als Projektile im 5.5mm Blasrohr verschiessen:) (soo eine Verschwendung !:mad:! )

Peter,

nachdem ich in die Pics reingeschaut habe muss ich sagen dass ich mich mit Assembler '51 sehr wohl fuehle.....weil der '51 Core wirklich ein geniales Stueck ist.

Winne,

Willst Du 1 mA Strom sparen, dann brauchst Du nur mit reduzierter Quarzfrequenz fahren....die MCs sind ja eh nie voll ausgelastet mit Ausnahme ( nehme ich vorsichtshalber an) von denen , die Peter vollstopft.
Und ein batteriebetriebenes Geraet braucht solche LedTannenbaeume natuerlich nicht...

Jetzt gehe ich mit Frauchen Riesenrad fahren und Eisschlecken,genau wie die kleinen Kinder vom Kindergarten :D

progmart
08.06.2006, 14:38
1-wire .... wäre das nich auch noch ne möglichkeit ?!!

Peter Dannegger
08.06.2006, 22:13
...die MCs sind ja eh nie voll ausgelastet mit Ausnahme ( nehme ich vorsichtshalber an) von denen , die Peter vollstopft.


Ne, meine MCs sind schätzungsweise nur zu 1..10% ausgelastet.

Das Geheimnis, warum erfahrene Programmierer mehr in einen MC reinstopfen können, ist ein anderes. Sie sortieren im Vorfeld, wie häufig muß eine bestimmte Sache gemacht werden und wieviel CPU-Zeit verbraucht sie.
Und dann wird eben sortiert, d.h. aufwendige Sachen möglichst selten machen und dafür vielleicht die Ergebnisse für wiederholte Verwendung zwischenspeichern.


Z.B. machen Anfänger gerne den Fehler, im Multiplexinterrupt den Wert zu nehmen, in Digits aufzuteilen, nach 7-Segment wandeln und ausgeben. Und das alle 400Hz streßt den MC schon ganz schön.

Da man aber weiß, daß der Mensch mindestens 200ms braucht, um einen Wert abzulesen, macht man die Wandlung in Digits und 7-Segment nur maximal alle 200ms, legt sie im RAM ab, und der 400Hz Multiplexinterrupt gibt sie nur noch direkt aus. Und schon ist die CPU-Last nur bei etwa 0,1%.


Daher kann es durchaus sein, daß Anfänger, die weniger in einem MC machen, trotzdem den MC stärker auslasten und einen höheren Quarz nehmen müssen.


Zum Thema LEDs bei Batteriebetrieb, da nimmt man natürlich low-current (1..2mA) und oft werden die auch noch gepulst, d.h. blitzen nur kurz auf.


Peter

edgar
08.06.2006, 22:47
<<<
Das Geheimnis, warum erfahrene Programmierer mehr in einen MC reinstopfen können, ist ein anderes. Sie sortieren im Vorfeld, wie häufig muß eine bestimmte Sache gemacht werden und wieviel CPU-Zeit verbraucht sie.
<<<

Das nennt sich wohl (Problem)Analyse.
Wenn man denkt dass man oft mehr als 1 000 000 Operationen pro Sekunde zur Verfuegung hat.....100 sind nicht wenige, die muessen einem erst mal einfallen, bei 1000 geht schon das gelbe Licht an....bevor man das Rote Licht der 10 000 Grenze erkennen kann ist ein Jahr um :) unvorstellbar viel Power finde ich.

Folglich ist der 1 -10% Wert mehr als glaubhaft.

Aber gluecklicherweise geht es bei dem MC nicht darum ihn voll auszulasten sondern um eine (oft) sehr einfache Aufgabe korrekt zu meistern.
Viele Wege fuehren zu diesem Ziel.

:)