Hallo,

hab ein kleines "Problemchen" mit meinen kleinen Programm.
Es scheint so dass der TimerOverflow Interrupt nie ausgelöst wird und somit auch die Ampelphasen:

.include "8535def.inc"

.device AT90S8535

.def highB =r22 ; extra temps
.def lowB =r23
.def temp =r16
.def cnt =r17
.def temp2 =r18

AMPEL_TABELLE:
.db 0b00000010,0b11111111,0b10110110,0b10110011 ;1.BYTE: AMPEL HAUPTREICHTUNG
.db 0b10000000,0b11111111,0b01100010,0b11111000 ;2.BYTE: AMPEL FUSSGÄNGER
.db 0b01000000,0b11111111,0b01100010,0b11111000 ;3.BYTE: COUNTER HIGHBYTE
.db 0b00010000,0b11111111,0b10001000,0b11100001 ;4.BYTE: COUNTER LOWBYTE
.db 0b00001000,0b11111111,0b01100010,0b11111000
.db 0b00000100,0b11111111,0b01100010,0b11111000
.db 0b00000000,0b00000000,0b00000000,0b00000000


rjmp RESET ;POWER ON RESET
reti ; 2 Int0-Interrupt
reti ; 3 Int1-Interrupt
reti ; 4 TC2 Compare Match
reti ; 5 TC2 Overflow
reti ; 6 TC1 Capture
reti ; 7 TC1 Compare Match A
reti ; 8 TC1 Compare Match B
rjmp OVERFLOW ; 9 TC1 Overflow
reti ; 10 TC0 Overflow
reti ; 11 SPI, STC Serial Transfer Complete
reti ; 12 UART Rx Complete
reti ; 13 UART Data Register Empty
reti ; 14 UART Tx complete
reti ; 15 ADC Conversion Complete
reti ; 16 EEPROM Ready
reti ; 17 Analog Comparator
reti ; 18 TWI (I²C) Serial Interface
reti ; 19 St

RESET: ;initialize the machine

; stack pointer
ldi temp, low(RAMEND)
out SPL, temp
ldi temp, high(RAMEND)
out SPH, temp
ldi temp,0b00000100
out TIMSK,temp
ldi temp,0b00111111
out DDRB,temp
ldi temp,0b11111111
out DDRD,temp
ldi temp,0b00000101
out TCCR1B,temp
ldi lowB,0b11111000
ldi highB,0b11111111
out TCNT1H,highB
out TCNT1L,lowB
sei

START:

nop
rjmp START


OVERFLOW:

rcall OHNE_FUSS
ret

OHNE_FUSS:

lpm
tst R0 ;testet ob die letzte Ampelphase erreicht ist
breq RESET_AMPEL
mov temp2,R0
out PORTB,temp2
adiw ZL,1
lpm
mov temp2,R0
out PORTD,temp2
adiw ZL,1
lpm
mov temp2,R0
out TCNT1H,temp2
adiw ZL,1
lpm
mov temp2,R0
out TCNT1L,temp2
adiw ZL,1
ret

RESET_AMPEL:

ldi ZH,high(AMPEL_TABELLE*2) ; init Zldi
ldi ZL,low(AMPEL_TABELLE*2)
rjmp OHNE_FUSS


ich hoffe der Code ist einigermaßen verständlich.

Danke