Hola, llevo un par de dias buscando información, pero no me ha quedado demasiado claro. Uso Basic y no llevo mucho tiempo programando Pics.
Estoy usando un 16f887 y está alimentado con 5v.
Estoy usando un led invertido para captar luz (tiene que ser un led). Cuando incide la luz, obtengo 0.15 voltios de pico aproximadamnte. Utilizando 10 bits en el A/D con la referencia de VDD sería aproximadamente el valor 30 de los 1024, pero me gustaría que el margen sea entre 0 y 2Voltios, le he dado bastantes vueltas pero no me queda muy claro que tengo que hacer en el registro. Se que en el caso de este pic son los pines 4 y 5, pero me pierdo. Alguien me puede echar una mano?
Este es el circuito:
Gracias de antemano!
un saludoo
Estoy usando un 16f887 y está alimentado con 5v.
Estoy usando un led invertido para captar luz (tiene que ser un led). Cuando incide la luz, obtengo 0.15 voltios de pico aproximadamnte. Utilizando 10 bits en el A/D con la referencia de VDD sería aproximadamente el valor 30 de los 1024, pero me gustaría que el margen sea entre 0 y 2Voltios, le he dado bastantes vueltas pero no me queda muy claro que tengo que hacer en el registro. Se que en el caso de este pic son los pines 4 y 5, pero me pierdo. Alguien me puede echar una mano?
Este es el circuito:
Código:
Define Osc 4
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 1
ANSEL= %10000001
RES VAR byte
TRISA =%11111111
TRISB =%00000000
ADCON1 = %00001110
ADCON0 = %11000001
portb=%00000000
INICIO:
ADCIN 0, res
IF res<2 THEN
portb =%00100000
PAUSE 10
ELSE
portb=%11000000
PAUSE 10
ENDIF
GOTO INICIO
END
Gracias de antemano!
un saludoo
Adjuntos
Última edición: