treppo
12-11-2005, 19:17
Sto provando a trafficare con un micro atmel 4414 e mi trovo in difficoltà.
Dove devo mettere il RETI nell'esempio
.nolist
.include "4414def.inc"
.list
.cseg
.org $0000
rjmp start
.org OVF0addr ;quando interviene interrupt overflow
rjmp aumenta ;va a aumenta
.def temp=r16
.def dieci=r17
.def cento=r18
ldi temp,low(ramend)
out spl,temp
ldi temp,high(ramend)
out spl+1,temp
START:
ldi temp,254 ;portb in uscita meno bit 1 ingresso
out DDRb,temp
;**** Inizializza Interrupt ****
; Set fronte di discesa per T0
ldi temp,6
out TCCR0,temp
inizio:
sei
ldi temp,2 ;ricarica interrupt mask
out timsk,temp
loop:
rjmp loop
aumenta:
inc dieci
out portb,dieci
rjmp inizio
io voglio che quando scatta l'interrupt il programma salti a inizio.
grazie a chi vorrà aiutarmi.
Dove devo mettere il RETI nell'esempio
.nolist
.include "4414def.inc"
.list
.cseg
.org $0000
rjmp start
.org OVF0addr ;quando interviene interrupt overflow
rjmp aumenta ;va a aumenta
.def temp=r16
.def dieci=r17
.def cento=r18
ldi temp,low(ramend)
out spl,temp
ldi temp,high(ramend)
out spl+1,temp
START:
ldi temp,254 ;portb in uscita meno bit 1 ingresso
out DDRb,temp
;**** Inizializza Interrupt ****
; Set fronte di discesa per T0
ldi temp,6
out TCCR0,temp
inizio:
sei
ldi temp,2 ;ricarica interrupt mask
out timsk,temp
loop:
rjmp loop
aumenta:
inc dieci
out portb,dieci
rjmp inizio
io voglio che quando scatta l'interrupt il programma salti a inizio.
grazie a chi vorrà aiutarmi.