; **PROJEKT KROKOWIEC ZE STEROWANIEM PEŁNOKROKOWYM 1** .include "m32def.inc" ; PONIZEJ ZESTAW PINOW PORTU B DO PODLACZENIA: ; PB4 = IN1 ; PB5 = IN2 ; PB6 = IN3 ; PB7 = IN4 ; ; przydzielenie rejestrow pod procedure Delay .def licznik1 = R18 .def licznik2 = R19 .def licznik3 = R20 .org 0x0000 jmp Start ; miejsce na ISRy od 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, 0b1111_0000 out DDRB, R21 ; krokowiec bedzie sterowany z pinow PB4 – PB7 ; definicje przerwan, jeśli beda potrzebne ; zaczynamy obracac silniczkiem krokowym procedura_portb: ldi R16, 0b0001_0000 out PORTB, R16 call Delay nop ldi R16, 0b0010_0000 out PORTB, R16 call Delay nop ldi R16, 0b0100_0000 out PORTB, R16 call Delay nop ldi R16, 0b1000_0000 out PORTB, R16 call Delay nop rjmp procedura_portb ; i tak w nieskonczonosc… ; *** ; procedura Delay sluzyc będzie do sterowania czestotliwoscia generowanych impulsów elektrycznych Delay: ldi licznik3, 100 LoopA0: ldi licznik2, 50 LoopA1: ldi licznik1, 10 LoopA2: dec licznik1 brne LoopA2 dec licznik2 brne LoopA1 dec licznik3 brne LoopA0 ret ; ***KONIEC***