Witam, mam problem z ustawieniem przerwania od timera0 na atmega8, jestem początkujący jeśli chodzi o assembler... Problem leży w tym że, uP jest taktowany z wewnętrznego zegara 1MHz, i jeśli mam ustawiony prescaler na 8 czyli rejestr TCCR0 na 2 to powinienem otrzymać obsługę przerwania co 8us a na oscyloskopie otrzymałem igiełkę co 2ms;/ nie wiem co jest grane:P
Naskrobałem taki kod:
Naskrobałem taki kod:
.include "m8def.inc"
.cseg
.org 0x00
rjmp start
.org 0x09
rjmp timer0
.org 0x0A
start:
sbi DDRB, 1
cbi PORTB, 1 ;PB1 wyjscie, dioda
ldi r16, 127
out SPL, r16 ;wskaznik stosu
ldi r16, 2
out TCCR0, r16 ;ustawienie prescalera przez 8
ldi r16, 1
out TIMSK, r16 ;zezwolenie na przerwanie od timer0
sei
prog:
rjmp prog
timer0:
sbi PORTB, 1
nop
nop
nop
nop
nop
cbi PORTB, 1
reti