Hallo Kollegen,
habe am Freitag das STK500 bekommen und wollte nun meine eigenen Progr. installieren.
Habe aber wieder ein kleines Problem, vielleicht könnte mal jemand drüber gucken ??? Bitte!
AVR Studio sagt zwischendurch beim Sim :Code:.include "m8515def.inc" .def temp = R16 .def eingang = R17 .def ziehzeit = R18 .def wartezeit = R19 .cseg .org 0x000 rjmp init .org 0x009 rjmp timer_ov .org 0x015 init: ; PORT D als Eingang deklariert ldi temp, 0x00 out DDRD, temp ldi temp, 0xFF out PIND, temp ; PORT B als Ausgang deklariert ldi temp, 0xFF out DDRB, temp ldi temp, 0xFF out PORTB, temp ; Stackpointer init. ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ; Timer für Entprellen init ldi temp, 0b00000001 ; Teiler auf 1 zum Test sonst 1024 out TCCR0, temp ldi temp, 0b00000010 out TIMSK, temp ; Interrupt bei Overflow ldi ziehzeit, 0xFF ldi wartezeit, 0x02 ; Testweise auf 02 sonst FF ; Wartet auf Tasteneingabe. warte_taste: in eingang, PIND ldi temp, 0xFF cp eingang, temp breq warte_taste dec ziehzeit out PORTB, ziehzeit rcall warte rjmp warte_taste endloop: rjmp endloop ; Hier wird das "wartezeit" heruntergezählt. timer_ov: dec wartezeit reti ; Nur jeder ca. 1000 Taster wird gezählt. Zeit dafür! warte: sei lauf: ldi temp, 0x00 cp wartezeit, temp brne lauf cli ret
AVR Simulator: Invalid opcode 0xffff at address 0x000007
Was bedeutet das?
Funktion sollte sein, man drückt eine Taste und es zählt einen weiter. Wenn man die Taste gefrückt hällt, zählt die Taste immer nach Zeitablauf weiter.
Vielen Dank schon mal!







Zitieren

Lesezeichen