Forum: Mikrocontroller und Digitale Elektronik mega8 testprogramm


von Andreas (Gast)


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

von anfänger (Gast)


Lesenswert?

schonmal das tutorial auf der seite hier gelesen?

von Andreas (Gast)


Lesenswert?

Ich brauche aber ein funktionierendes programm, damit ich das board
testen kann. Woher soll ich sonst wissen, ob das bord oder das programm
nicht funktioniert ?

von Conlost (Gast)


Lesenswert?

Hallo;
wie heisst es richtig, lass mir, oder lass mich arbeiten?

Beides falsch.

Lass andere für mich arbeiten.  :-))

Viel Spass noch mit deinem Board.
Gruß,
Arno

von Andreas (Gast)


Lesenswert?

Ist schon gut, ich wollte nur ein bischen hilfe für die ersten
gehversuche !

von Gast (Gast)


Lesenswert?

Funktionierende simple C-Programme kannst du z.B. auf mc-project.de
finden.

von Conlost (Gast)


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
---------------------------------------------------------------------

von Andreas (Gast)


Lesenswert?

Danke! Werde es gleich ausprobieren :-)

von Conlost (Gast)


Lesenswert?

Hoppla, ich hatte noch eine kleine Änderung vergessen.
Nun sollte es gehen.

von Conlost (Gast)


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

von Divison (Gast)


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.

von Conlost (Gast)


Lesenswert?

:-)

von Divison (Gast)


Lesenswert?

Aber recht hab ich! :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.