mega8 testprogramm

Gast #68567
Lesenswert?
• ▲
▼
Hallo, ich suche ein kleines testprogramm für den mega8. Da ich selbst
noch nicht so fitt im programieren bin, aber mein testboard
ausprobieren möchte, bräuchte ich ein programm das die ausgänge über
port d und die eingänge über port b steuert (led und taster).
Vieleicht kann mir ja jemand helfen. Danke
Gast #68573
Lesenswert?
• ▲
▼
Hallo,
ich kann niemanden leiden sehen.  :-)
Hier ist das Programm aus dem Tutorial mit den gewünschten
Änderungen.
Ich nehme an, du bekommst das irgendwie in den Chip rein.
Mit Studio4 und einem passenden Programmer sollte es klappen.

Gruß,
Arno
-----------------------------------------------------------------
.include "m8def.inc"

         ldi r16, 0xFF
         out DDRD, r16       ;Port D durch Ausgabe von 0xFF ins
                             ;Richtungsregister DDRB als Ausgang
                             ;konfigurieren
         ldi r16, 0x00
         out DDRB, r16       ;Port B durch Ausgabe von 0x00 ins
                             ;Richtungsregister DDRD als Eingang
                             ;konfigurieren

         ldi r16, 0xFF
         out PORTB, r16      ;PORTB auf 0xFF setzen -> alle LEDs aus

loop:    sbic PIND, 0        ;"skip if bit cleared", nächsten Befehl

                             ;überspringen,
                             ;wenn Bit 0 im IO-Register PIND =0
                             ;(Taste 0 gedrückt)
         rjmp loop           ;Sprung zu "loop:" -> Endlosschleife

         cbi PORTB, 3        ;Bit 3 im IO-Register PORTB auf 0
                             ;setzen -> 4. LED an

ende:    rjmp ende           ;Endlosschleife
---------------------------------------------------------------------
Gast #68576
Lesenswert?
• ▲
▼
Hoppla, ich hatte noch eine kleine Änderung vergessen.
Nun sollte es gehen.

.include "m8def.inc"

         ldi r16, 0xFF
         out DDRD, r16       ;Port D durch Ausgabe von 0xFF ins
                             ;Richtungsregister DDRD als Ausgang
           ;konfigurieren
         ldi r16, 0x00
         out DDRB, r16       ;Port B durch Ausgabe von 0x00 ins
                             ;Richtungsregister DDRB als Eingang
                       ;konfigurieren

         ldi r16, 0xFF
         out PORTd, r16      ;PORTD auf 0xFF setzen -> alle LEDs aus

loop:    sbic PINB, 0        ;"skip if bit cleared", nächsten Befehl

                             ;überspringen,
                             ;wenn Bit 0 im IO-Register PINB =0
           ;(Taste 0 gedrückt)
         rjmp loop           ;Sprung zu "loop:" -> Endlosschleife

         cbi PORTD, 3        ;Bit 3 im IO-Register PORTD auf
                             ;0 setzen -> 4. LED an

ende:    rjmp ende           ;Endlosschleife
Gast #68577
Lesenswert?
• ▲
▼
Ähhh nur so zur Info, die ersten Threads oben, waren nicht beleidigend
gemeint!!!!!!!!!

Sie sollten dich wohl nur dazu animieren es selber zu machen. Wenn es
nämlich nicht Funktioniert hätte, dann hättest du so lange basteln
müssen bis es funktioniert. Dabei hättest du TAUSENDE MALE mehr
gelernt, als beim Compilieren des Codes hier oben.

Und wenn der nicht geht, was machste dann? Naja wird schon klappen.
Aber versuch erstmal selber bevor du dir sachen Programmieren lassen
willst.

Ach ja, wenn man mal wiklich nicht weiterkommen sollte, dann wird dir
auch IMMER geholfen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren