Assembler-Programmierung mit AVRStudio

AVRStudio ist die kostenlose Entwicklungsumgebung, die auf der Atmel-Homepage herunterzuladen ist. Wie das Programmieren eines Mikrocontrollers abläuft, kann man auf dem Screenshot erkennen. In der Mitte sieht man einen Teil des Assembler-Programms. Links wird der momentane Status des Mikrocontrollers während der schrittweisen Simulation der Programmausführung angezeigt. Insbesondere ist der Status der Ein- und Ausgänge (PORTB und PORTD) zu sehen. Rechts werden die Registerinhalte angezeigt.

ACRStudio Screenshot


Beispiel eines Assemblerprogramms

.INCLUDE "2313def.inc"   ; Konstantendefinitionen einbinden

    ldi  R16, 0b00000001 ; Ein/Ausgänge wählen, 
                         ; 0=Ausgang, Rest=Eingang
    out  DDRD,R16        ; Data Direction Register setzen

Loop:
    in   R16, PIND       ; Status der Eingänge laden
    andi R16, 0b00000110 ; Eingang 1 und 2 ausfiltern
    cpi  R16, 6          ; sind beide Eingänge auf High?
    brne Aus

    sbi  PORTD, 0        ; Ausgang 0 einschalten
    rjmp Loop

Aus:
    cbi  PORTD, 0        ; Ausgang 0 ausschalten
    rjmp Loop
Die LED am Ausgang 0 geht an, wenn zwei an Eingang
1 und 2 angeschlossene Taster gedrückt sind.