Programacion del DAC del PIC 16f873

Estoy haciendo un pequeño detector de fuego con un PIC 16f873 y no se como usar el sensor analógico lm35 Ademas quisiera saber como coger la señal que este proporciona y deja en ADRESL y ADRESH para poder compararla con un literal. Ademas no se para que sirve el Vref+ que me inidican que he de conectar al DAC del PIC
1

1 respuesta

Respuesta
1
El LM35 entrega 10 mv por cada grado centígrado de temperatura (si se trata del que tiene salida en ºC).
El pic convierte esos voltios en un número de 0 a 1024.
Lo muestra en 2 bytes como vos bien has dicho.
La Vref es la referencia respecto de la cual se hace la conversión. Si uno pide referencia interna, esta comparación será respecto de 5 voltios(o la alimentación que tenga el micro) y 0 volt.
Si no me interesa que sea respecto de la tensión del micro, le puedo asignar otra diferente.
Para ello se pone en el vref+ una tensión xx.
La tensión vref+ nunca puede ser menor a 2 voltios, no funciona.
Yo uso unos diodos de referencia de tensión de 2,5 voltios.
De este modo me queda 2500 milivoltios de referencia dividido 1024 pasos del conversor:= 2,4 milivoltios por paso de concersor.
Si el adresl y adresh poseen en conjunto el número 325, significa que 325 x 2,4=780mV.
Para el caso del lm35 780 mV significan 78 ºc
Te paso la rutina de conversión
GETAD BSF STATUS, RP0
MOVLW B'10000101' ;
MOVWF ADCON1
BCF STATUS, RP0
MOVLW B'11000001' ;RC,CH0,MODULO AD=ON
MOVWF ADCON0
BCF PIR1, 6
NO
BSF ADCON0, 2 ;GO CONVERT AD CH0
No ;o sea chanel de Tc
LOOP BTFSS PIR1,6 ;TEST DE FIN DE CONVER
GOTO LOOP
; NOP
MOVF ADRESH,W ;CARGO VALOR ADRESH EN W
MOVWF TEMP1H ;DESCARGO EN TEMP1H
BSF STATUS, RP0 ;CAMBIO DE BANCO
MOVF ADRESL, W ;CARGO ADRESL EN W
BCF STATUS, RP0 ;BAJO DE PÁGINA
MOVWF TEMP1L ;DESCARGO EN TEMP1L
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas