Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .include "8535def.inc" ;nomi registri
- .CSEG ;memorizzo in memoria programma
- .ORG 0x000 ;inizio da locazione 0
- rjmp RESET ;reset 0x000
- rjmp INT_0 ;int0 0x001
- reti ;int1 0x002
- reti ;tim2 Comp 0x003
- reti ;tim2 OVF 0x004
- reti ;tim1 Capt 0x005
- reti ;tim1 CompA 0x006
- reti ;tim1 CompB 0x007
- rjmp timOV1 ;tim1 OVF 0x008
- reti ;tim0 OVF 0x009
- reti ;SPI 0x00A
- reti ;UART rx 0x00B
- reti ;UART udre 0x00C
- reti ;UART tx 0x00D
- reti ;ADC 0x00E
- reti ;EE_RDY 0x00F
- reti ;ANA_COMP 0x010
- RESET:
- ldi r16, low(RAMEND)
- out SPL, r16
- ldi r16, high(RAMEND)
- out SPH, r16
- MAIN:
- sei
- in r17, MCUCR
- ori r17, 0b01000011 ;attivo sleep mode idle e
- out MCUCR, r17 ;int0 fronte salita
- in r17, GIMSK
- ori r17, 0b01000000 ;attivo int0
- out GIMSK, r17
- ldi r17, 0xFF ;tutti bit 1
- out DDRA, r17 ;porta A in uscita
- ldi r17, 0b10101010
- out PORTA, r17 ;bit attivi su porta A
- sleep
- ret
- INT_0:
- sei
- ldi r17, 0b01010101
- out PORTA, r17 ;bit attivi su porta A
- ldi r17, 0x00 ;reset contatore
- out TCNT1L, r17
- out TCNT1H, r17
- in r17, TIMSK
- ori r17, 0x04
- out TIMSK, r17 ;attivo solo TOEI1
- ldi r17, 0x04 ;prescaler ck/256
- out TCCR1B, r17 ;4 secondi
- sleep
- reti
- timOV1:
- ldi r17, 0xFF
- out PORTA, r17 ;bit attivi su porta A
- reti
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement