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

72.175 pts. Más de 10 añosdesarrollando equipos electrónicos con...
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