Está en la página 1de 6

INSTITUTO TECNOLGICO DE TLHUAC

Profesor: Ing. Pichardo Cruz David Saul


Asignatura: Microcontroladores
Carrera: Ingeniera Mecatrnica
Grupo: 6M1
Realizar un programa que permita la conversin analgica a
digital utilizando el sensor de temperatura LM35, el resultado
de la conversin mostrarlo en algn PUERTO.
Integrantes :
Cortez Guzman Silvia
Castaeda Merino Giusseph enrique
Ramirez Hernadez Romario
Valderrama Zarco Isaac

INTRODUCCION

Los
microcontroladores
incorporan
un
CAD
(Convertidor
Analgico/Digital) pueden procesar seales analgicas abundantes en
las aplicaciones. Suelen disponer de un multiplexor que permite aplicar a
la entrada del CAD diversas seales
analgicas desde las terminales del circuito integrado. Un convertidor
anlogo digital tiene como entrada un nivel de voltaje (valor analgico) y
produce en su salida un nmero binario de n bits proporcional al nivel de
la entrada (valor digital). Los convertidores de seal anlogo a digital
abrevian ADC o A/D.
El mdulo del ADC cuenta con dos registros ADRESH y ADRESL donde se
almacena
Automticamente los 10 bits la conversin digital.
Sin embargo es posible seleccionar a cual de los dos registros se va a
leer como ceros los 6
bits que restan.
Con ayuda del bit ADFM del registro ADCON1 podemos seleccionar la
distribucin de los
10 bits. Por ejemplo si ADFM=1 los bits estarn asignados entre los 8
bits de ADRESL y los
2 menos significativos de ADRESH.
Por otro lado si ADFM=0 los bits estarn asignados a los 8 bits de
ADRESH y los 2 mas
significativos de ADRESL. Para el programa a disear vamos a asignar el
valor de 0 a
ADFM.
Luego es importante recordar que el conversor necesita un tiempo de
adquisicin antes de
empezar la conversin por lo que es recomendable generar por software
un retardo que
como mnimo debe ser de 19,72 us. En el programa a disear
realizaremos un retardo con
ayuda del TMR0 y asignar el preescaler 1:256 hasta que desborde,
obteniendo asi un
retardo de 65 us. Si bien es cierto este retardo esta sobredimensionado,
es importante
recalcar que el tiempo de adquisicin puede crecer en funcin a la
impedancia de entrada.
(max impedancia recomendada = 10kohm)

Ilustracin 1 A/D REGISTRO

Ilustracin 2 Practica con sensor de temperatura

DIAGRAMA DE FLUJO

Ilustracin 3 SIMULACION EN PROTEUS

list p=16f877A ;Comando que indica el Pic usado

include "p16f877A.inc" ;Etiquetas genricas para el Pic16F877


org 0x000 ;Inicio del programa en la posicin cero de memoria
inicio
bcf STATUS,RP0 ;Ir banco 0
bcf STATUS,RP1
movlw b'01000001' ;A/D conversion Fosc/8
movwf ADCON0
bsf STATUS,RP0 ;Ir banco 1
bcf STATUS,RP1
clrf TRISA ;PORTA salida
clrf TRISC ;PORTC salida
clrf TRISE ;PORTE salida
movlw b'00000111'
movwf OPTION_REG ;TMR0 preescaler, 1:156
movlw b'00001110' ;A/D Port AN0/RA0
movwf ADCON1
bsf TRISA,0 ;RA0 linea de entrada para el ADC
bcf STATUS,RP0 ;Ir banco 0
bcf STATUS,RP1
clrf PORTC ;Limpiar PORTC
ciclo
btfss INTCON,T0IF
goto ciclo ;Esperar que el timer0 desborde
bcf INTCON,T0IF ;Limpiar el indicador de desborde
bsf ADCON0,GO ;Empezar la conversion A/D
tiempo
btfsc ADCON0,GO ;ADCON0 es 0? (la conversion esta completa?)
goto tiempo ;No, ir _espera
movf ADRESH,W ;Si, W=ADRESH
movwf PORTC ;Muestra el resultado en PORTC
goto ciclo ;Ir bucle
end

También podría gustarte