You are on page 1of 16

Práctica #06 Sistemas Microprocesados

UNIVERSIDAD
POLITÉCNICA SALESIANA
FACULTAD DE INGENIERÍAS
ESCUELA DE ELECTRÓNICA

SISTEMAS MICROPROCESADOS

PRÁCTICAS DE
LABORATORIO

INFORME PRÁCTICA #06

TEMA: CONVERSIÓN
ANÁLOGA DIGITAL Y DIGITAL
ANÁLOGA

GEOVANNY ACOSTA
DARÍO CAÑAVERAL
NATALY GONZÁLEZ
1
Práctica #06 Sistemas Microprocesados
ÍNDICE
Problema 1: Conversión A/D con el microcontrolador 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. ..................................................... 3
Entradas: ................................................................................................................................................................... 3
Proceso: .................................................................................................................................................................... 3
Salidas: ...................................................................................................................................................................... 3
Diagrama de Flujo: .................................................................................................................................................... 3
Código: ...................................................................................................................................................................... 3
Esquemático:............................................................................................................................................................. 4
Fotos: ........................................................................................................................................................................ 4
Problema 2: Conversor A/D con el microcontrolador Pic 16f877A. Se adquiere un valor entre 0 y 5 Voltios y
se observa, en el LCD el calor entre 0 y 5 Voltios........................................................................................................... 5
Entradas: ................................................................................................................................................................... 5
Proceso: .................................................................................................................................................................... 5
Salidas: ...................................................................................................................................................................... 5
Diagrama de Flujo: .................................................................................................................................................... 6
Código: ...................................................................................................................................................................... 6
Esquemático:............................................................................................................................................................. 7
Fotos: ........................................................................................................................................................................ 7
Problema 3: Medición de Temperatura con lm35. ............................................................................................... 7
Entradas: ................................................................................................................................................................... 8
Procesos: ................................................................................................................................................................... 8
Salidas: ...................................................................................................................................................................... 8
Diagrama de Flujo: .................................................................................................................................................... 8
Código: ...................................................................................................................................................................... 9
Esquemático:............................................................................................................................................................. 9
Fotos: ...................................................................................................................................................................... 10
Problema 4: Conversión Digital Análoga ....................................................................................................... 10
Entradas: ................................................................................................................................................................. 10
Proceso: .................................................................................................................................................................. 10
Salidas: .................................................................................................................................................................... 10
Diagrama de Flujo: .................................................................................................................................................. 11
Código: .................................................................................................................................................................... 11
Esquemático:........................................................................................................................................................... 12
Fotos: ...................................................................................................................................................................... 12
Problema 5: Conversor Análogo Digital de 12 Bits. ....................................................................................... 12
Entradas: ................................................................................................................................................................. 12
Proceso: .................................................................................................................................................................. 13
Salidas: .................................................................................................................................................................... 13
Diagrama de Flujo: .................................................................................................................................................. 13
Código: .................................................................................................................................................................... 13
Esquemático:........................................................................................................................................................... 14
Fotos: ...................................................................................................................................................................... 15
BIBLIOGRAFÍA: ............................................................................................................................................................. 15

2
Práctica #06 Sistemas Microprocesados

PRÁCTICA 6

Objetivo: Utilizar los conversores A/D y D/A del microcontrolador Pic.

Problema 1: Conversión A/D con el microcontrolador 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.

Entradas:
Señal de entre 0 y 5V.

Proceso:
 Defino las variables
 Habilito ADCON1
 Configuro Puerto A como entrada
 Configuro el LCD
 Apago el Cursor
 Leo el Voltaje de entrada y muestro en el LCD
 Borro
 Reescribo
 Varío el voltaje
 Visualizo en LCD

Salidas:
LCD, valor entre 0 y 1024.

Diagrama de Flujo:

INICIO

Defino Variables.
Valor de Voltaje

Subrutina
ADCON1

Leo el Voltaje
de Entrada Puerto A como
entrada

Mostrar Valor
de Voltaje Configuro LCD

Borrar Apago

Visualizo un
nuevo valor
3

Retardo
Práctica #06 Sistemas Microprocesados

Código:

program practica6_1
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.

Esquemático:

4
Práctica #06 Sistemas Microprocesados

Fotos:

Problema 2: Conversor A/D con el microcontrolador Pic


16f877A. Se adquiere un valor entre 0 y 5 Voltios y se observa, en
el LCD el calor entre 0 y 5 Voltios

Entradas:
Señal de entre 0 y 5V.

Proceso:
 Defino las variables
 Habilito ADCON1

5
Práctica #06 Sistemas Microprocesados
 Configuro Puerto A como entrada
 Configuro el LCD
 Apago el Cursor
 Leo el Voltaje de entrada (voltaje*5)/1024
 Muestro en el LCD
 Borro
 Reescribo
 Varío el voltaje
 Visualizo en LCD

Salidas:
LCD, valor entre 0 y 1024.

Diagrama de Flujo:

INICIO

Defino Variables.
Valor de Voltaje

Subrutina
ADCON1

Leo el Voltaje
de Entrada Puerto A como
entrada

Escala entre 0 y
5 Voltios Configuro LCD

Volt=(Volt*5)/1024 Apago

Visualizo un
nuevo valor

Retardo

Código:

program practica6_2
DIM voltaje as float
dim valor as string [10]
sub procedure init

6
Práctica #06 Sistemas Microprocesados
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.

Esquemático:

Fotos:

7
Práctica #06 Sistemas Microprocesados

Problema 3: Medición de Temperatura con lm35.

Entradas:
Datos a través del lm35

Procesos:
 Declarar mis variables
 Configuro Vref y AN0 Puerto A.0 como entrada Puerto b como salida
 Configuro el LCD
 Eliminamos el Cursor
 Limpiamos el LCD
 Mostramos Temp en el LCD
 Conversion ADC7Temperatura
 Convertimos la variable resultado en Texto
 Presentamos cada carácter en el LCD.
 Retardo de un segundo

Salidas:
Mostrar Temperatura en LCD.

Diagrama de Flujo:

INICIO

Defino
Variables

Configurar Vref

Porta.0 = Entrada

Configurar LCD
al puerto B

8
Mostrar la
temperatura en LCD
Práctica #06 Sistemas Microprocesados

Código:

program practica6_3
dim temp_res as word
Resultado as word
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,"Temperat:")
WHILE TRUE
temp_res=Adc_Read(0)
Resultado=temp_res*48
wordtostr(Resultado,OutTxt)
Lcd_Chr(1,11,OutTxt[0])
Lcd_Chr(1,12,OutTxt[1])
Lcd_Chr(1,13,OutTxt[2])
Lcd_Chr(1,14,".")
Lcd_Chr(1,15,OutTxt[3])
Lcd_Chr(1,16,OutTxt[4])
delay_ms(1000)
wend
end.

Esquemático:

9
Práctica #06 Sistemas Microprocesados

Fotos:

Problema 4: Conversión Digital Análoga

Entradas:
Señal de Entrada

Proceso:
 Inicio sub procedimiento init
 Puerto D como salidas

10
Práctica #06 Sistemas Microprocesados
 Dimensiono la variable i, a como byte
 Lazo
 Condición for 1<j<255 ,
 Sumo uno a la variable
 Escribo el valor de la Variable en el Puerto D
 Retardo

Salidas:
Onda (señal) triangular en el Osciloscopio.

Diagrama de Flujo:

INICIO

Sub
procedure init

Trisd=0

Dim i, a as byte

a=0
i=0

11
Práctica #06 Sistemas Microprocesados

While true

1<i<255

a=a+1

Retardo

End

Código:

program practica6_4
Sub procedure init
Trisd=0
End sub
Dim I as byte
Dim a as byte
a=0
i=0
main:
while true
init
for i=1 to 125
a=a+1
portd=a
next i
delay_ms(100)
wend
end.

Esquemático:

12
Práctica #06 Sistemas Microprocesados

Fotos:

Problema 5: Conversor Análogo Digital de 12 Bits.

Entradas:
Señal desde 0 hasta 5 Voltios.

Proceso:
 Defino variables
 Crear Subrutina
 Habilitar puerto B como salida
 Configurar LCD
 Habilito Puerto C como entrada
 Visualizo

13
Práctica #06 Sistemas Microprocesados

Salidas:
LCD valores desde 0 hasta 4096

Diagrama de Flujo:

INICIO

Defino
Variables

Subrutina

Retardo

Puerto B como
salida

Configurar LCD

Leer entrada

Ver valores en
LCD

End

Código:

program practica 6_5


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

14
Práctica #06 Sistemas Microprocesados
wordtostr(k,txt1)
l=k
floattostr(l,txt1)
end sub
main:
trisb=0
spi_init 'standar configuration
lcd_config(portb,3,2,1,0,portb,5,6,4)
lcd_cmd(lcd_cursor_off)
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.

Esquemático:

15
Práctica #06 Sistemas Microprocesados

Fotos:

BIBLIOGRAFÍA:

Apuntes Personales
Microcontroladores Pic. Diseño práctico de aplicaciones (II Parte). Angulo
Usategui/Romero Yesa/Angula Martinez. MacGrawHill.
Hojas guías de Laboratorio.

16

You might also like