Advertisement
Dany1858

atmega: int0 e timer1

Jul 1st, 2019
3,048
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .include "8535def.inc"  ;nomi registri
  2.  
  3. .CSEG               ;memorizzo in memoria programma
  4. .ORG 0x000          ;inizio da locazione 0
  5.     rjmp    RESET   ;reset      0x000
  6.     rjmp    INT_0   ;int0       0x001
  7.     reti            ;int1       0x002
  8.     reti            ;tim2 Comp  0x003
  9.     reti            ;tim2 OVF   0x004
  10.     reti            ;tim1 Capt  0x005
  11.     reti            ;tim1 CompA 0x006
  12.     reti            ;tim1 CompB 0x007
  13.     rjmp timOV1     ;tim1 OVF   0x008
  14.     reti            ;tim0 OVF   0x009
  15.     reti            ;SPI        0x00A
  16.     reti            ;UART rx    0x00B
  17.     reti            ;UART udre  0x00C
  18.     reti            ;UART tx    0x00D
  19.     reti            ;ADC        0x00E
  20.     reti            ;EE_RDY     0x00F
  21.     reti            ;ANA_COMP   0x010
  22.  
  23. RESET:
  24.     ldi r16, low(RAMEND)
  25.     out SPL, r16
  26.     ldi r16, high(RAMEND)
  27.     out SPH, r16
  28.  
  29. MAIN:
  30.     sei
  31.     in r17, MCUCR
  32.     ori r17, 0b01000011 ;attivo sleep mode idle e
  33.     out MCUCR, r17      ;int0 fronte salita
  34.     in r17, GIMSK
  35.     ori r17, 0b01000000 ;attivo int0
  36.     out GIMSK, r17
  37.     ldi r17, 0xFF       ;tutti bit 1
  38.     out DDRA, r17       ;porta A in uscita
  39.     ldi r17, 0b10101010
  40.     out PORTA, r17      ;bit attivi su porta A
  41.     sleep
  42.     ret
  43.  
  44. INT_0:
  45.     sei
  46.     ldi r17, 0b01010101
  47.     out PORTA, r17      ;bit attivi su porta A
  48.     ldi r17, 0x00       ;reset contatore
  49.     out TCNT1L, r17
  50.     out TCNT1H, r17
  51.     in r17, TIMSK
  52.     ori r17, 0x04
  53.     out TIMSK, r17      ;attivo solo TOEI1
  54.     ldi r17, 0x04       ;prescaler ck/256
  55.     out TCCR1B, r17     ;4 secondi
  56.     sleep
  57.     reti
  58.  
  59. timOV1:
  60.     ldi r17, 0xFF
  61.     out PORTA, r17      ;bit attivi su porta A
  62.     reti
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement