hola es un robot con un pic16f84a
cuyos componentes son
trigger 40106
el pic16f84a
8resistencias 1ohm
4 switches normalmente abierto
mi problema es el voltaje pero quiero saber si también es el programa en MPLAB
;quiero saber si el voltaje es adecuado con los reley de 12 (JQX-14FC) y de 5v (RAS-0510 ) por que me dice tengo que meter un voltaje de 6V
LIST P=16F84 , R=HEX
INCLUDE "P16F84.INC"
;-------REGISTROS DE USUARIO---------------------
RA EQU 10H
RB EQU 11H
RC EQU 12H
;************************************************
ORG 0X00
goto inicio
;-------CONFIGURACION PUERTOS--------------------
inicio bsf STATUS,RP0 ; BANCO 1
movlw 00H
movwf TRISB ; Configuracion de todo puerto B como salida
movlw 0FFH
movwf TRISA ; Configuracion de todo el A como entrada
bcf STATUS,RP0 ; Volver a BANCO 0
clrf PORTB ; limpia residuos de Puerto B
;-------DETECCION SENSORES DELANTEROS------------
izq btfss PORTA,0 ; comprueba que RA0 sea 0, sino se dirige a der
btfss PORTA,1 ; Comprueba que RA1 sea 1
goto der
goto retroi
der btfss PORTA,1 ; Comprueba que RA1 sea 0
btfss PORTA,0 ; Comprueba que RA0 sea 1 para ir a retrod, sino se dirige a izde
goto izde
goto retrod
izde btfss PORTA,0 ; Que RA0 sea 0
btfsc PORTA,1 ; Y que RA1 tambien sea 0
goto izq
goto retroi
;-------DETECCION SENSORES TRASEROS--------------
izq_tr btfss PORTA,2 ; Que RA2 sea 1, sino se dirige a der_tr
btfss PORTA,3 ; Que RA3 sea 0, en este caso gira
goto der_tr
bsf PORTB,1
bcf PORTB,0
call retardr
bcf PORTB,1
goto izq
der_tr btfss PORTA,3 ; Que RA3 sea 0
btfss PORTA,2 ; Y RA2 sea 1 para girar, sino se dirige a izde_tr
goto izde_tr
bsf PORTB,0
bcf PORTB,1
call retardr
bcf PORTB,0
goto izq
izde_tr btfss PORTA,2 ; Que RA2 sea 0
btfsc PORTA,3 ; Y que RA3 tambien sea 0
goto unog
bsf PORTB,1
bcf PORTB,0
call retardr
bcf PORTB,1
goto izq
;-------RETROCESO DE MOTORES---------------------
retroi bsf PORTB,0 ; Ponemos a 1 RB0
bsf PORTB,1 ; y RB1
call retarfg ; Llama al retardo
bcf PORTB,0 ; Despues del retardo pone a 0, RB0
call retardr ; Vuelve a llamar al retardo
bcf PORTB,1 ; Y luego pone a 0 RB1
goto izq ; Se dirige a izq
retrod bsf PORTB,0
bsf PORTB,1
call retarfg
bcf PORTB,1
call retardr
bcf PORTB,0
goto izq
;-------RETARDO GRAL-----------------------------
retardg movlw 40
movwf RA
tresg movlw 40
movwf RB
dosg movlw 20
movwf RC
unog decfsz RC
goto izq_tr
decfsz RB
goto dosg
decfsz RA
goto tresg
return
;-------RETARDO DE GIRO--------------------------
retardr movlw 60
movwf RA
tresr movlw 40
movwf RB
dosr movlw 20
movwf RC
unor decfsz RC
goto unor
decfsz RB
goto dosr
decfsz RA
goto tresr
return
end
;-------FIN DE PROGRAMA--------------------------
también subo un archivo lo que tiene el robot y un imagen del circuito
antemano gracias
cuyos componentes son
trigger 40106
el pic16f84a
8resistencias 1ohm
4 switches normalmente abierto
mi problema es el voltaje pero quiero saber si también es el programa en MPLAB
;quiero saber si el voltaje es adecuado con los reley de 12 (JQX-14FC) y de 5v (RAS-0510 ) por que me dice tengo que meter un voltaje de 6V
LIST P=16F84 , R=HEX
INCLUDE "P16F84.INC"
;-------REGISTROS DE USUARIO---------------------
RA EQU 10H
RB EQU 11H
RC EQU 12H
;************************************************
ORG 0X00
goto inicio
;-------CONFIGURACION PUERTOS--------------------
inicio bsf STATUS,RP0 ; BANCO 1
movlw 00H
movwf TRISB ; Configuracion de todo puerto B como salida
movlw 0FFH
movwf TRISA ; Configuracion de todo el A como entrada
bcf STATUS,RP0 ; Volver a BANCO 0
clrf PORTB ; limpia residuos de Puerto B
;-------DETECCION SENSORES DELANTEROS------------
izq btfss PORTA,0 ; comprueba que RA0 sea 0, sino se dirige a der
btfss PORTA,1 ; Comprueba que RA1 sea 1
goto der
goto retroi
der btfss PORTA,1 ; Comprueba que RA1 sea 0
btfss PORTA,0 ; Comprueba que RA0 sea 1 para ir a retrod, sino se dirige a izde
goto izde
goto retrod
izde btfss PORTA,0 ; Que RA0 sea 0
btfsc PORTA,1 ; Y que RA1 tambien sea 0
goto izq
goto retroi
;-------DETECCION SENSORES TRASEROS--------------
izq_tr btfss PORTA,2 ; Que RA2 sea 1, sino se dirige a der_tr
btfss PORTA,3 ; Que RA3 sea 0, en este caso gira
goto der_tr
bsf PORTB,1
bcf PORTB,0
call retardr
bcf PORTB,1
goto izq
der_tr btfss PORTA,3 ; Que RA3 sea 0
btfss PORTA,2 ; Y RA2 sea 1 para girar, sino se dirige a izde_tr
goto izde_tr
bsf PORTB,0
bcf PORTB,1
call retardr
bcf PORTB,0
goto izq
izde_tr btfss PORTA,2 ; Que RA2 sea 0
btfsc PORTA,3 ; Y que RA3 tambien sea 0
goto unog
bsf PORTB,1
bcf PORTB,0
call retardr
bcf PORTB,1
goto izq
;-------RETROCESO DE MOTORES---------------------
retroi bsf PORTB,0 ; Ponemos a 1 RB0
bsf PORTB,1 ; y RB1
call retarfg ; Llama al retardo
bcf PORTB,0 ; Despues del retardo pone a 0, RB0
call retardr ; Vuelve a llamar al retardo
bcf PORTB,1 ; Y luego pone a 0 RB1
goto izq ; Se dirige a izq
retrod bsf PORTB,0
bsf PORTB,1
call retarfg
bcf PORTB,1
call retardr
bcf PORTB,0
goto izq
;-------RETARDO GRAL-----------------------------
retardg movlw 40
movwf RA
tresg movlw 40
movwf RB
dosg movlw 20
movwf RC
unog decfsz RC
goto izq_tr
decfsz RB
goto dosg
decfsz RA
goto tresg
return
;-------RETARDO DE GIRO--------------------------
retardr movlw 60
movwf RA
tresr movlw 40
movwf RB
dosr movlw 20
movwf RC
unor decfsz RC
goto unor
decfsz RB
goto dosr
decfsz RA
goto tresr
return
end
;-------FIN DE PROGRAMA--------------------------
también subo un archivo lo que tiene el robot y un imagen del circuito
antemano gracias