mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfänger und ATmega 8515


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo! Ich habe mir diesen
http://www.hoelscher-hi.de/hendrik/light/dmx/dmx_sch.GIF
Dimmer nachgebaut, er funktioniert auch. Nur jetzt wollte ich die
Schaltung dazu "missbrauchen" ein wenig rumzuprogrammieren. Ich habe
versucht mit diesem Programm

.include "C:\Programme\Atmel\AVR Studio\Appnotes\8515def.inc"

ldi r16, 0xFF
out DDRA, r16

ldi r16, 0b11111111
out PORTA, r16

ende:    rjmp ende

LEDs die ich an Port A angeschlossen habe zum leuchten zu bringen, aber
da tut sich nichts. Kann mir einen helfen und sagen warum? Danke!

Autor: andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.Als erstes solltes du die richtige inc datei nehmen,du hast die
für den normalen 8515 genommen.
Sch au dir doch mal im Tut irgendein Programm an,dann siehst du was
vielleicht noch fehlt (Stack,Programmanfang u.s.w)
gruss
Andy

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Programm aus dem Tutorial übernommen. Das ist bei I/O
Grundlagen gleich das erste. Ich habe nur die inc Datei und die Ports
geändert,da ich ja auf Port A ausgeben will. Was fehlt da dann?Brauch
ich dann die m8515 als inc Datei?

Autor: ubootfanat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du schon 0x00 auf das Port geschrieben?

vielleicht sind die dioden "negative" logik

Autor: andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.Ja,die brauchst du.Wie hast du die Leds angeschlossen?Gegen masse
oder spannung?
gruss
andy

Autor: Jens123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
=)

.include "C:\Programme\Atmel\AVR Studio\Appnotes\8515def.inc"
//Ist das die richtige INC Datei??? Kontrillieren..

ldi r16, 0xFF
out DDRA, r16

ldi r16, 0b11111111 // 0b11111111 = 0xFF kannst dir also auch sparen
=)
out PORTA, r16

ende:    rjmp ende

der erst Ist OK..

Kleiner Tipp lass das programm mal im AVR Studio laufen..

Autor: andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn du sie so angeschlossen hast wie unter i/o,dann muss der port
auf 0x00
gruss
Andy

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab schon beide Möglichkeiten ausprobiert also gegen Spannung und
gegen Masse aber beide funktionieren nicht. Mach ich vielleicht
irgendetwas falsch beim erstellen der hex-Datei? Ich gehe im AVR Studio
auf Project--> New , als Format nehm ich AVR Assembler. Dann klick ich
in dem Projektfenster rechts, dann Create New File und nenne das z.b.
test.hex . Dann geb ich den Code ein und klicke auf Assemble. Dann hab
ich eine fertige hex-Datei. Die lade ich mit Pony-Prog und beschreibe
damit dann den Controller.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso habe die Zeile inzwischen auf 0b11110000 geändert aber geht
trotzdem nicht

Autor: Jens123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf keinem pin??
dann dreh evtl mal die LED rum und teste sie mal

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die LEDs funktionieren. Ich habe an jedem Pin von Port A eine Spannung
von ca. 1,3 Volt. Mach ich das mit der hex-datei erstellen richtig? Wie
kann ich das Programm im AVR Studio laufen lassen? Kann eventuell mal
jemand das Programm in eine hex-Datei umwandeln und hier rein stellen,
dann kann ich es damit mal testen.

.include "C:\Programme\Atmel\AVR Studio\Appnotes\m8515def.inc"

ldi r16, 0xFF
out DDRA, r16

ldi r16, 0b00001111
out PORTA, r16

ende:    rjmp ende

Oder stimmt doch irgend etwas an dem Programm nicht? Die erst Zeile
lädt die Include Datei, die ist jetzt richtig. Die Zweite und dritte
Zeile sollen Port A als Ausgänge definieren. Die 4. und 5. Zeile sollen
dann 0b00001111 an Port A ausgeben, womit 4 Leds leuchten und 4 dunkel
sein sollten. Und die letzte Zeile ist eine Endlosschleife. Warum geht
das denn jetzt nicht??? Danke!

Autor: andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo.Wenn du dein programm im avr studio kompillierst,bekommst du dann
eine Fehlermeldung?Normalerweise reicht in zeile 1:
.include "m8515def.inc"
Laufen lassen kannst du es im studio nach erfolgreicher
kompillierung,wenn du unter debug start debugging nimmst.
gruss
andy

Autor: andy (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anbei ist die hex datei.
gruss
Andy

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Datei! Damit funktioniert es! Irgendetwas muss ich wohl
falsch machen. Meine hex-datei ist mehr als doppelt so groß wie
deine?!? Kannst du mir bitte Schritt für Schritt erklären wie du das
gemacht hast. Hast du meinen Post oben gelesen in dem stand wie ich es
gemacht habe? Gibts da irgendwas was nciht stimmt? Ist Kompilierung
das,wenn ich auf Assemble klicke? Bei mir kommt danach dann ein kleiner
Dialog und am Ende steht "Assembly complete with no errors" Danke,
Gruß Stefan

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es funktioniert jetzt! Der Fehler lag darin, dass ich bei
Project-->Project Settings nicht Intel Hex als Ausgabeformat gewählt
hatte. Gruß, Stefan

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.