MightyPork

Blikač LED

May 29th, 2014
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;pokus
  2.  
  3. .include    "tn13def.inc"
  4.  
  5. .def    POM=r16
  6.  
  7. .org    0x0000              ;zacatek kodu
  8.     RJMP    RESET           ;skok na start po resetu
  9.  
  10.  
  11. .org    0x0010              ;zacatek vlastniho programu
  12.  
  13. RESET: 
  14.     LDI POM,low(RAMEND)     ;nastavi stack pointer
  15.     OUT  SPL,POM
  16.  
  17.     LDI  POM,0B00000011     ;nastavi vystupni piny
  18.     OUT  DDRB,POM
  19.            
  20. LOOP:
  21.     SBI PORTB,0         ;PB0=0, PB1=1
  22.     CBI PORTB,1
  23.     RCALL CEKANI            ;CEKACI SUB
  24.     CBI PORTB,0         ;PB0=1, PB1=0
  25.     SBI PORTB,1
  26.     RCALL CEKANI            ;CEKACI SUB
  27.     RJMP    LOOP                ;znovu na navesti LOOP
  28.  
  29. CEKANI:
  30.     PUSH    r18             ;ulozit pouzivane registry do STACKU
  31.     PUSH    r17
  32.     PUSH    r16
  33.    
  34.     LDI r16, 100
  35. L1: DEC r16
  36.     LDI r17, 100
  37. L2: DEC r17
  38.     LDI r18, 125
  39. L3: DEC r18
  40.     CPI r18, 0
  41.     BRNE    L3
  42.     CPI r17, 0
  43.     BRNE    L2
  44.     CPI r16, 0
  45.     BRNE    L1
  46.    
  47.     POP r16             ;nacist puvodni obsah registru ze STACKU
  48.     POP r17
  49.     POP r18
  50.  
  51.     RET                 ;navrat do hlavniho programu
Advertisement
Add Comment
Please, Sign In to add comment