Facebook
From Insensitive Partdridge, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 222
  1. ; AssemblerApplicationIO_1.asm
  2. ; Created: 19.04.2018 14:05:14
  3. ; Author : w4 - program startowy
  4. ; Polaczenia ZL3AVR
  5. ;       1. zworka JP3=ON
  6. ;       2. PD7 -> JP23.w1 (switch S1)
  7. ;       3. PD6 -> JP23.w2 (switch S2)
  8. ;       4. PC  ->(tasiemka) JP22 ( D2-D9)
  9. ; Działanie startowe:
  10. ;   LED D2 wzkazuje stan przycisku S1
  11.  
  12. ; Zadania do wykonania
  13. ; app1 :        S1 wlacza diode D2, S2 wylacza diode D2
  14. ; app2:         S1 wlacza didy D2, D3, D4
  15. ;               S2-wylacza: dide D2 natychmiast, D3 po 1s , D4 po 2s
  16.  
  17. .def tmp1 = r16
  18. .def led = r26
  19.  
  20. start:
  21.         ldi tmp1, low(RAMEND) ; zainicjowanie SP na koniec RAM
  22.         out spl,r16    
  23.         ldi tmp1, high(RAMEND)
  24.         out sph,r16    
  25.        
  26.         ldi tmp1, 0xFF          ;konfiguracja portu C na wyjscie
  27.         out ddrc, r16  
  28.        
  29.         cbi ddrd, 7             ;konfiguracja PD6 i PD7 ne wej.
  30.         cbi ddrd, 6
  31.         sbi portd, 7    ;pull-up PD7
  32.         sbi portd, 6    ;pull-up PD6
  33.  
  34. mloop:
  35.         call app1
  36.         rjmp mloop
  37. //............................
  38. app1:
  39.         in tmp1, pind
  40.         cpi led, 0
  41.         breq check_s1
  42.         rjmp check_s2
  43.  
  44. check_s1:
  45.         andi tmp1, 0x80
  46.         breq setloop
  47.         ret
  48. check_s2:
  49.         andi tmp1, 0x40
  50.         breq resloop
  51.         ret
  52.  
  53. resloop:
  54.         cbi portc, 7
  55.         call Delay_1sec
  56.         cbi portc, 6
  57.         call Delay_1sec
  58.         cbi portc, 5
  59.         ldi led, 0
  60.         ret
  61.  
  62. setloop:
  63.         ldi tmp1,0xE0
  64.         out portc, tmp1
  65.         ldi led, 1
  66.         ret
  67.  
  68. Delay_1sec:
  69.     ldi  r18, 41
  70.     ldi  r19, 150
  71.     ldi  r20, 128
  72. L1: dec  r20
  73.     brne L1
  74.     dec  r19
  75.     brne L1
  76.     dec  r18
  77.     brne L1
  78.         ret
  79.