Está en la página 1de 7

TECNOLOGÍA SUPERIOR EN

AUTOMATIZACIÓN E INSTRUMENTACIÓN

ASIGNATURA:

MICROCONTROLADORES

NRC:

15927

LABORATORIO Nro. 2

TEMA:

PROGRAMA Y CIRCUITO CON EL MICROCONTROLADOR PIC


16F877A CONTROLANDO ENTRADAS Y SALIDAS DIGITALES.

INTEGRANTES:

CORONADO GUIDO

LUCERO ANDRES

DOCENTE:

ING. SILVIA ALPÚSIG

FECHA:

11/12/2023
MICROCONTROLADORES

INFORME DE LABORATORIO 2

1. TEMA: Programa y circuito con el microcontrolador pic 16f877a controlando


entradas y salidas digitales.
2. OBJETIVOS:
2.1 General

 Diseñar, implementar y programar un sistema de control con el PIC 16F877A


que integre señales digitales de entrada para la adquisición de datos y salidas
digitales para la activación de un dispositivo específico.

2.2 Específicos

 Desarrollar el código en lenguaje C o ensamblador para el PIC 16F877A,


programando las señales y la generación de las salidas digitales, garantizando
un control preciso y confiable.
 Diseñar el esquema de la conexión eléctrica y disposición física de los sensores
de entrada y las salidas digitales, asegurando una integración eficiente con el
PIC 16F877A.
 Realizar pruebas del sistema implementado, verificando la correcta lectura de
los sensores, señales digitales de entrada, la precisión en el procesamiento del
microcontrolador y la respuesta adecuada de la salida digital.

3. MARCO TEÓRICO
Microcontrolador PIC 16F877A :El microcontrolador PIC 16F877A, fabricado por
Microchip Technology, es una unidad de procesamiento altamente versátil. Con
arquitectura RISC de 8 bits, cuenta con una variedad de periféricos integrados,
incluyendo puertos de entrada/salida, temporizadores y módulos de comunicación. de
control. (Inc., 2001).
Figura 1.Puertos de entradas y salidas del PIC 16F877A.
Cómo funciona una LDR o fotorresistencia
Cuando el LDR(fotorresistor) no está expuesto a radiaciones luminosas, los electrones están
firmemente unidos en los átomos que lo conforman, pero cuando sobre él inciden radiaciones
luminosas, esta energía libera electrones con lo cual el material se hace más conductor, y de
esta manera disminuye su resistencia. Las resistencias LDR solamente reducen su resistencia con
una radiación luminosa situada dentro de una determinada banda de longitudes de onda. El
fotorresistor construido con sulfuro de cadmio es sensible a todas las radiaciones luminosas
visibles y las construidas con sulfuro de plomo solamente son sensibles a las radiaciones
infrarrojas. (Bhargava, 2002).
Figura 2

Funcionamiento de la LDR.

Optoacoplador

Un optoacoplador, también conocido como acoplador óptico u optoaislador, es un dispositivo


que utiliza la luz para acoplar eléctricamente dos regiones del circuito sin contacto físico. En este
sistema, el optoacoplador asegura la separación entre el microcontrolador y el sistema de
Figura 3

Optoacoplador MOC3021 y sus pines de conexión

potencia, previniendo posibles interferencias. (Maniktala, 2012).

Triac

El Triac (Triodo de Corriente Alterna) es un dispositivo de control de potencia que


permite la conducción de corriente en ambas direcciones. En este sistema, el Triac actúa
como interruptor controlado por el microcontrolador, regulando la energía suministrada
a la carga de 110 VAC. (Rashid, 2004).

Figura 4

Distribución de pines y circuito equivalente del TRIAC.


4. DESARROLLO DE LA PRÁCTICA
 Herramientas
 Software de simulación Proteus 8.9
 Programador de microcontroladores familia PIC16
 Software de programación PIC C COMPILER
 Materiales

 Microcontrol  Protoboard  Cable de


ador  Resistencias timbre.
PIC16F877A de acuerdo al  Leds de
 PicKit3 V3.01 circuito diferentes
 Proteus 8.9  Oscilador de colores
 Quemador 4MHz  Optoacoplad
PicKit 3  Pulsadores or MOC 3021
 Sensores LDR  Triac BT138

 Lampara  Boquilla

5. ACTIVIDADES A DESARROLLAR

Ejercicio 1. Realizamos el control de dos salidas digitales que en este caso fueron unos leds
que sirven para ver el control de las salidas digitales mediante dos pulsadores, cada
pulsador controla una salida digital respectivamente

Fig.5 simulación en proteus Fig.6 implementación en protoboard

Código de programación

#byte port_d=0x08 port_d=0x00;


#byte tris_b=0x86 while (true){
#byte port_b=0x06 if (input (pin_d6)==0)
void main(){ {port_a=0b00000010;}
set_tris_a(0x00); if (input(pin_d6)==1)
set_tris_d(0x80); {port_a=0b00000000;}
port_a=0x00; if (input (pin_d7)==0)
{port_a=0b00000100;} {port_a=0b00000000;}
if (input(pin_d7)==1) }}
Ejercicio 2. Realizamos el control de salidas digitales en el bit RA4 y RA5 del Pic
16f877a mediante una tabla de operación lógica (OR) propuesta en clase con el uso de
tres entradas digitales en el bit RA0,RA1 y RA3 pudimos ir probando todos los estados
lógicos de la tabla para así poder comprobar el funcionamiento de la compuerta (OR)
con el pic.

Fig.7 simulación en proteus Fig.8 implementación en protoboard

Código de programación

#include<16F877A.h> (pin_a0)==0) if (input(pin_a1)==1)


#fuses if (input(pin_a1)==0) if (input (pin_a2)==1)
XT,NOWDT,NOPROTE if (input (pin_a2)==1) {port_a=0b00010000;
CT,PUT {port_a=0b00001000; }
#USE delay } if (input (pin_a0)==0)
(clock=4M) if (input (pin_a0)==0) if (input(pin_a1)==1)
#byte tris_a=0x85 if (input(pin_a1)==1) if (input (pin_a2)==1)
#byte port_a=0x05 if (input (pin_a2)==0) {port_a=0b00010000;
#byte tris_b=0x86 {port_a=0b00001000; }
#byte port_b=0x06 } if (input (pin_a0)==1)
#byte tris_c=0x87 if (input (pin_a0)==0) if (input(pin_a1)==0)
#byte port_c=0x07 if (input(pin_a1)==1) if (input (pin_a2)==0)
#byte tris_d=0x88 if (input (pin_a2)==1) {port_a=0b00001000;
#byte port_d=0x08 {port_a=0b00010000; }
#byte tris_e=0x89 } if (input (pin_a0)==1)
#byte port_e=0x09 if (input (pin_a0)==1) if (input(pin_a1)==0)
void main(){ if (input(pin_a1)==0) if (input (pin_a2)==1)
set_tris_a(0x00); if (input (pin_a2)==0) {port_a=0b00010000;
port_a=0x00; {port_a=0b00001000; }
while (true){ } if (input (pin_a0)==1)
if (input (pin_a0)==0) if (input (pin_a0)==1) if (input(pin_a1)==1)
if (input(pin_a1)==0) if (input(pin_a1)==0) if (input (pin_a2)==0)
if (input (pin_a2)==0) if (input (pin_a2)==1) {port_a=0b00010000;
{port_a=0b00000000; {port_a=0b00010000; }
} } if (input (pin_a0)==1)
if (input if (input (pin_a0)==0) if (input(pin_a1)==1)
if (input (pin_a2)==1) {port_a=0b00011000; }}}

Ejercicio 3. Realizamos el control de una salida digital en el bit RD7 del Pic 16f877a
junto con un triac y un optoacoplador para poder controlar una carga AC en la salida
en este caso el opto acoplador nos sirve como un aislador del circuito de AC y el
circuito en DC además el triac nos sirve como el controlador de la carga en AC para
encender y apagar el foco, mientras que en la usamos dos entradas digitales que en
este caso fueron dos LDR para que reciban la entrada digital mientras que en la salida
digital usamos un foco de 120V.

Fig.9 implementación en protoboard

Codigo de programacion

#include<16F877A.h> void main(){ {port_d=0b00000100


#fuses set_tris_a(0x80); ;}
XT,NOWDT,NOPROTEC set_tris_d(0x00); else{
T,PUT port_a=0x00; if (input(pin_a0)==1){
#USE delay port_d=0x00; port_d=0b00000000;
(clock=4M) while (true){ }
#byte tris_a=0x85 if (input (pin_a0)==0) if (input(pin_a1)==1){
#byte port_a=0x05 {port_d=0b00000100 port_d=0b00000000;
#byte tris_d=0x88 ;} }}}
#byte port_d=0x08 if (input (pin_a1)==0)
}

CONCLUSIONES:

 Se comprobó correctamente la suma de tres bits a través de la implementación de una


tabla utilizando el puerto A como entradas y salidas del PIC16F877A, se logró determinar
de manera efectiva la suma.
 Se comprobó correctamente la salida de dos señales digitales a través del puerto b
mediante dos entradas digitales del puerto a, se comprobó correctamente su
funcionamiento al pulsar cada una de los pulsadores de entrada.
 Se determinó la importancia de colocar correctamente las resistencias en los sensores
LDR para su correcto funcionamiento con el PIC PIC16F877A, ya que una mala señal de
entrada provoca un funcionamiento erróneo en el procesador.

6. RECOMENDACIONES

 Se recomienda revisar los códigos de programación en el software de simulación


proteus para evitar fallos y estar seguros de su funcionamiento al momento de su
implementación.
 Se debe considerar la sensibilidad de las LDR para colocar las resistencias correctas, para
obtener una señal de entrada correcta y que sea aceptada por el controlador.
 Revisar y comprobar el funcionamiento de los elementos antes de su uso, ya que
podrían encontrase defectuosos y esto produce muchas complicaciones para
determinar el error al momento de implementar.

7. BIBLIOGRAFÍA

Bhargava, A. (2002). "Sensors and Transducers." . India: PHI Learning Pvt. Ltd.

Inc., M. T. (2001). "PIC16F87XA Data Sheet." . "PIC16F87XA Data Sheet." .


Microchip - PIC16F87XA Data Sheet.

Maniktala, S. (2012). "Optoelectronics: Devices and Applications.". EE.UU: CRC


Press.

Rashid, M. H. (2004). "Power Electronics: Circuits, Devices, and Applications." .


Reino unido: Prentice Hall.

Anexos diagramas de conexionado

También podría gustarte