0% encontró este documento útil (0 votos)
182 vistas12 páginas

Practica 6

Este documento describe varios ejercicios prácticos sobre conversión análoga a digital y digital a análoga utilizando un microcontrolador PIC. Se realizan mediciones de voltaje, temperatura y conversiones entre diferentes formatos.

Cargado por

dancercris
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
182 vistas12 páginas

Practica 6

Este documento describe varios ejercicios prácticos sobre conversión análoga a digital y digital a análoga utilizando un microcontrolador PIC. Se realizan mediciones de voltaje, temperatura y conversiones entre diferentes formatos.

Cargado por

dancercris
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERIDAD POLITÉCNICA

SALESIANA

FACULTAD DE INGENIERÍAS

INGENIERÍA ELECTRÓNICA

Sistemas micro procesados 1

PRACTICA 6

Conversión análoga digital y digital análoga

NOMBRES:

ANGEL ACHIG

CRISTIAN GUALOTUÑA

CRISTÓBAL VILLAGOMEZ

QUITO – ECUADOR
DATASHEETS
PIC16F877A

LCD 2x16

Sensor lm35

DAC 0808
AMPLIFICADOR LM741

DESARROLLO PRACTICO

OBJETIVO

UTILIZAR LOS CONVERSORES A/D Y D/A DEL MICROCONTROLADOR PIC

ACTIVIDAD 1

Conversión A/D con el micro controlador pic 16f877a. Se adquiere la señal de un potenciómetro
entre 0 y 5 voltios y se observa en el LCD un valor entre 0 y 1024.

CÓDIGO
program AnalogoDigital
dim voltaje as word
dim valor as string[10]
sub procedure init
adcon1=$80
trisa=$FF
lcd_config(portb,7,6,5,4,portb,0,1,2)
lcd_cmd(lcd_cursor_off)
end sub
main:
init
while true

voltaje = adc_read(0)
wordtostr(voltaje, valor)
lcd_cmd(lcd_clear)
lcd_out(1,1,valor)
delay_ms(300)
wend
end.

ESQUEMA EN EL PROTEUS

Imagen practica
2. EJERCICIO 2

Conversión A/D con el micro controlador pic 16f877A. Se requiere un valor entre 0 y 5 voltios y se
observa en el LCD el valor entre 0 y 5 voltios.

CÓDIGO

program analogdig1
dim voltaje as float
dim valor as string[10]
sub procedure init
option_reg=$80
adcon1=$80
trisa=$FF
lcd_config(portb,7,6,5,4,portb,0,1,2)
lcd_cmd(lcd_cursor_off)
end sub
main:
init
while true
voltaje = adc_read(0)
voltaje=(voltaje*5)/1024
floattostr(voltaje, valor)
lcd_cmd(lcd_clear)
lcd_out(1,1,valor)
delay_ms(300)
wend
end.
SIMULACIÓN EN PROTEUS

Foto practica

EJERCICIO 3

Medición de temperatura con LM35.


El LM35 es un sensor analógico que devuelve la temperatura en forma de tensión esta tensión
devuelta es proporcional a la temperatura, Su rango comprende desde -55º hasta 150 ºC y el valor
devuelto es el equivalente a
la temperatura dividida por 10. Entonces es su salida se obtiene valores como estos:
1000mv=100 ºC
240mv=24 ºC
-300mv=-30 ºC
En el Micro controlador hay que implementar una regla de tres con el valor
Analógico leído, de forma que podamos trabajar con el valor devuelto en formato de temperatura
real, ya sea para hacer un termómetro con avisador o simplemente para mostrar la lectura en un
LCD.
Los ADC en el pic 18f452 devuelven valores con 10bits de resolución, se entiende que este valor
comprende de 0-5v por lo tanto su valor máximo es 1023y equivale a los 5voltios para el ejemplo
que mostraremos más abajo utilizaremos el sensor LM35 sin realimentación negativa con el cual
solo podemos obtener lectura de temperatura mayores a 0º.
Para esto utilizaremos esta expresión:
Resolución por paso=Voltaje/Resolución ADC
Donde:
5v/1024(bits)=0.00488+1000=4.88
Ahora se multiplica por el valor de 10 devuelto para obtener un segundo decimal del resultado de
la conversión ADC/Temperatura, con esto tenemos un valor que hemos redondeado a 48.

CÓDIGO
program LM35
dim temp_res as word
dim resultado as word
dim outtxt as byte [5]
main:
adcon1=%10001110
trisa=%00000001
trisb=0
lcd_config(portb,7,6,5,4,portb,0,1,2)
lcd_cmd(lcd_cursor_off)
lcd_cmd(lcd_clear)
lcd_out(1,1,"temperatura: ")
while true
temp_res = adc_read(0)
resultado = temp_res*48
wordtostr(resultado, outtxt)
lcd_chr(1,6,outtxt[0])
lcd_chr(1,7,outtxt[1])
lcd_chr(1,8,outtxt[2])
lcd_chr(1,9,".")
lcd_chr(1,10,outtxt[3])
lcd_chr(1,11,outtxt[4])
wend
end.
SIMULACIÓN EN PROTEUS

Imágenes de la práctica

4. EJERCICIO 4

Conversión Análogo digital de 12 bits


MCP 3202
El conversor A/D 12 bits MCP320X soporta 100K muestras por segundo, consume 400mA en modo
funcionamiento y 500 nA en modo espera, alimentado de 2.7V a 5.5 V y un rango de temperatura
de -40C a 85C.
Otras características son ± 1 LSB DNL y ±1 LSB INL a 100k muestras/s, si pérdida de código y una
interface de salida serie para SPI. Estos nuevos dispositivos están disponibles de 1, 2,4, 8 canales y
una gran variedad de encapsulados y números de pines.
Código

CÓDIGO
program conversor12
dim i as byte
dim j as byte
dim k as word
dim l as float
dim txt1,txt2 as string[6]
sub procedure ret1 delay_ms(1000) end sub
sub procedure tx
k=i <<8
k=k+j
k=k and %1111111111111000
k=k>>3
wordtostr(k,txt1)
l=k
floattostr(l,txt1)
end sub
main:
TRISB=0
Spi_Init ' Standard configuration
Lcd_Config(PORTb,3,2,1,0,PORTB,5,6,4)
Lcd_Cmd(Lcd_CURSOR_OFF) ' Turn off cursor
Lcd_Out(1, 1, " CONVERSOR ")
Lcd_Out(2, 1, " ")
TRISC = TRISC and $FB
portc.2=1
while true
portc.2=0
Spi_Write(%1011)
i = Spi_Read(i)
j = Spi_Read(j)
portc.2=1
tx
ret1
Lcd_Out(2,7, txt1)
Lcd_Out(2,11, " ")
wend
end.
SIMULACION EN EL PROTEUS

EJERCICIO 5

PROBLEMA:
Conversión digital análoga

CÓDIGO
program DAC
sub procedure init
trisd=0
end sub
dim i as byte
dim a as byte
main:
init
while true
a=0
i=0
for i=1 to 255
a=a+1
portd=a
next i
wend
end.
SIMULACION EN EL PROTEUS

FOTO DE LA PRÁCTICA
CONCLUSIONES

 El micro q utilizamos posee dos convertidores el digital y el analógico los cuales


complementados con un mcp 3202 puede darnos un convertidor analógico de alta
fidelidad

 Que la elaboración nos sirve para comprender un poco más la teoría de los micro
controladores y su aplicación; de ahí la importancia del mismo, pues a través de él se
puede apreciar lo interesante de la construcción de los micro controladores y utilizamos
los conversores A/D y D/A del micro controlador PIC

 Como los puertos están asignados a un espacio separado de la memoria, se tiene


disponible la capacidad total de direccionamiento del microprocesador para circuitos de
memoria.

 Con el micro controlador y un programa adecuado en BASIC se puede realizar los circuitos
que sean capaces de detectar la temperatura en varios procesos industriales por lo que
esto es una parte de aplicación en la vida diaria

También podría gustarte