Sei sulla pagina 1di 15

UNIVERSIDAD POLITÉCNICA

“SALESIANA”

FACULTAD DE INGENIERÍAS

CARRERA DE INGENIERÍA
ELECTRÓNICA

SISTEMAS MICROPROCEADOS I
INFORME Nº 6

SANTIAGO MALDONADO
ARMANDO ALOMOTO
JIMMY ANDRADE

6º ELECTRÓNICA “1”
UNIVERSIDAD POLITÉCNICA SALESIANA

SISTEMAS MICROPROCESADOS I
INFORME Nº 1

Tema: Conversión Análoga Digital y Digital Análoga

Objetivo

 Utilizar los Conversores A/D y D/A del microcontrolador PIC.

Desarrollo
Para la práctica se utilizo el PIC 16F877A

Figura 1. PIC 16F877A


PROCEDIMIENTO PRÁCTICO
 PROBLEMA Nº 1

Conversión A/D con el microcontrolador PIC 16f877A. Se requiere la


señal de un potenciómetro entre 0 y 5 voltios, y se observa en un LCD
un valor entre 0 y1024.

 ALGORITMO

Definir la configuración
Declaración de variables y puerto A como digital
Transformación del voltaje análogo a la palabra digital
Retardo de 300 ms
End

 CÓDIGO

program Ejerciciouno
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.
 DIAGRAMA DE FLUJOS

INICIO

CONFIGURO LAS
VARIABLES

ADCON1=$80

WORDTOSTR

RETARDO DE 300 ms

END

 SIMULACIÓN
 RESULTADO

 PROBLEMA Nº 2

Conversión D/A con el microcontrolador PIC 16f877A. Se adquiere un


valor entre 0 y 5 voltios, y se observa en un LCD un valor entre 0 y 5
voltios.

 ALGORITMO

Definir la configuración
Declaración de variables y puerto A como digital
Transformación de la palabra digital al voltaje análogo
Cálculos para transformación
Retardo de 300 ms
End

 CÓDIGO

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

 DIAGRAMA DE FLUJOS

INICIO

CONFIGURO LAS
VARIABLES

ADCON1=$80

VOLTAJE= ADC_READ(0)

VOLTAJE= (VOLTAJE*5)/1024

RETARDO DE 300 ms

END
 SIMULACIÓN

 RESULTADO
 PROBLEMA Nº 3

Medición de temperatura con el LM35

 ALGORITMO

Definir la configuración
Declaración de variables y puerto A como digital
Cálculos para ver la temperatura en el LCD
Retardo de 1 s
End

 CÓDIGO

program Ejerciciotres
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,"Temp:")
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])
delay_ms(1000)
wend
end.
 DIAGRAMA DE FLUJOS

INICIO

CONFIGURO LAS
VARIABLES

ADCON1=$80

VOLTAJE= ADC_READ(0)

RESULTADO=TEMP_RES*48

RETARDO DE 1 s

END

 SIMULACIÓN
 RESULTADO

 PROBLEMA Nº 4

Conversión Digital Análoga.

 ALGORITMO

Definir la configuración
Cálculos para ver la conversión D/A
Retardo de 100 ms
End

 CÓDIGO

program Ejerciciocuatro
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 255
a=a+1
portd=a
next i
delay_ms(100)
wend
end.
 DIAGRAMA DE FLUJOS

INICIO

CONFIGURO LAS
VARIABLES

CÁLCULOS D/A

RETARDO DE 1 s

END

 SIMULACIÓN
 RESULTADO

 PROBLEMA Nº 6

Conversión Análoga Digital de 12 bits.

 ALGORITMO

Definir la configuración
Cálculos para ver la conversión A/D
Retardo de 100 ms
End
 CÓDIGO

program Ejerciciocinco
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
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.
 DIAGRAMA DE FLUJOS

INICIO

CONFIGURO LAS
VARIABLES

CÁLCULOS A/D

RETARDO DE 1 s

END

 SIMULACIÓN
 RESULTADO

 CONCLUSIONES

1. En la conversión D/A se tiene un voltaje digital a la entrada y la


observamos en el LCD el valor voltaje análogo que lo regulamos
mediante un potenciómetro de precisión.
2. Se puede realizar de varias formas la conversión D/A, una de ellas es
utilizando el circuito integrado DAC0808 con el microcontrolador.
3. En la conversión D/A se implementó señales de Salida con Voltajes
desde 0 VDC hasta 5 VDC.

 BIBLIOGRAFÍA

http://www.disam.upm.es/~cybertech/Nacional/Documentos/Comp
onentes/PIC18F442.pdf (9/12/2010)
http://ww1.microchip.com/downloads/en/devicedoc/30292c.pdf
(9/12/2010)
Manual de ayuda de microbasic para PIC. (9/12/2010)