SHARE
TWEET

Untitled

a guest Jan 12th, 2017 75 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .INCLUDE "m32def.inc" ;zalaczenie biblioteki definicji
  2.  
  3. //inicjalizacja
  4.  
  5. .org 0x000
  6.  
  7. jmp INIC
  8.  
  9. .org 0x02
  10.  
  11. jmp Ext_int0
  12.  
  13. INIC:
  14.  
  15. ldi R16, HIGH(RAMEND) ;załadowanie adresu końca pamięci
  16.  
  17. out SPH, R16 ;załadowanie zawartości rejestru R16 do SPH
  18.  
  19. ldi R16, LOW(RAMEND) ;załadowanie (mlodszej czesci) adresu konca pamieci sram do R16
  20.  
  21. out SPL, R16 ;przepisanie R16 do SPL
  22.  
  23. clr R16
  24.  
  25. in R16, GICR
  26.  
  27. ori R16, 1<<INT0
  28.  
  29. out GICR, R16
  30.  
  31. cbi DDRD, 2 ;ustawienie PD2(INT0) na wejściowy
  32.  
  33. sbi PORTD, 2 ;podciągnięcie zasilania
  34.  
  35. sbi DDRA, 0 ;ustawienie na wyjście PA0 podpiętego do diody D7
  36.  
  37. sei ;włączenie przerwań
  38.  
  39.  
  40.  
  41. Ext_int0:
  42.  
  43. sbis PINA,0
  44.  
  45. jmp GASZENIE
  46.  
  47. sbic PINA, 0
  48.  
  49. jmp ZAPALANIE ;zapalanie diody
  50.  
  51.  
  52.  
  53. GASZENIE:
  54.  
  55. cbi PORTA,0
  56. rcall delay
  57.  
  58. reti
  59.  
  60. ZAPALANIE:
  61.  
  62. sbi PORTA, 0
  63. rcall delay
  64.  
  65. reti
  66.  
  67. delay:
  68.  
  69.     ldi  r18, 2
  70.     ldi  r19, 4
  71.     ldi  r20, 187
  72. L1: dec  r20
  73.     brne L1
  74.     dec  r19
  75.     brne L1
  76.     dec  r18
  77.     brne L1
  78.     nop
  79.  
  80.     ldi R16, (1<<INTF0)
  81.     out GIFR, R16
RAW Paste Data
Top