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


von Stefan (Gast)


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!

von andy (Gast)


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

von Stefan (Gast)


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?

von ubootfanat (Gast)


Lesenswert?

hast du schon 0x00 auf das Port geschrieben?

vielleicht sind die dioden "negative" logik

von andy (Gast)


Lesenswert?

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

von Jens123 (Gast)


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

von andy (Gast)


Lesenswert?

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

von Stefan (Gast)


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.

von Stefan (Gast)


Lesenswert?

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

von Jens123 (Gast)


Lesenswert?

auf keinem pin??
dann dreh evtl mal die LED rum und teste sie mal

von Stefan (Gast)


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!

von andy (Gast)


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

von andy (Gast)


Angehängte Dateien:

Lesenswert?

Anbei ist die hex datei.
gruss
Andy

von Stefan (Gast)


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

von Stefan (Gast)


Lesenswert?

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

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.