mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bits vertauscht, 1=low / 0= high - Warum?


Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe dieses Wochenende angefangen mich mit dem Atmel, at90s8115, zu
beschäftigen. Ich habe acht LEDs, gemäss der Beschreibung AVR-Tutorial
- 2. I/O-Grundlagen angeschossen, also Kathode der LEDs an den Ausgang
des Port A, und über die Widerstände gehts an VCC. Dann  habe ich
folgendes Testprogramm mit AVR-GCC geschrieben: DDRA=0xFF (Port A auf
Ausgang) und alle Bits gesetzt mit PORTA=255. Nach dem Ausführen des
Programms gehen alles LEDs aus, und wenn ich PORTA=0 schreibe gehen
alle LCDS an. Also genau umgekehrt wie ich mir das denke - Warum ???

Autor: Christian Zietz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du schreibst ja selbst: Du hast ein Ende der LEDs an VCC, also +5V
angeschlossen. Wenn Du die Port-Pins nun mit PORTA=255 high schaltest,
gehen sie auf ca. +5V und Deine LEDs folglich aus. PORTA=0 schaltet die
Pins auf ca. 0V.

Autor: Daniel Lancelle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz einfach. Wenn der Ausgang auf low geht, leuchtet die LEDs, weil sie
dann an VCC und über den Controller an GND angeschlossen ist. Geht der
Ausgang auf high, leuchtet sie nicht, weil beide Anschlüsse auf VCC
liegen und daher kein Strom fließen kann. wenn du die LEDs über einen
Widerstand mit der Anode an den Ausgang legts und die Kathode an GND,
dann ist es genau andersherum: Port auf high --> LED leuchtet, Port auf
low --> LED leuchtet nicht.

Gruß

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, darüber habe ich mir seit vergangen Freitag den Kopf
zerbrochen. Jetzt ist mir das schon klar.

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.