Ist es möglich, den 8051-Mikrocontroller gleichzeitig als Eingang und Ausgang zu verwenden? Wenn ich einen bestimmten Pin als Eingang verwende und wie ich ihn dann auch als Ausgang mache. Sagen Sie mir bitte, dass ich gerade in einem Mikrocontroller geboren wurde
Die ursprünglichen 8051 und 80C51 haben sogenannte pseudo-bidirektionale E/A-Pins – sie sind Open-Drain mit internen Pullups (einige Pins erfordern möglicherweise externe Pullup-Widerstände). Sie haben (oder brauchen) also nicht die Richtungsregister, die Sie vielleicht von moderneren Mikrocontroller-Familien kennen als den ziemlich altmodischen MCS-51).
Um also einen Pin als Eingang zu verwenden, schreiben Sie eine '1' in das jeweilige Bit und lesen den Pin. Was auch immer an den "Eingang" angeschlossen ist, muss mehr Strom aufnehmen können, als der Pullup liefert.
Es ist nicht möglich, einen Pin als Eingang zu verwenden, wenn er auf '0' gesetzt ist (der Pull-Down-Transistor ist ziemlich stark).
Die Quellstromfähigkeit des Pins, wenn er als Ausgang verwendet wird, ist auf das begrenzt, was der Pullup liefern kann (obwohl es einen "starken" Source-Transistor gibt, der kurz aufleuchtet, wenn der Pin von "0" auf "1" geschaltet wird). Laden Sie die mit dem Pin verbundene Streukapazität schnell auf.
Bearbeiten :
Hier ist das bidirektionale Port-Bild, das Anfängern und anderen wie mir helfen könnte, die dieser wunderbaren Antwort gerade ein Bild hinzugefügt haben
Bearbeiten: Das obige ist eine vereinfachte Ansicht, die hinzugefügt wurde, kennen Sie meine Antwort. Ich werde sie belassen, da sie nützlich sein kann, aber für eine vollständigere Ansicht überprüfen Sie diese neuere Antwort.
Die älteren 8051-Mikrocontroller-Ports sind nicht dieselben wie andere modernere Mikrocontroller, die häufig gemischte Ein- und Ausgänge am selben Port haben können. Wenn ich mich richtig erinnere, müssen beim Standard-8051 alle Pins desselben Ports entweder als alle Eingänge oder alle Ausgänge gleichzeitig verwendet werden.
Eugen Sch.
darron
chakravarthi merugumalli
Spehro Pefhany
chakravarthi merugumalli