mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik port d als eingang


Autor: hannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab bei mir port b als eingang.
Nun meine frage :
muss ich den dazu den eingang auf gnd legen ?
wenn es 0 sein soll ??
und wie sieht das alles bem ausgang aus ??

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die Grundentscheidung triffst du mit dem Wert im DDRx-Register, steht 
dort eine 1, ist es ein Ausgang, bei 0 ein Eingang.
Das Portgegister PORTx hat eine Doppelbedeutung, ist der jeweilige 
Portpin als Ausgang konfiguriert, wird der Wert von PORTx auch 
ausgegeben. Ist der Pin dagegen als Eingang konfiguriert, bedeutet eine 
1 im Port-Register interner Pullup-Widerstand eingeschaltet, d.h. am 
Eingangspin erscheint ein H-Pegel, der von externen Schaltungen nach L 
gezogen werden kann. Steht eine 0 im PORTx-Register, ist der Eingang 
hochohmig, sowhol H-als auch L-Pegel wird von ext. Schaltungen 
bereitgestellt. Unabhängig von allem müssen Eingaben immer vom 
PIN-Register gelesen werden (beliebter Anfängerfehler, vom Portregister 
zu lesen)

Autor: hannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
uiui kompliziert :)
das  mit dem DDRx Register weiß ich aber heißt das jetzt wenn ich jetzt 
einen eingang habe (also 0 gewählt habe) .. und damits ganz einfach ist 
...
ich lege die denn eingang auf gnd dann liegt am eingang 0 oder ? 
unterbreche ich dann liegt am eingang
1 hab ich das so richtig verstanden ??

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fast, das ist so nur richtig, wenn im entsprechenden PORT-Register eine 
1 steht.
Mal ein Beispiel, PortB.0 soll ein Eingang sein, die anderen Ausgänge 
mit 0 am Ausgang.

ldi r16, 0b11111110   ;PB0 as input
out DDRB, r16
ldi r16, 0b00000001   ;PB0 pullup activated
out PORBB, r16

read_input:
in r16, PINB   ; r16 enthält jetz an Bitstelle 0 den Wert 1, wenn der 
Eingang offen ist und 0, wenn der Eingang extern auf Masse gelegt ist.

Autor: hannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aha verstanden :) dank dir ...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.