hola soy nueva en esto de la programación y quisiera un poco de orientación
tengo que resolver la siguiente problemática tengo que detectar el movimiento de una polea para saber cuando una bomba esta encendida, lo haré por medio de un sensor réflex cuando este encendida estará conmutando y así me indicara que esta encendida y cuando se detenga aun que quede en la banda que refleja el haz de luz quiero que me indique que esta apagada si después de cierto tiempo no hay una conmutación.
quiero saber si por medio de comparación de registro puedo hacerlo el problema es que no se como hacer esa parte y creo que estoy total mente perdida tengo el pic 16f877a
no tengo ni la mitad del programa pero no se si asi voy bien
quisiera un poco de asesoria
tengo una sola señal de entrada y esa me indicara si esta encendida o apagado
como comparo si cambio o no despues de cierto tiempo.
__CONFIG _CP_ON & _DEBUG_OFF & _WRT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
List P=16f877A
include <P16F877A.INC>
CBLOCK 0X20
registro_1
registro_2
ENDC
#DEFINE PORTA,4 trasmisor
#DEFINE PORTB,4 rele
ORG 0X00
inicio
bsf STATUS,RP0
bcf STATUS,RP1
clrf TRISB
movlw b'00000110'
movwf ADCON1
movlw b'00010000'
movwf TRISA
bcf STATUS,RP0
principal
movlw
movwf registro_1 ;mueve w ael registro 1
movwf registro_2 ;mueve w al registro 2
(no se si tnego que cargar la señal dos veces o solo una y luego volverla a cambiar)
movf registro_1,w ; w = registro 1
subwf registro_2,w ; w = registro 2- w
btfss STATUS, C ; (aqui no se si tengo que comparar el C o el Z o bit que corresponda del puerto)