SHARE
TWEET

zadatak 5 L02

KgCro Oct 15th, 2019 70 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //L02 zadatak 5
  2.  
  3. .equ delayCnt = 9 // ovo racunamo sa onom formulom za X
  4.  
  5. .def tmp = r16
  6.  
  7. .cseg
  8.     rjmp reset
  9.  
  10. reset:
  11.     ldi tmp,high(RAMEND)
  12.     out SPH, tmp
  13.     ldi tmp, low(RAMEND)
  14.     out SPL, tmp
  15.    
  16.     ldi tmp, 0xff // cijeli port je aktivan,ali ugasen
  17.     out DDRA, tmp
  18.     out PORTA , tmp
  19.  
  20.  
  21.     main:
  22.         rcall loadingbar
  23.         rcall delay
  24.     rjmp main
  25.  
  26.     /*
  27.         fl = 1 / 0.4 <- frekvencija koja nam treba (u onoj formuli)
  28.  
  29.         X = (7372800+(1/0,4)) / ((1/0,4)*197122)) = 15
  30.    
  31.     */
  32.  
  33.  
  34.  
  35.     loadingbar:
  36.         push tmp //pusha na stack
  37.         in tmp, PORTA //ucita podatak s porta
  38.        
  39.         /*
  40.         ako je tmp == 0x00
  41.             tmp = 0xff -> sve ih ugasimo
  42.         inace
  43.             lsr tmp
  44.         */
  45.         cpi tmp, 0x00 // comparea da vidi ako su upaljene i onda digne zero flag ako jesu
  46.         brne inace
  47.             ldi tmp, 0xff
  48.             rjmp end
  49.         inace:
  50.             lsr tmp
  51.         end:
  52.        
  53.         out PORTA, tmp
  54.         pop tmp // vraca iz stacka
  55.     ret
  56.  
  57.     delay:
  58.         push r17
  59.         push r18
  60.         push r19
  61.  
  62.         clr r17
  63.         clr r18
  64.         ldi r19, delayCnt
  65.  
  66.         delay_loop:
  67.             dec r17 ; 0,255 , 254... , 0
  68.             brne delay_loop
  69.                 dec r18 ; 0,255,254,...,0
  70.                 brne delay_loop
  71.                     dec r19 ; n,n-1
  72.                     brne delay_loop
  73.         pop r19
  74.         pop r18
  75.         pop r17
  76.  
  77. ret
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top