Anfänger Verständnisfrage: I/O - DDR und PORT

Gast #2617858
Hallo Leute,

ich fange grad an mit der Mikrocontroller Programmierung und habe dazu 
ein paar Verständnisfragen.

Also das ich im DDR-Bit festgelegt wird ob es sich um ein Ein oder 
Ausgang handelt ist mir bewusst. Auch ist mir klar, das ich über das 
PORT-Bit beim Eingang sagen kann ob der Pullup-Widerstand an sein soll 
oder nicht und beim Ausgang ob er schalten soll oder nicht.

Aber wie sieht das ganze Hardwaremäßig aus?

DDR = 1 und PORT = 1
-> Es werden 5 V auf den Pin gelegt

DDR = 0 und PORT = 1
-> Verbindung über einen internen Pullup zu 5V

DDR = 0 und PORT = 0
-> Hat der Pin hier Verbindung zu Ground?

DDR = 1 und PORT = 0
-> Wird der Ausgang in die "Luft" gehängt oder auf Ground gezogen?


Danke schonmal im voraus.. ;)
Gast #2617878
Du meinst ne art Tri-state.
Du kannst mal versuchen den pin als eingang zu definieren, evtl hägt er 
dann irgendwie in der luft, aber sicher weiss ich es nicht
#2617882
Da ich allerdings selbst noch Anfänger bin, möchte ich diesen Thread 
gerne nutzen, um meine Verständnisfrage bezüglich der Fälle

steffen schrieb:
> DDR = 0 und PORT = 1
> -> Verbindung über einen internen Pullup zu 5V
>
> DDR = 0 und PORT = 0
> -> Hat der Pin hier Verbindung zu Ground?

zu stellen.

Wenn DDR=0 ist, heißt das, dass das Beinchen am µC als Eingang fungieren 
soll. Mittels PORT=1 oder PORT=0 kann man den internen Pull Up 
Widerstand aktivieren bzw. deaktivieren.

Das sagt das Datenblatt. Die Aufgabe eines Pull Up Widerstandes ist mir 
bekannt - jedenfalls das, was man hier so an Erklärungen findet:
Er zieht das Potential des µC Pins auf High, so dass das Beinchen einen 
fest definierten Zustand hat.

So, das heißt, dass am Beinchen Vcc Potential anliegt (ca. 5V).

Was ich mich nur Frage:
Pull Up Widerstände kenne ich nur in Verbindung mit Schaltern bzw. 
Tastern. Was bezweckt ein aktivierter bzw. deaktivierter Pull Up 
Widerstand beim µC, wenn der Pin als Eingang benutzt wird?

Ich für meine Anwendungen will den µC zum Messen verwenden, der dann 
aufgrund der MEssungen irgendwas ausgibt (Display, LEDs etc.). Somit 
muss doch der Pull Up Widerstand deaktiviert sein, damit man von diesem 
konstanten 5V Potential wegkommt. Sonst misst man ja nix.

Irgendwie stehe ich auf dem Schlauch :/

Gruß
#2617887
Klaus Dietmar schrieb:
> Pull Up Widerstände kenne ich nur in Verbindung mit Schaltern bzw.
> Tastern. Was bezweckt ein aktivierter bzw. deaktivierter Pull Up
> Widerstand beim µC, wenn der Pin als Eingang benutzt wird?

Naja... als was würdest du denn einen Pin schalten wenn du einen 
Schalter anschließen willst?
Ein- oder Ausgang? :)
Gast #2617888
Aaalso: Wenn man den Pin als digitalen(!) Eingang z.B. für einen Taster 
nimmt und sicherstellen will dass der Pin ein definiertes Potential hat 
wenn der Taster nicht(!) gedrückt wird aktiviert man den Pull-Up.

Pin mit Pullup - Taster - Masse.

Wenn man den Pin als analogen(!) Eingang (ADC) nehmen will deaktivert 
man den Pull-Up natürlich.
#2617899
Hi Dominik, Hi Diplomtroll,
danke für eure Beiträge.

Dominik S. schrieb:
> Naja... als was würdest du denn einen Pin schalten wenn du einen
> Schalter anschließen willst?
> Ein- oder Ausgang? :)


An digitale Eingänge habe ich gar nicht gedacht. Klar, wenn ich prüfen 
will, ob ein Taster gedrückt ist oder nicht bzw. das Drücken des Tasters 
verarbeiten will, verwende ich den Pull-Up Widerstand. Dann haben wir 
das klassische Beispiel vom Pull-Up Widerstand und Taster und 
entsprechend kann ich am Ausgang die LED zum Leuchten bringen :)

Diplomtroll schrieb:
> Aaalso: Wenn man den Pin als digitalen(!) Eingang z.B. für einen Taster
> nimmt und sicherstellen will dass der Pin ein definiertes Potential hat
> wenn der Taster nicht(!) gedrückt wird aktiviert man den Pull-Up.
>
> Pin mit Pullup - Taster - Masse.
>
> Wenn man den Pin als analogen(!) Eingang (ADC) nehmen will deaktivert
> man den Pull-Up natürlich.

Danke. Jetzt hat es im wahrsten Sinne des Wortes Klick gemacht - sowohl 
beim Verständnis als auch aufm Breadbord mit nem Taster :)


Schönen Abend.

Gruß
Gast #2617913
Wird der Pin als analoger Eingang genützt,
das geht aber nur bei bestimmten Pins, siehe Datenblatt,
wird der Pin, wenn er als "analog-in" in einem Extra-Register
definiert ist, automatisch von der Digitalen I/O-Stufe getrennt
und auf die Analoge Eingangsstufe umgeschaltet.

Wenn Du Dir die Beschreibung im Datenblatt, bei den Atmels recht
ordentlich beschrieben, anschaust und den Signalweg verfolgst
(ruhig mal mit Buntstiften anmalen) sieht Du es ganz gut,
auch das mit Pull-UP-R.

Schönen Sonntag noch.
Gast #2618025
Okay,
also kann ich meine Schaltung doch so bauen wie Ichs mir überlegt habe.
Dachte erst ich könnte nur VCC oder GND auf einen PIN legen und den 
nicht in die "Luft" hängen lassen.

Danke nochmal für eure schnelle und gute Hilfe ..

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.