stk500, erstes programm

#686578
Lesenswert?

hallo,
bin blutiger anfänger und beschäftige mich erst seit heute mit dem 
microcontoller.
wollte erst mal das programm laufen lassen, welches im anhang vom 
handbuch des stk500 abgebildet ist.
leider tut sich nichts.
bei den einstellungen hab ich mal alles auf auto. im anhang findet ihr 
die fehlermeldung.
kann mir nitte jemand helfen
hab leider auch schon das ganze forum abgesucht, aber bestimmt werd ich 
die lösung übersehen haben und die frage steht schon 20 mal im forum.
grüße und schon mal danke
Angehängte Dateien:
#686603
Lesenswert?

also,
hab mal alle häckchen rausgemacht, bis es problemlos durchgelaufen ist.
sind probleme mit flash und eeprom
wenn ich build mach, liefert er keine fehler oder warnungen, aber 
nachher läuft das programm nicht.
kann mir vielleicht jemand sagen wie ich normalerweise als anfänger 
schrittweise anfang, so das es eigentlich keine probleme geben 
sollte????
hier der code:
;***** STK500 LEDS and SWITCH demonstration
.include "8515def.inc"
.def Temp =r16 ; Temporary register
.def Delay =r17 ; Delay variable 1
.def Delay2 =r18 ; Delay variable 2
;***** Initialization
RESET:
  ser  Temp
  out  DDRB,Temp    ; Set PORTB to output
;**** Test input/output
LOOP:
  out  PORTB,temp    ; Update LEDS
  sbis  PIND,0x00    ; If (Port D, pin0 == 0)
  inc  Temp      ; then count LEDS one down
  sbis  PIND,0x01    ; If (Port D, pin1 == 0)
  dec  Temp      ; then count LEDS one up
  sbis  PIND,0x02    ; If (Port D, pin2 == 0)
  ror  Temp      ; then rotate LEDS one right
  sbis  PIND,0x03    ; If (Port D, pin3 == 0)
  rol  Temp      ; then rotate LEDS one left
  sbis  PIND,0x04    ; If (Port D, pin4 == 0)
  com  Temp      ; then invert all LEDS
  sbis  PIND,0x05    ; If (Port D, pin5 == 0)
  neg  Temp      ; then invert all LEDS and add 1
  sbis  PIND,0x06    ; If (Port D, pin6 == 0)
  swap  Temp      ; then swap nibbles of LEDS
  ;**** Now wait a while to make LED changes visible.
  DLY:
  dec  Delay
  brne  DLY
  dec  Delay2
  brne  DLY
  rjmp  LOOP      ; Repeat loop forever

und das die fehlermeldung die bei run immer kommt:
AVR Simulator: Device has no EEPROM interrupt.
#686621
Lesenswert?

Hallo,

also obiges Programm assembliert ohne Fehler und läuft auch im Simulator 
ohne Probleme.

Der Hinweis auf den EEPROM Interrupt ist unintessant, keine Ahnung, was 
sich Atmel dabei in diesem Zusammenang gedacht hat.

Andere Frage: Du hast wirklich einen AT90S8515? Eher doch wohl einen 
Mega8515? Dann hast Du die falsche CPU eingestellt.

Gruß aus Berlin
Michael
Gast #686630
Lesenswert?

Hi

Als erstes solltest du auf ISP-Programmierung einstellen. Dann überprüfe 
welchen Controller du benutzt. Der gleiche Typ muss im Programmerfenster 
eingestellt sein. Steckt dein Controller im richtigen Sockel? Und hast 
du das Kabel (6pol) von ISP6PIN zum richtigen Steckverbinder geführt 
(rot/grün/blau)

MfG Spess
#686680
Lesenswert?

okay, hab das mir mal durchgelesen und es auch ausprobiert, so weit 
verständlich.
hab jetzt mal wieder mein programm genommen, wobei ja die leds leuchten 
sollten.
nun mal zu meinem vorgehen:
erst mal zur hardware:
hab mit der rs232 schnittstelle gearbeitet, mit isp gabs probleme, auf 
was muss ich da bei der verkabelung achten??
hab dann noch mein port B mit den LEDs und mein Port D mit den switches 
verbunden.
okay dann buil and run, run und es tut sich aber leider nichts.
es kommt zusätzlich auch immer die meldung, dass was mit meiner spannung 
nichts passt, sprich, dass die targetspannung nicht zwischen 4,5 und 
5,5V liegt, das ist aber der fall!
sorry für die wohl total unprofessionelle beschreibung
Gast #686697
Lesenswert?

Hast du eine Digicam? Wenn ja, dann mach mal ein (scharfes!) Bild von 
deinem STK500, so wie es jetzt ist und stell es hier als Dateianhang 
rein. Dann können wir vielleicht sehen, wo der Hund begraben liegt.

Gruß,
Magnetus
Gast #686731
Lesenswert?

Hi

Ob der Controller überhaupt erkannt wird, lässt sich am besten unter 
'Advanced'-> 'Signature Bytes' -> 'Read' überprüfen. Erst wenn das 
klappt kannst du dir einen Kopf über das Programmieren machen.

MfG Spess
Gast #687356
Lesenswert?

"A problem occured when executing the command"

...welche Aktion hätte denn da ausgeführt werden sollen?

Hast du evtl. noch andere Signale auf den ISP-Leitungen anliegen? (z.B. 
Schalter, LEDs, o.Ä.)
#690960
Lesenswert?

ich mal wieder,
experimentier gerade mit einfachen Programmen rum.
Will mit einem Switch, genauer Schalter 0, die LED 3 ein und aus 
schalten.
So, klappt, aber eben nur manchmal, wo ist der Fehler im Code?
Hier der Code und schon mal danke:
.include "m8def.inc"

         ldi r16, 0xFF
         out DDRB, r16       ; Port B ist Ausgang

         ldi r16, 0x00
         out DDRD, r16       ; Port D ist Eingang


         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

loop2:    sbic PINB, 3
        rjmp loop2
        sbic PIND,0
            rjmp loop2           ; Endlosschleife
            sbi PORTB, 3
      rjmp loop
#704837
Lesenswert?

sers,
habe nun ein LCD und zwar ein EA DIP204-4 mi einem KS0073 Kontroller.
Versuche bisher erfolglos das TEST-Programm vom Tutorial inAssembler zum 
laufen zu bringen, leider erscheint nicht TEST auf meinem LCD, denke, 
dass ich mit der initialisierung von meinem LCD was Falsch mach, kann 
mir vielleicht einer sagen, wie ich den code vom tutorial abändern muss, 
dass es funktioniert,
vielen dank schon mal

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