www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik eingangsport


Autor: steph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallO! ich möchte ein programm für den avrmega8 schreiben, das bitweise
hochzählt in form von leuchtenden LEDs, 4 habe ich zur verfügung.
allerdings nur auf knopfdruck,also auf einen tastendruck.
hier mal mein ansatz.
da ich komplett neu bin in assembler habe ich keine ahnung wie ich den
tastendruck als eingang deklariere, daher hoffe ich das jemand mein
problem versteht.
DANKE

.include "m8def.inc"
//.def Temp1 = r21 ; eingangsport
.def Temp = r16 ;LED0
.def LED1 = r17 ;LED1
.def LED2 = r18 ;LED2
.def LED3 = r19 ;LED3

  .org 0x0000

  rjmp RESET



   out DDRB, Temp
//   in DDRB, TEMP1




    RESET:

      //in PORTB , TEMP1

      ldi TEMP , 0x00
      out PORTB , TEMP
      ldi LED1 , 0x00
      ldi LED2 , 0x00
      ldi LED3 , 0x00




  loop1:
      //in PortB, TEMP1
      out PortB , TEMP
      inc TEMP
      brne loop1
      inc LED1
      brne loop1
      inc LED2
      brne loop1
      inc LED3
      brne loop1
      ldi LED3 , 0xFF
      brne loop1

  ldi TEMP , 0xFF

  loop2:
      //in PortB, Temp1
      out PORTB , TEMP
      inc LED1
      brne loop2
      inc LED2
      brne loop2
      inc LED3
      brne loop2
      ldi LED3 , 0x10
      brne loop2

  rjmp loop2

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eingänge heissen PINx (z.B. PINB).

Autor: steph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallO! vielen dank für die schnelle antwort, das habe ich auch schon in
einem buch nachgelesen, allerdings weiß ich nicht genau, wie ich damit
umgehen soll, bei mir wärs ja dann pinb, oder? wie schreibe ich das
dann genau?


aber vielen dank nochmal

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck dir die Instructions Set an... da wird es irgendwo einen
"in"-Befehl geben...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wieder mal:
Warum schaust Du nicht ins AVR-Tutorial auf dieser Site.
(2. Link von oben, gaaanz links). Konkret im Abschnitt
ueber I/O Grundlagen. Da wird wunderschoen gezeigt wie
man Ports einliest.

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.