Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; PROJEKT KROKOWIEC ZE STEROWANIEM PEŁNOKROKOWYM 2
- .include "m32def.inc"
- .def licznik1 = R18
- .def licznik2 = R19
- .def licznik3 = R20
- .org 0x0000
- jmp Start
- ; miejsce na ISRy przerwan
- Start:
- ; przygotowania STOSu
- ldi R17, HIGH(RAMEND)
- out SPH, R17
- ldi R17, LOW(RAMEND)
- out SPL, R17
- ; robimy standardowa PRZESTRZEN We/Wy
- ldi R21, 0b11110000
- out DDRB, R21 ; krokowiec bedzie sterowany z pinow PB4 – PB7
- ldi R22, 43 ; definicje przerwan, jeśli beda potrzebne
- //ldi R23, 1
- ; zaczynamy krecic silniczkiem
- Procedura_krecenia:
- ldi R16, 0b10010000
- out PORTB, R16
- rcall Opoznienie
- nop
- ldi R16, 0b00110000
- out PORTB, R16
- rcall Opoznienie
- nop
- ldi R16, 0b01100000
- out PORTB, R16
- rcall Opoznienie
- nop
- ldi R16, 0b11000000
- out PORTB, R16
- rcall Opoznienie
- nop
- dec R22
- brne Procedura_krecenia
- //dec R23
- //brne Procedura_krecenia
- rjmp Koniec ; i tak w nieskonczonosc…
- ; procedura Opoznienie sluzyc będzie do sterowania czestotliwoscia generowanych impulsów elektrycznych
- Opoznienie:
- ldi licznik3, 12
- LoopA:
- ldi licznik2, 8
- LoopA0:
- ldi licznik1, 161
- LoopA1:
- dec licznik1
- brne LoopA1
- dec licznik2
- brne LoopA0
- dec licznik3
- brne LoopA
- ret
- Koniec:
- ldi R16,0
- out PORTB, R16
- rjmp Koniec
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement