mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Assembler Tutorial.komme nicht weiter.


Autor: Patrick L. r. (networxx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich arbeite gerade das ASM Tutorial durch.
http://www.mikrocontroller.net/articles/AVR-Tutori...

Ich arbeite mit dem AtTiny12.
An PB0 und PB1 habe ich LEDs über einen Vorwiderstand angeschlossen.
Am PB2 und PB3 habe ich Taster und PullUp Widerstände.

Bei der Ausgabe habe ich alles recht gut verstanden.
Und es funktioniert auch soweit.

.include "tn12def.inc"

  ldi r16, 0xff
  out ddrb, r16

  ldi r16, 0b11111110
  out portb, r16

ende:  rjmp ende
Wie kann ich die LED blinken lassen ?

Nun komme ich zur Eingabe, dort habe ich Probleme.

Wie kann ich an PB 2 und 3 die Taster einlesen ?
Und je nach Tastendruck eine LED leuchten lassen ?
Im Beispiel ist PortD für die Eingänge programmiert.
Kann ich mein PortB quasi splitten (0,1=ausgang und 2,3=eingang)?
Müssen PB 2 und 3 als ausgänge oder als eingänge geschaltet werden ?

Fragen über Fragen...
Ich hoffe, das mir jemand weiterhilft.
Bis man ASM erstmal verstanden hat...Ufffff

Gruß
NeTwOrXx

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick L. r. wrote:
> .include "tn12def.inc"
>
>   ldi r16, 0xff
>   out ddrb, r16
>
>   ldi r16, 0b11111110
>   out portb, r16
>
> ende:  rjmp ende
> Wie kann ich die LED blinken lassen ?

"Blinken" definiert sich durch Ein- und Ausschalten.
Bleistift:

(DDRB setup setz ich mal vorraus)
l1:
   ldi r16,0b11111111
   out portb,r16
   ldi r16,0b11111110
   out portb,r16
   jmp l1

Wenn du den Prozessor mit wenigen Hz takten würdest, würdest du die LED 
jetzt blinken sehen. So blinkt sie natürlich viel zu schnell. Was hier 
noch fehlt, sind pausenschleifen. Findest du bestimmt auch im Tutorial.


> Nun komme ich zur Eingabe, dort habe ich Probleme.

Ich schlage vor, du bleibst erstmal beim blinken. Solange du das noch 
nicht verstanden hast, solltest du erstmal nicht weiter machen.

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.