Saludos amigos, es la primera vez que publico un tema, espero no pasar por alto ninguna de sus reglas.
Mi problema es el siguiente: tengo un montaje en proteus con un pic 16f877a y unos motores paso a paso, todo funciona a la perfeccion, el problema esta en mi proto, no funciona nada!! Solo los voltajes de entrada llegan a los pines correspondientes y nada mas!! tengo todo bien montado y he probado las continuidades de los cables mas de una vez y todos estan bien, incluso los voltajes. Creo que el problema radica en el programa o en alguna configuracion.
Aca les dejo parte del programa:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _HS_OSC & _BODEN_OFF & _LVP_OFF & _DEBUG_OFF & _CPD_OFF
;*******************************************************************************
LIST P=16F877A ;MODELO MICROCONTROLADOR
RADIX hex ;POR DEFECTO SE USARÁ LA NUMERACIÓN HEXADECIMAL
INCLUDE P16F877A.INC ;LIBRERIA DEL MICROCONTROLADOR
CBLOCK 0X22
ENDC
;************ZONA DE DATOS************
#DEFINE MUNOI PORTB,6
#DEFINE MUNOD PORTB,7
#DEFINE MDOSI PORTC,6
#DEFINE MDOSD PORTC,7
#DEFINE MTRESI PORTD,6
#DEFINE MTRESD PORTD,7
#DEFINE MCUATROI PORTE,0
#DEFINE MCUATROD PORTE,1
; ZONA DE CÓDIGOS ********************************************************************
ORG 0000H
GOTO Inicio
ORG 0X04
NOP
Inicio
BCF STATUS,RP0
CLRF PORTA
CLRF PORTB
CLRF PORTC
CLRF PORTD
CLRF PORTE
BSF STATUS,RP0
BCF STATUS,RP1
MOVLW B'00000110'
MOVWF ADCON0
MOVLW B'000000'
MOVWF TRISA
MOVLW B'11000000'
MOVWF PORTB
MOVLW B'11000000'
MOVWF PORTC
MOVLW B'11000000'
MOVWF PORTD
MOVLW B'011'
MOVWF PORTE
BCF STATUS,RP0
BCF STATUS,RP1
;SUBRUTINAS**************************
PRINCIPAL
BTFSS MUNOI
CALL GiroIzquierda1
BTFSS MUNOD
CALL GiroDerecha1
BTFSS MDOSI
CALL GiroIzquierda2
BTFSS MDOSD
CALL GiroDerecha2
BTFSS MTRESI
CALL GiroIzquierda3
BTFSS MTRESD
CALL GiroDerecha3
BTFSS MCUATROI
CALL GiroIzquierda4
BTFSS MCUATROD
CALL GiroDerecha4
FIN
GOTO PRINCIPAL
; Subrutina "GiroIzquierda" -------------------------------------------------------------
GiroIzquierda1
MOVLW b'00110101' ; Primer paso.
MOVWF PORTA ; Lo envía a la salida donde está conectado el motor PAP.
CALL DELAY_10MS
MOVLW b'00110110' ; Segundo paso.
MOVWF PORTA
CALL DELAY_10MS
MOVLW b'00111010' ; Tercer paso.
MOVWF PORTA
CALL DELAY_10MS
MOVLW b'00111001' ; Cuarto y último paso
MOVWF PORTA
CALL DELAY_10MS
CLRF PORTA
RETURN
; Subrutina "GiroDerecha" ---------------------------------------------------------------
GiroDerecha1
MOVLW b'00111001' ; Primer paso.
MOVWF PORTA
CALL DELAY_10MS
MOVLW b'00111010' ; Segundo paso.
MOVWF PORTA
CALL DELAY_10MS
MOVLW b'00110110' ; Tercer paso.
MOVWF PORTA
CALL DELAY_10MS
MOVLW b'00110101' ; Último paso.
MOVWF PORTA
CALL DELAY_10MS
CLRF PORTA
RETURN
INCLUDE <delays.INC>
END