Estaba tratando de controlar un motor paso a paso usando ATmega32. Estoy usando AVR studio 4. Pero no funciona perfectamente en la simulación en Proteus. Las 4 señales de entrada para el pin IN1, IN2, IN3 e IN4 del controlador del motor están parpadeando sin ninguna secuencia. Mi código está siguiendo -
.include "m32def.inc"
.DEF TEMP = R16
.DEF COUNTER = R17
.DEF _STACK = R18
.ORG $0000
LDI TEMP, 0XFF
OUT DDRB, TEMP
LDI _STACK,LOW(RAMEND) ;SETUP STACK POINTER
OUT SPL, _STACK ;SO CALLS TO SUBROUTINES
LDI _STACK,HIGH(RAMEND) ;WORK CORRECTL
OUT SPH,_STACK
LABEL1:
LDI TEMP, 0b00000001
OUT PORTB,TEMP
RCALL PAUSE
LDI TEMP, 0b00000010
OUT PORTB,TEMP
RCALL PAUSE
LDI TEMP, 0b00000100
OUT PORTB,TEMP
RCALL PAUSE
LDI TEMP, 0b00001000
OUT PORTB,TEMP
RCALL PAUSE
RJMP LABEL1
;----------------;
;DELAY ROUTINE ;
;----------------;
PAUSE:
LDI COUNTER, 2
PLUPE:
NOP
DEC COUNTER
BRNE PLUPE
RET