You are on page 1of 5

UNIVERSIDAD POLITCNICA SALESIANA LABORATORIO SISTEMAS MICROPROCESADOS I

Fecha: 19/01/2015

MANEJO DE CONVERSORES A/D Y D/A


Prctica 7

Balden Estrella Karen Estefana


Email: kbaldeone@est.ups.edu.ec
Lucero Barahona Carlos Alejandro
Email: clucerob@est.ups.edu.ec
Pailiacho Fierro Marjorie Anabel
Email: mpailiacho@est.ups.edu.ec

RESUMEN: La presente prctica consto en el desarrollo TRISB, TRISC etc. lo que determina el comportamiento
de tres circuitos, se implement en el compilador Pic C y de bits del puerto, pero no determina su contenido [1]
probados en protoboard en el primer circuito se
implementa una calculadora de matrices 2x2 la cual Al poner a cero un bit del registro TRIS (pin=0), el pin
realiza las operaciones bsicas en el segundo circuito se correspondiente del puerto se configurar como una
obtuvo el valor del potencimetro mediante el ADC y DAC salida. De manera similar, al poner a uno un bit del
del PIC por ultimo en el tercer circuito se obtuvo el valor registro TRIS (bit=1), el pin correspondiente del puerto se
de un sensor de temperatura LM35 todos los datos fueron configurar como una entrada. Esta regla es fcil de
visualizados en un LCD 16X2 recordar: 0 = Entrada 1 = Salida.[1]

PALABRAS CLAVE: LCD 16x2, PIC, TRIS, PORT, 2.1 COVERSOR ANALOGO DIGITAL
LM35, potencimetro.

Aunque a primera vista parece muy complicado


1.-OBJETIVOS utilizar un convertidor A/D, en realidad es muy simple. De
hecho resulta ms simple utilizar un convertidor A/D que
1.1 OBJETIVO GENERAL los temporizadores o mdulos de comunicacin serie.
El funcionamiento del convertidor A/D est bajo el
Entender la lectura de sensores analgicos control de los bits de cuatro registros:
mediante los pines analgicos del PIC 16F877A ADRESH Registro alto del resultado de la conversin
los cuales sern visualizados en lun LCD 16X2. A/D;
ADRESL Registro bajo del resultado de la conversin
1.2 OBJETIVOS ESPECFICOS A/D;
ADCON0 Registro de control 0; y
ADCON1 Registro de control 1
El convertidor est basado en comparar voltaje de
Realizar los programas planteados en la prctica
entrada con una escala interna que tiene 1023 grados
en el compilador Pic C para el manejo de un
(210 - 1 =1023). El grado ms bajo de esta escala
teclado matricial 4x4,lectura de un
representa el voltaje Vref-, mientras que el grado ms alto
potencimetro y del sensor de temperatura
se refiere al voltaje Vref+. La siguiente figura muestra los
LM35
voltajes de referencia seleccionables as como sus
valores mximos y mnimos.
Implementar los circuitos planteados en la
prctica en protoboard una vez desarrollados los
respectivos programas.

Entender de mejor manera la visualizacin de


datos y sensores analgicos mediante el LCD
16x2 con lo cual se refuerza el conocimiento
adquirido en clase

2.-MARCO TERICO
Con el propsito de sincronizar el funcionamiento de
los puertos de E/S con la organizacin interna del
microcontrolador de 8 bits, ellos se agrupan, de manera
Figura 1. Funcionamiento del ADC en el PIC 16F877A.
similar a los registros, en cinco puertos denotados con A,
B, C, D y E. Todos ellos tienen las siguientes 2.2 SENSOR SHARP
caractersticas en comn:
Cada puerto tiene su propio registro de control de El sensor de distancia Sharp es una gran manera
flujo, o sea el registro TRIS correspondiente: TRISA, de aadir deteccin de obstculos o sensor de

1
UNIVERSIDAD POLITCNICA SALESIANA LABORATORIO SISTEMAS MICROPROCESADOS I

Fecha: 19/01/2015

movimiento a tu robot o cualquier otro proyecto, con La polarizacin del LED de fondo se logra conectando
un alcance de deteccin de 10 a 80 cm y un voltaje una resistencia externa de 50 ohm-1/4 W con lo que se
analgico que indica la distancia, este sensor es asegura el correcto encendido sin una corriente
muy fcil de usar. excesiva. El control de contraste se consigue con un
potencimetro de 10 k con el cual se ajusta el nivel de
voltaje en el pin 3 (Vee VLC).[3]
Los sensores de distancia Sharp son una opcin
popular para muchos proyectos que requieren
mediciones precisas de distancia. Este sensor IR es
ms econmico que los telmetros de sonar, sin
embargo, proporciona un rendimiento mucho mejor
que otras alternativas IR. La conexin a la mayora
de los microcontroladores es sencilla: la salida
analgica solo puede ser conectado a un
convertidor analgico-digital para la toma de
mediciones de distancia, o la salida puede ser
conectada a un comparador para la deteccin
lmite. El rango de deteccin de esta versin es de Figura 4. Pines de conexin de LCD 16x2.
aproximadamente 10 cm a 80 cm (4 "a 32").
2.4 SENSOR LM35
El sensor de temperatura utilizado, es el circuito
integrado LM35D de National Semiconductors
Caractersticas principales
El circuito integrado LM35D es un sensor de temperatura
cuya tensin de salida es linealmente proporcional con la
temperatura en la escala Celsius (centgrada) . Posee
una precisin aceptable para la aplicacin requerida, no
necesita calibracin externa, posee slo tres terminales,
permite el sensado remoto y es de bajo costo
Factor de escala: 10mV/C (garantizado entre 9,8 y
10,2mV/C)
Figura 2. Sensor de distancia Sharp. Rango de utilizacin: -55C < T < 150C
Precisin de: ~1,5C (peor caso)
No linealidad: ~0,5C (peor caso)
2.3 LCD 16x2

Las pantallas de cristal lquido (LCD) se han


popularizado mucho en los ltimos aos, debido a su gran
versatilidad para presentar mensajes de texto (fijos y en
movimiento), valores numricos y smbolos especiales,
su precio reducido, su bajo consumo de potencia, el
requerimiento de solo 6 pines del PIC para su conexin y
su facilidad de programacin en lenguajes de alto nivel
(por ejemplo, lenguaje C). Desde todo punto de vista el
empleo del display LCD 16x2 (LCD 2x16) debera Figura 5. Conexin del sensor de temperatura LM35.
considerarse como la primera opcin a la hora de decidir
por un dispositivo de presentacin alfanumrica, excepto 3.- MATERIALES Y EQUIPO
cuando las condiciones de iluminacin ambiental no sean
las ms favorables.
Fuente de alimentacin 5V
Protoboard
Microcontrolador 16F877A
LCD 16x2
Teclado matricial de 4x4
Cables de conexin
Tarjeta programadora para microcontroladores
Multmetro
Elementos electrnicos variados.
Figura 3.Pantalla de cristal lquido 16x2. Sensor LM35
Sensor Sharp
Foco 12v

2
UNIVERSIDAD POLITCNICA SALESIANA LABORATORIO SISTEMAS MICROPROCESADOS I

Fecha: 19/01/2015

4.-DESARROLLO Y PROCEDIMIENTO

En la prctica se realiz la codificacin y simulacin


en ISIS 2 ejercicios propuestos.
El procedimiento realizado fue el siguiente:

Leer detenidamente el ejercicio, entenderlo y


realizar el reconocimiento de puertos necesarios
para la programacin e implementacin de cada
ejercicio.
Iniciar la codificacin declarando los puertos
necesarios, programar las sentencias Figura 6. Esquema circuito temperatura.
necesarias para cumplir satisfactoriamente con
el enunciado de cada ejercicio.
Compilar el programa realizado. Codigo Pic CCS
Disear el circuito para la implementacin en
ISIS, tomando como gua los puertos utilizados #include <16f877a.h>
para la codificacin.
#device adc=10
Cargar el .hex en el PIC16F877A del esquema
en el software escogido y verificar el #fuses xt
funcionamiento de cada ejercicio y realizar los #use delay(clock=4M)
cambios necesarios al programa. #define LCD_ENABLE_PIN PIN_D0
Implementar con los elementos electrnicos ////
necesarios cada ejercicio siguiendo el esquema #define LCD_RS_PIN PIN_D1 ////
diseado en ISIS.
#define LCD_RW_PIN PIN_D2 ////
Finalmente verificar el funcionamiento adecuado
del circuito implementado. #define LCD_DATA4 PIN_D4 ////
#define LCD_DATA5 PIN_D5 ////
A continuacin se muestra la codificacin utilizada #define LCD_DATA6 PIN_D6 ////
para cada ejercicio y el esquema diseado en ISIS para #define LCD_DATA7 PIN_D7
su respectiva implementacin. #include <lcd.c>
void main(){
4.1 Realizar un programa que capture de uno de int16 valor;
los canales del conversor anlogo digital una float Vi,dis;
seal DC variante con respecto a la distancia de float resolucion;
reflexin de un objeto, para lo cual se debe resolucion=5.0/1023.0;
utilizar un sensor de proximidad (sensor SHARP setup_adc_ports(all_analog);
GP2D12). La seal entregada por el sensor tiene setup_adc(adc_clock_internal);
set_adc_channel(0);
que ser presentada en un LCD de 2x16; la lcd_init();
condicin es que el dato debe ser visualizado en while(1){ valor=read_adc();
centmetros y en unidades crudas en cada una de Vi=resolucion*valor;
las lneas del LCD. dis=(-31.05*Vi)+83;
printf(lcd_putc, "\fADC = %4ld",valor+542);
printf(lcd_putc,"\nDIS= %4.2f cm",dis);
Esquema delay_ms(100);
}
}

4.2 Modifique el hardware y software para que a


la entrada de un canal del microcontrolador sea
conectado un sensor de temperatura LM35. La
temperatura deber ser mostrada en la pantalla
del LCD en grados centgrados, esta temperatura
deber ser patronada (calibrada) con un

3
UNIVERSIDAD POLITCNICA SALESIANA LABORATORIO SISTEMAS MICROPROCESADOS I

Fecha: 19/01/2015

instrumento de medida comercial (por ejemplo D=read_adc();


un termmetro). El sistema entregar alarmas Vi=resolucion*D;
Temp=Vi*100;
en base de las siguientes condiciones:
printf(lcd_putc,"\fTemp Actual");
Si la temperatura es menor a 30C lcd_gotoxy(5,2);
titilar un led amarillo. printf(lcd_putc,"%4.2f C",Temp);
Si 50 <temperatura < 30 se mantendr delay_ms(100);
encendido un led verde. if(Temp<30.0){
Caso contrario un buzzer dar seales output_low(pin_c4);
output_high(pin_d0);
audibles intermitentes, a la vez
delay_ms(500);
que titilar un led rojo. output_low(pin_d0);
}
if(Temp>=30.0 && Temp<50.0){
Esquema output_high(pin_c4);
delay_ms(500);
}
if(Temp>50.0){
output_low(pin_c4);
output_high(pin_d2);
output_high(pin_d3);
delay_ms(1000);
output_low(pin_d2);
output_low(pin_d3);
delay_ms(1000);
}
}
Figura 7. Esquema sensor temperatura. }
Codigo Pic CCS

#include <16f877a.h>
#device adc=10 5 CONCLUSIONES
#fuses xt
#use delay(clock=4M) Se concluy la facilidad que presenta el LCD 16x2
#define LCD_ENABLE_PIN PIN_B0 para la visualizacin de datos con lo cual se pudo
//// observar los datos obtenidos del sensor de temperatura
capturados por el ADC del PIC.
#define LCD_RS_PIN PIN_B1 ////
#define LCD_RW_PIN PIN_B2 //// Se determin el manejo del ADC del PIC en el cual se
#define LCD_DATA4 PIN_B4 //// debe realizar las respectivas conversiones para el
#define LCD_DATA5 PIN_B5 //// conecto manejo de datos obtenidos del sensor.
#define LCD_DATA6 PIN_B6 ////
Mediante el ADC se puede digitalizar una seal anloga
#define LCD_DATA7 PIN_B7
debido a que en lo practico la mayora de las seales son
#include <lcd.c> anlogas, esto permite que se trate de una mejor manera
la seal, mediante el mdulo del micro controlador, y asi
void main(){ poder realizar diferentes aplicaciones como se realiz en
int16 D; la practica
float Vi,Temp;
float resolucion;
resolucion=5.0/1023.0; 6 RECOMENDACIONES
setup_adc_ports(all_analog); Se recomienda tener precaucin en la variacin de
setup_adc(adc_clock_internal); luminosidad del LCD 16x2 ya que puede dificultar la
set_adc_channel(0); visualizacin de datos.
lcd_init();
while(1){

4
UNIVERSIDAD POLITCNICA SALESIANA LABORATORIO SISTEMAS MICROPROCESADOS I

Fecha: 19/01/2015

7 REFERENCIAS [3] [En lnea]. Available:


https://es.scribd.com/doc/160831036/LCD-y-
Teclado-matricial4x4-Microcontroladores-
docx.
[4] [En lnea]. Available:
[1] [En lnea]. Available: http://www.ecured.cu/index.php/Microcontrol
http://www.mikroe.com/chapters/view/81/capi adores_PIC..
tulo-3-microcontrolador-pic16f887/#c3v3.
[2] [En lnea]. Available:
http://perso.wanadoo.es/luis_ju/pic/pic04.html
.

You might also like