Advertisement
Guest User

demo

a guest
Oct 15th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .cseg
  2. .org 0x00 rjmp Reset
  3.  
  4. Reset:
  5.    ldi R16, (1<<PB4)|(1<<PB3)|(1<<PB2)|(1<<PB1)|(0<<PB0)
  6.    out DDRB, R16
  7.    
  8. Loop:
  9.    ldi R17, 0x00
  10.    out PORTB, R17 ;; старт PB1-PB4 - низкий уровень
  11.    clr R17
  12.    ldi R17, (1<<PB4) ;; запуск тиристора
  13.    out PORTB, R17
  14.    rcall Delay_ms;; задержка одна милисекунда перед запуском PB2
  15.    ldi R17, (1<<PB4)|(1<<PB2)
  16.    out PORTB, R17 ;; PB2 на некоторое время выдает высокий уровень для заряда конденсатора
  17.    rcall Delay  ;;задержка на хуй знать какое время
  18.    clr R17
  19.    ldi R17, (0<<PB4)|(0<<PB2)|(1<<PB1) ;; боеготовность
  20.    sbic PINB, 0 ;; ждем нажатия кнопки на PB0
  21.    clr R17
  22.    ldi R17, (0<<PB4)|(1<<PB3)|(0<<PB2)|(0<<PB1) ;;После нажатия на кнопку(PB0) на PB1-низкий,PB2-низкий,PB3-высокий,PB4-низкий.
  23.    ;;Происходит выстрел!
  24.    rjmp Loop ;;И повтор шагов №1-5(второй выстрел и так далее)!
  25. Delay:
  26.    ldi  r18, 0x7A ;; задержка 3 секунды
  27.    ldi  r19, 0xC1
  28.    ldi  r20, 0x82
  29. L1: dec  r20
  30.    brne L1
  31.    dec  r19
  32.    brne L1
  33.    dec  r18
  34.    brne L1
  35.    rjmp PC+1
  36.    ret
  37. Delay_ms:   ;;зажержка 1 мс
  38.    ldi  r18, 0x0B
  39.    ldi  r19, 0x63
  40. Lms_1: dec  r19
  41.    brne L1
  42.    dec  r18
  43.    brne L1
  44.    ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement