Всем снова здрасьте, в общем с прерываниями я примерно разобрался, но опять вопрос возник... Все вроде работает, но по таблице из даташита мое прерывание 8 по счету, но по тексту программы оно 13... что я не так сделал? как надо?
.include "m16def.inc"
.def temp=R16
.def rab=R17
.equ kdel=100
.cseg
.org 0
rjmp init
reti
reti
reti
reti
reti
reti
reti <= должно срабатывать тут
reti
reti
reti
reti
rjmp tc1
reti
reti
reti
reti
reti
reti
reti
reti
init:
ldi temp, 0x80
out ACSR, temp
ldi temp, 0xFF
out SPL, temp
ldi temp, 0xFF
out DDRB, temp
ldi temp, 0x09
out TCCR1B, temp
ldi temp, high(kdel)
out OCR1AH, temp
ldi temp, low(kdel)
out OCR1AL, temp
ldi temp, 0x10
out TIMSK, temp
main:
sei
ldi rab, 0b01000000
m1:
rjmp m1
tc1:
lsr rab
brcc q1
ldi rab, 0b01000000
q1:
out PORTB, rab
reti
Добавлено спустя 2 часа 34 минуты 57 секунд:
Хм оно даже работает... тогда с чем может быть связан данный косяк?