TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: xabibix en 19 de Marzo de 2006, 03:48:00
-
Quiero realizar el siguiente programa:
Cuando activo el pulsador RA0 mas de dos segundos, se queda a nivel alto la salida RB0 y solo pasa a nivel bajo dicha salida al accionar menos de dos segundos el pulsador RA0.
Me podriais orientar en la realización del programa?
Muchas gracias.
-
Escrito originalmente por xabibix
Quiero realizar el siguiente programa:
Cuando activo el pulsador RA0 mas de dos segundos, se queda a nivel alto la salida RB0 y solo pasa a nivel bajo dicha salida al accionar menos de dos segundos el pulsador RA0.
Me podriais orientar en la realización del programa?
Muchas gracias.
En que lenguaje?
Cuales son tus conocimientos?
No has siquiera intentado alguna linea que podamos luego irte corrigiendo?
-
Re: El programa que he pensado es este:
ORG 0
Inicio bsf STATUS,RP0
clrf TRISB
movlw b"00011111"
movf TRISA
bcf STATUS,RP0
Principal movf PORTA,W
xorwf PORTB,W
btfsc W,0
goto salida1
goto salida0
salida1 movlw b"00000001"
call retardo_2seg
movwf PORTB
goto Principal
salida0 movlw b"00000000"
movf PORTB
goto Principal
INCLUDE <RETARDOS.INC>
END
-
Ojo con esto:
salida1 movlw b"00000001"
call retardo_2seg
movwf PORTB
cargas el acumulador con un dato que luego, si entras en la subrutina de retardo es más que seguro que utilizas el acumulador que por lo tanto al salir de la subrutina tendrá un valor erroneo para mover al puerto B
-
Escrito originalmente por xabibix
Re: El programa que he pensado es este:
ORG 0
Inicio bsf STATUS,RP0
clrf TRISB
movlw b"00011111"
movf TRISA
bcf STATUS,RP0
Principal movf PORTA,W
xorwf PORTB,W
btfsc W,0
goto salida1
goto salida0
salida1 movlw b"00000001"
call retardo_2seg
movwf PORTB
goto Principal
salida0 movlw b"00000000"
movf PORTB
goto Principal
INCLUDE <RETARDOS.INC>
END
Lo has probado en el simulador del MPLAB IDE o algun otro?
Te recomiendo comiences a familiarizarte con estas herramientas ya que son de vital importancia . Probar antes de armar un hardware puede salvarte de cometer muchos errores, ahorrarte tiempo y dinero.