Lesen aus Portpins

Heute geht es nun um die Treiberschaltung für die Portpins.

Diese Treiberschaltung benötigt man für das Schreiben und für das Lesen aus Ports. In der letzten Folge haben wir ja bereits bemerkt, dass ein Portpin, der zum Lesen externer Signale genutzt werden soll, entsprechend vorbereitet werden muss.
Und zwar müssen wir eine 1 in das entsprechende Portbit schreiben. Diese 1 wird in ein Latch, ein D-Flipflop, gespeichert.

Um Informationen an ein Portpin auszugeben, ist eine einfache Transistorschaltung auf dem Mikrocontroller integriert, mit dessen Hilfe über eine Pullup-Schaltung (manchmal ist auch ein externer Pullup-Widerstand nötig) die Information nach außen geschaltet werden kann. Das ist noch relativ unspektakulär 😉

Das Lesen aus einem Portpin ist etwas kniffeliger.

Wäre der Ausgangstransistor durchgeschaltet, so wäre der Portpin dauernd auf Masse gezogen, unabhängig davon, welcher Pegel physikalisch am Portpin angelegt werden würde. Die gelesene Information wäre immer 0.
Aus diesem Grund muss, wenn man aus einem Portpin gelesen werden soll, das D-Flipflop immer gesetzt werden. Dies erreicht man, indem man eine 1 in den Portpin schreibt.
Die Regel lautet also:

Meine Empfehlung für Elektrotechniker

Anzeige

5 Elektrotechnik E-Books als PDF zum Download

Jetzt bist Du wieder an der Reihe

Die Wahl des Getränks für den bereits im ersten Teil des Mikrocontrollerkurses verwendeten Kaffeeautomaten, soll nun über Schalter erfolgen, die an die Portpins P0_0 bis P0_2 angeschlossen sind.

Dem Kunden, der ein Getränk ausgewählt hat, soll die Getränkewahl über Leuchtdioden angezeigt werden, die an den Ports P0_3 bis P0_5 angeschlossen sind.


Das heißt, wenn der Schalter P0_0 geschlossen ist, soll die LED an P0_5 leuchten, usw.

Versuche bitte einmal, diese Funktionalität zu programmieren.

Dieser Artikel ist Teil des Mikrocontrollerkurs auf ET-Tutorials.de.
Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .

 

Wolfgang Bengfort

weitere Videos

Oktober 22, 2012

September 1, 2011

Juli 28, 2011

Juli 17, 2011

März 19, 2010

Juni 15, 2010