mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega8 Eingang Ausgang Verständnis Problem


Autor: Sebastian E. (musarati)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

neues "Aufgabe", neues Problem.

Wenn ich das richtig verstanden habe, schließe ich an beispielsweise PD1 
einen Schalter an, und lese dann die komplette PD reige aus.

Ich bekomme also ein Register mit 8 Bits gefüllt, in dem das 4. für mich 
interessant ist.

Wenn ich jetzt den PC5 mit dem PD1 schalten will, kann ich also nicht 
die "Rohdaten" vom Eingang in den Ausgang schieben, weil ja sonst PC1 
aktiviert wird.

Also muss ich das 4. Bit an die Stelle des 2. Bits schieben oder?

Grüße

Sebastian

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder einfach nur prüfen, ob das 1.Bit (bei PD1) gesetzt ist und 
dementsprechend das 5.Bit (PC5) im PORTC setzen oder löschen.
(Ich zähl überall von 0 an)

Autor: Sebastian E. (musarati)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kann ich sowas prüfen?

Hast du irgend einen Link zu nem Tut das mich in die Richtung anlernt?

Autor: Markus E. (engelmarkus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier:
http://www.mikrocontroller.net/articles/AVR-Tutorial (siehe 
I/O-Grundlagen bzw. Logische Operationen)
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial (siehe 10.3)

Kommt auf die Sprache an, die du verwendest.

Autor: Sebastian E. (musarati)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
yuhuu, mein AVR als Taster ;)
.include "m8def.inc"

     ldi r16, 0xFF
         out DDRC, r16      ;PortC als Ausgang definieren

     ldi r16, 0x00
     out DDRD, r16      ;PortD als Eingang definieren

         ldi r16, 0xFF      ;PortC auf VCC
     out PORTC, r16

schleife:

    sbic PIND, 2      ;nächsten Befehl überspringen wenn Bit 3 = 0 ist von PIND
    sbi PORTC, 5      ;PORTC PC5 auf GND

    sbis PIND, 2      ;nächsten Befehl überspringen wenn Bit 3 = 0 ist von PIND
    cbi PORTC, 5      ;PORTC PC5 auf GND

rjmp schleife

zwar ober-overkill aber naja ;)

THX an euch ;)

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.