Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // zad 1
  2. .include "m32def.inc"   //dołączenie pliku z definicjami
  3.  
  4.     ldi R16, high(RAMEND)
  5.     out SPH, R16
  6.     ldi R16, low(RAMEND)
  7.     out SPL, R16
  8.  
  9.  
  10.     ldi R16, 0xFF
  11.     out DDRA, R16
  12.  
  13.  
  14.     cbi DDRD, PD1  
  15.     sbi PORTD, PD1  
  16.  
  17. LOOP:              
  18.     ldi R16, 0b01010101
  19.     out PORTA, R16
  20.     sbis PIND, PD1
  21.     rjmp Przycisk
  22.     rjmp LOOP
  23. Przycisk:
  24.     ldi R16, 0b10101010
  25.     out PORTA, R16
  26.     sbic PIND, PD1
  27.     rjmp LOOP
  28.     rjmp Przycisk
  29.  
  30. //// zad 2
  31.  
  32. .include "m32def.inc"   //dołączenie pliku z definicjami
  33.     ldi R16, high(RAMEND)
  34.     out SPH, R16
  35.     ldi R16, low(RAMEND)
  36.     out SPL, R16
  37.  
  38.  
  39.     ldi R16, 0xFF
  40.     out DDRA, R16
  41.  
  42.     cbi DDRD, PD1  
  43.     sbi PORTD, PD1  
  44.  
  45.    
  46.     ldi R18, 0b00000010
  47.  
  48.  
  49. LOOP:      
  50. //nie wcisnety 
  51.     ldi R16, 0b10000001
  52.     or R16, R18
  53.     out PORTA, R16 //diody
  54.  
  55.  
  56.     sbis PIND, PD1 //wejscie przycisku
  57.     rjmp Przycisk
  58.     rjmp LOOP
  59. Przycisk:
  60.     ldi R16, 0b10000001
  61.     lsl R18
  62.     sbrc R18, 7
  63.     ldi R18, 0b00000010
  64.  
  65.     or R16, R18
  66.     out PORTA, R16
  67.     call Opoz
  68.  
  69.     sbic PIND, PD1
  70.     rjmp LOOP
  71.     rjmp Przycisk
  72.  
  73.  
  74. Opoz:
  75.     ldi R16, 0xFF
  76. d1:             //pętla zewnętrzna opóźnienia          
  77.     ldi R17, 0xFF   //załadownie rejestru R17 wartością 255
  78.     d2:     //pętla wewnętrzna opóźnienia
  79.         dec R17     //dekrementacja rejestru R17
  80.         brne d2 //skocz jeśli różne od zera
  81.     dec R16         //dekrementacja rejestru R16
  82.     brne d1     //skocz jeśli różne od zera
  83.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement