Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .cseg
- .org 0x00 rjmp Reset
- Reset:
- ldi R16, (1<<PB4)|(1<<PB3)|(1<<PB2)|(1<<PB1)|(0<<PB0)
- out DDRB, R16
- Loop:
- ldi R17, 0x00
- out PORTB, R17 ;; старт PB1-PB4 - низкий уровень
- clr R17
- ldi R17, (1<<PB4) ;; запуск тиристора
- out PORTB, R17
- rcall Delay_ms;; задержка одна милисекунда перед запуском PB2
- ldi R17, (1<<PB4)|(1<<PB2)
- out PORTB, R17 ;; PB2 на некоторое время выдает высокий уровень для заряда конденсатора
- rcall Delay ;;задержка на хуй знать какое время
- clr R17
- ldi R17, (0<<PB4)|(0<<PB2)|(1<<PB1) ;; боеготовность
- sbic PINB, 0 ;; ждем нажатия кнопки на PB0
- clr R17
- ldi R17, (0<<PB4)|(1<<PB3)|(0<<PB2)|(0<<PB1) ;;После нажатия на кнопку(PB0) на PB1-низкий,PB2-низкий,PB3-высокий,PB4-низкий.
- ;;Происходит выстрел!
- rjmp Loop ;;И повтор шагов №1-5(второй выстрел и так далее)!
- Delay:
- ldi r18, 0x7A ;; задержка 3 секунды
- ldi r19, 0xC1
- ldi r20, 0x82
- L1: dec r20
- brne L1
- dec r19
- brne L1
- dec r18
- brne L1
- rjmp PC+1
- ret
- Delay_ms: ;;зажержка 1 мс
- ldi r18, 0x0B
- ldi r19, 0x63
- Lms_1: dec r19
- brne L1
- dec r18
- brne L1
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement