Estoy haciendo un medidor de distancia por infrarrojo, para el cual estoy utilizand
PIC16F876
sensor Sharp GP2D02
programa el MPLAB
El problema que tengo es que no se como calibrar dicho sensor ya que algunas veces para la distancia de varios centimetros me da valores de dos en dos y otras veces de 4 en 4, NO SE SI LO TENDRE MAL CONFIGURADO?? AY TENEIS EL PROGRAMA
BANCO0
movlw b"00001000"
movwf CONTA0 ;Lo tengo en el banco 0
bsf PORTC,0
bcf PORTC,0 ;pongo la patilla de control a 0
call TEMPO_70ms ;espero 70ms para q el sensor mida
bsf PORTC,0 ;pongo la patillad de control a1
coger_nuevo
call TEMPO_0.2ms ;espero 0.2ms
bcf PORTC,0 ;lo pongo a0 para recibir el primer bit y asi asta 8vece
nop
nop
nop
nop
nop
nop
btfss PORTA,3 ;compruebo si la patilla 3 es uno o cero
goto CERO
goto UNO
empezar bsf PORTC,0
BANCO1
movf DATOSL,W
sublw d"0" ;Resta 0 a los datos obtenidos para ver si es la medicion MAX y si es asi se ira a MAX
btfss STATUS,Z
goto AQUI
goto MAX
AQUI movf DATOSL,W
sublw d"255" ;Resta 255 a los datos obtenidos para ver si la medicion es MIN y si es asi se ira a MIN
btfsc STATUS,Z
goto MIN
movlw 3
movwf PCLATH ;Carga el numero 3 en PCLATH, que es dond esta la tabla
movf DATOSL,W
call TABLA_DE_VALORES
CERO BANCO1
bcf STATUS,C
rlf DATOSL,F
BANCO0
bsf PORTC,0
decf CONTA0,F
btfsc STATUS,Z
goto empezar
goto coger_nuevo
UNO BANCO1
bsf STATUS,C
rlf DATOSL,F
BANCO0
bsf PORTC,0
decf CONTA0,F
btfsc STATUS,Z
goto empezar
goto coger_nuevo