mam problem z obsługą przerwania od T0 w at90s2313.
oto programik:
;program
.nolist
.include "c:\avrtools\appnotes\2313def.inc"
.list
.def temp=r16
.def counter=r17
.def time=r18
.def one=r19
.def zero=r20
.def tim_reg=r21
.cseg
.org $000
rjmp reset
.cseg
.org OVF0addr
rjmp intrpt
reset: rjmp init
intrpt: ;obsługa przerwania
in r22,SREG
push r22
inc counter
pop r22
out SREG,r22
reti
init: ;ustawienia początkowe
ldi one,15
ldi zero,0
ldi counter,0
ldi temp,ramend
out spl,temp
ldi temp,255 ;port b jako wyjście
out ddrb,temp
ldi temp,0b11111111 ;ledy wyłączone
out portb,temp
rjmp timer
timer: sei ;ustawienia timera
ldi tim_reg,timsk
ori tim_reg,0b00000010
out timsk,tim_reg
ldi tim_reg,tccr0
ori tim_reg,0b00000101 ;1024
out tccr0,tim_reg
rjmp loop
wait: ldi counter,0 ;
ldi time,15 ;ok. 1sek
rjmp count
count: cpse counter,time ;pętla czasowa
rjmp count
ret
loop: rcall wait
out portb,zero ;ledy włączone
rcall wait
out portb,one ;ledy wyłączone
rjmp loop
czy ktoś mi może powiedzieć dlaczego to nie chodzi????????????
układ jest ok i programator też - inne programy chodzą bez problemu.
oto programik:
;program
.nolist
.include "c:\avrtools\appnotes\2313def.inc"
.list
.def temp=r16
.def counter=r17
.def time=r18
.def one=r19
.def zero=r20
.def tim_reg=r21
.cseg
.org $000
rjmp reset
.cseg
.org OVF0addr
rjmp intrpt
reset: rjmp init
intrpt: ;obsługa przerwania
in r22,SREG
push r22
inc counter
pop r22
out SREG,r22
reti
init: ;ustawienia początkowe
ldi one,15
ldi zero,0
ldi counter,0
ldi temp,ramend
out spl,temp
ldi temp,255 ;port b jako wyjście
out ddrb,temp
ldi temp,0b11111111 ;ledy wyłączone
out portb,temp
rjmp timer
timer: sei ;ustawienia timera
ldi tim_reg,timsk
ori tim_reg,0b00000010
out timsk,tim_reg
ldi tim_reg,tccr0
ori tim_reg,0b00000101 ;1024
out tccr0,tim_reg
rjmp loop
wait: ldi counter,0 ;
ldi time,15 ;ok. 1sek
rjmp count
count: cpse counter,time ;pętla czasowa
rjmp count
ret
loop: rcall wait
out portb,zero ;ledy włączone
rcall wait
out portb,one ;ledy wyłączone
rjmp loop
czy ktoś mi może powiedzieć dlaczego to nie chodzi????????????
układ jest ok i programator też - inne programy chodzą bez problemu.