mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mega8 testprogramm


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schonmal das tutorial auf der seite hier gelesen?

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas (Gast)
Datum:

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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktionierende simple C-Programme kannst du z.B. auf mc-project.de
finden.

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
---------------------------------------------------------------------

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Werde es gleich ausprobieren :-)

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hoppla, ich hatte noch eine kleine Änderung vergessen.
Nun sollte es gehen.

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Divison (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
:-)

Autor: Divison (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber recht hab ich! :-)

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.