Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INFORME #6
ERICK PEÑAHERRERA
JOSE BUCHELI
XAVIER MUÑOZ
DATASHEETS
PIC16F877A
LCD 16x2
SENSOR LM35
DAC 0808
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.
DIAGRAMA DE FLUJO
INICIO
Configuro el puerto A
como entrada y el
puerto B como salida
Realizo subrutina
Configuro el LCD
Muestro la conversión el
LCD
ESQUEMÁTICO
FOTOS
2. EJERCICIO 2
PROBLEMA:
S Conversión A/D con el microcontrolador pic 16f877A. Se requiere un valor
entre 0 y 5 voltios y se observa en el LCD el valor entre 0 y 5 voltios.
ALGORITMO:
Entradas:
El puerto A que ingresa la señal del potenciómetro.
Procesos:
Configuro el LCD en el puerto B
Leo la señal del potenciómetro.
Muestro el voltaje en el LCD
Salidas:
La salida del puerto B hacia el LCD
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.
DIAGRAMA DE FLUJO
INICIO
Configuro el puerto A
como entrada y el
puerto B como salida
Realizo subrutina
Configuro el LCD
Muestro el voltaje en el
LCD
Retardo de 300 ms
ESQUEMÁTICO
FOTOS
3. EJERCICIO 3
PROBLEMA:
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
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.
DIAGRAMA DE FLUJO
INICIO
Configuro el puerto A
como entrada y el
puerto B como salida
Configuro Vref y AN0.
Realizamos la conversión
ADC/temperatura
Muestro la conversión en
el LCD
Retardo de 100 ms
ESQUEMÁTICO
FOTOS
4. EJERCICIO 4
PROBLEMA:
Conversión digital análoga
ALGORITMO:
Entradas:
Para este ejercicio no hay entradas.
Procesos:
Configuro el puerto D como salida
Realizo un lazo while para hacer un contador.
El puerto D será igual al valor del contador
Salidas:
La salida del puerto D hacia el DAC 0808 y del DCA 0808
hacia el LM 741 para observar la conversión.
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.
ESQUEMÁTICO
FOTOS
5. EJERCICIO 5
PROBLEMA:
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.
ALGORITMO:
Entradas:
Para este ejercicio no hay entradas.
Procesos:
Declaro variables.
Configuro puerto B como salida
Configuro el LCD para el puerto B
Configuro puerto C (portc.2)
Leo el valor de la conversión
Salidas:
La salida del puerto B hacia el LCD para visualizar la
conversión.
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]
INICIO
Configuro el puerto B
como salida
Defino variables
Configuro el LCD
Muestro el voltaje en el
LCD
ESQUEMÁTICO
FOTOS
CONCLUSIONES
Que la elaboración nos sirve para comprender un poco más la teoría de los
microcontroladores 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 microcontroladores y utilizamos los
conversores A/D y D/A del microcontrolador PIC