Anda di halaman 1dari 5

MICROCONTROLADORES II

GUA DE LABORATORIO NO. 3

TRABAJO PREPARATORIO

a. Elabore el circuito y programa para el control secuencial de 8 luces led a la salida del
puerto b del PIC 16F877, las secuencias debern ser generadas con por lo menos con dos
tipos de instrucciones condicionales: if else, for y do while. Puede elaborarse uno o dos
programas si considera necesario.

b. Elabore el circuito y programa de control para la adquisicin de datos digitales mediante


un sensor inductivo, capacitivo, de movimiento (ver marco terico). Cada vez que se active
el sensor enviar una seal digital a una entrada del puerto C, y activar un led a salida
del puerto d, por 5 segundos.

NOTA: Cada grupo deber presentar el trabajo preparatorio en fsico al ingreso,


como requisito para realizar la prctica de laboratorio.

1. TEMA: MANEJO DEL LCD HD44780 CON PIC 16F877


2. OBJETIVOS:

Establecer instrucciones para control de entradas y salidas digitales


Analizar el uso de instrucciones cclicas para generar secuencias lgicas en las salidas
del PIC.
Implementar un circuito para el manejo de entradas digitales y el control de salidas
digitales.

3. MATERIALES:

1 PIC 16F877
1 LCD 16x2 HD44780 o equivalente
1 computador con software PIC C, Proteus, Pickit 2.
1 Grabador de PIC
1 protoboard.
8 leds
8 resistencias de 180 a 220 ohm
1 sensor de salida digital

4. FUNDAMENTO TERICO:
4.1. MANEJO DE SALIDAS DIGITALES

La mayora de programas de control con PIC utilizan algn tipo de instruccin condicional, a
continuacin se presenta la estructura de algunas de las ms comunes en lenguaje C:
INSTRUCCIN IF ELSE
if (x==25)
x=1;
else
x=x+1;

// Si x=25 entonces asigne x=1, caso contrario x=x+1

Si se desea ejecutar un grupo de instrucciones:


if (x==25) {
x=1;
printf(lcd_putc,"x = %i",x);
delay_ms(100);
}
else
x=x+1;
// Si x=25 entonces asigne x=1 y presente en lcd, caso contrario x=x+1

INSTRUCCIN FOR:
for (i=1;i<=10;++i)
printf(lcd_putc,"%u\r\n",i);

/*Desde i=1, mientras i sea menor o igual a 10, imprima el valor


de i, posterior incremente en uno el valor de i*/
//presenta en lcd los nmeros del 1 al 10

Para grupo de instrucciones:


for (i=1;i<=10;++i) {
printf(lcd_putc,"%u\r\n",i);
a=i+5;
printf(lcd_putc,"%u\r\n",a);
delay_ms(50);
}

/*Desde i=1, mientras i sea menor o igual a 10, imprima el valor


de i, posterior incremente en uno el valor de i*/
//presenta en lcd los nmeros del 1 al 10
//calcule a
//imprima a
//demora 50ms

INSTRUCCIN WHILE
while(a==1){
lcd_gotoxy(1,2);
printf(lcd_putc,"V = %f",a);
delay_ms(100);
}
// Mientras a=1 ejecute las instrucciones
INSTRUCCIN DO - WHILE
do {
printf(lcd_putc, "CONDICIONAL");
delay_ms(50);
lcd_putc("\f");
} while(a==1);

//Ejecute las instrucciones mientras a sea igual a 1

4.2. MANEJO DE ENTRADAS DIGITALES CON SENSORES:

Las entradas digitales del PIC aceptan niveles lgicos 1L (5Vcd) y 0L (0Vcd), as que cualquier
tipo de sensor que entregue seales lgicas puede ser conectado directamente al PIC, esto es,
cualquier sensor que posea una salida por rel NA (normalmente abierto) o NC (Normalmente
cerrado), que permita implementar el circuito bsico de bits de entrada, polarizado con 5Vcd. El
circuito bsico es el siguiente:

Donde, el pulsador puede ser reemplazado con cualquier tipo de sensor digital, como por
ejemplo:

Sensores de inductivo:

Sensor capacitivo:

Sensor de movimiento:

WARNING: Antes de instalar cualquier tipo de sensor, revisar la configuracin del


dispositivo, si requiere alguna polarizacin o seal adicional para funcionar y el tipo de
salida que posee, en el caso del sensor de movimiento del ejemplo anterior, la salida es
de 110Vca, por lo que deber ser previamente acondicionada para utilizarlo con el PIC.

5. PROCEDIMIENTO:
5.1. Control de salidas digitales
a)
b)
c)
d)
e)

Arme el circuito del punto 1 del trabajo preparatorio en Proteus.


Realice el programa en PIC C, verifique que no existan errores de compilacin.
Realice la simulacin en Proteus.
Arme el circuito en el protoboard.
Grabe el PIC y compruebe el funcionamiento del circuito.

5.2. Control de salidas digitales


a) Arme el circuito del punto 2 del trabajo preparatorio en Proteus, simule el sensor con un
pulsador NA o NC de acuerdo a la configuracin del sensor que utilizar.
b) Realice el programa en PIC C, verifique que no existan errores de compilacin.
c) Realice la simulacin en Proteus.
d) Arme el circuito en el protoboard.
e) Grabe el PIC y compruebe el funcionamiento del circuito con el sensor.

6. ANLISIS DE RESULTADOS:

a) Escriba los programas finales para control de entradas y salidas digitales, Utilice
comentarios para especificar qu hace cada funcin.

b) Grafique los circuitos implementados.

c) Anote las caractersticas tcnicas del sensor que utiliz para la prctica, smbolo, modo
de conexin, acondicionamiento de seal si fue necesario hacerlo.

7. CUESTIONARIO:

a) Explique que son las salidas de pull-up del puerto b y para qu sirven.
b) Cul es la corriente mxima que puede manejar un bit de salida de un puerto y la
corriente mxima que puede manejar todo un puerto del PIC?.
c) Grafique una forma de controlar corrientes ms altas a la salida de PIC. Explique.

8. CONCLUSIONES: (3)

9. RECOMENDACIONES: (3)

10. BIBLIOGRAFA: (APA 6ta. Edicin)

Anda mungkin juga menyukai