Está en la página 1de 10

MICROCONTROLADORES

INFORME DE LABORATORIO

1. TEMA: Realización de los circuitos dados en la guía de laboratorio

2. OBJETIVOS:

2.1 Objetivo General

- Emplear los circuitos los cuales serán de mucha ayuda en el ámbito académico esto se
lo realizara en el laboratorio asignado para la materia de microcontroladores como
también en el software de simulación Proteus

2.2 Objetivos Específicos

- Investigar los determinantes para ejecutar el circuito y garantizar su funcionamiento


- Conocer la respectiva característica de los elementos y asi poder crear una buena lógica
de programación
- Simular e implementar , enfocar la información recibida en clase como también
experiencias dadas en otros circuitos anteriores

3. MARCO TEÓRICO

PIC 16F877A

Este potente microcontrolador CMOS de 8 bits basado en FLASH pero fácil de programar
empaqueta la potente arquitectura PIC de Microchip en un paquete de 40 y es compatible con
los dispositivos PIC16C5X, PIC12CXXX y PIC16C7X. El PIC16F877A cuenta con 256
bytes de memoria de datos EEPROM, Auto programación, ICD, 2 comparadores, 8 canales
de convertidor analógico a digital (A/D) de 10 bits, 2 funciones de
captura/comparación/PWM, el puerto serie síncrono se puede configurar como interfaz
periférica serial de 3 hilos (SPI) o bus de circuito integrado de 2 hilos (I2C) y transmisor de
receptor asincrónico universal (USART). (Castaño, 2021)

Características del PIC16F877A

• 100.000 ciclos de borrado/escritura Enhanced Flash memoria del programa típica


• 1.000.000 de borrado/ciclo de escritura Datos EEPROM memoria típica
• Retención EEPROM de datos > 40 años
• Auto-reprogramable bajo control de software
• Programación serie en circuito(ICSP) a través de dos pines
• Programación serie de 5V in-circuit de un solo suministro
• Temporizador watchdog (WDT) con su propio RC en chip oscilador para un funcionamiento
fiable
• Protección programable del código
• Ahorro de energía Modo de suspensión
• Opciones de oscilador seleccionables
• Depuración en circuito (ICD) a través de dos pines

Fig.1 (Conexión )

Fig.2 (Forma real 16F877A )

Display de 7 segmentos

El visualizador o display de siete segmentos es un elemento que permite mostrar números y


también símbolos y caracteres de forma limitada. Este tipo de visualizador se utiliza en las
ocasiones donde se desea una buena visibilidad y tiene la ventaja de ser robusto y fácil de
manejar. Los visualizadores de 7 segmentos se pueden encontrar habitualmente en placas
vitrocerámicas, cargadores de baterías, reproductores de audio, hornos de microondas,
lavadoras, relojes, etc.(Proaño,2012)

Fig.3 (Display 7 segmentos )


LCD 16X2

El tipo de pantallas más utilizadas anteriormente son conocidas como displays de siete
segmentos, dispositivos que muestran datos alfanuméricos y algún otro tipo de símbolo o imagen,
pero con grades limitaciones en cuanto a poder, al tipo y número de símbolos y caracteres y con
un gran consumo de energía y un gran tamaño..

LCD son las siglas en inglés de Liquid Crystal Dysplay, pantalla de cristal líquido en español,
un tipo de dispositivo que se utiliza para la visualización de diferentes tipos de contenidos o
información de manera gráfica, mediante el uso de diferentes caracteres, símbolos o dibujos.

Entonces, el término LCD 16x2 se refiere a un pequeño dispositivo con pantalla de cristal líquido
que cuenta con dos filas, de dieciséis caracteres cada una, que se utiliza para mostrar información,
por lo general alfanumérica. Las capacidades de estos dispositivos son altas, pues se puede
mostrar todo tipo de información sin importar qué tipo de símbolos o caracteres sean, el idioma
o el lenguaje, pues el sistema puede mostrar cualquier carácter alfanumérico, símbolos y algunas
figuras, el número de píxeles que tiene cada símbolo o carácter varía dependiendo del modelo
del dispositivo y cada artefacto está controlado por un microcontrolador que está programado
para dirigir el funcionamiento y la imagen mostrada en la pantalla.

Entre las ventajas que se tienen al utilizar este tipo de artefactos están el mínimo consumo de
energía o corriente eléctrica, la programación es sumamente sencilla y es por lo general cargada
por el fabricante, dependiendo del uso y tipo de equipo que se trate.

Fig.4 ( Forma física de el LCD 16X2 )

TECLADO MATRICIAL

¿Qué es una matriz?

Las matrices son en realidad una técnica de interfaz. Puede usarse para interconectar entradas
como las teclas del teclado de la PC, pero también para controlar múltiples salidas como los LED.

Según esta técnica, las E/S se dividen en dos secciones: las columnas y las filas. Puedes imaginar
una matriz como una hoja de Excel.

¿Qué es un Teclado Matricial?

En el sentido más básico, un circuito de matriz de teclado es un tipo de teclado que presenta una
matriz de cables en forma de cuadrícula que conecta los interruptores de las teclas.

Si el teclado tiene 8 filas y 8 columnas de cables, por ejemplo, puede admitir hasta 64 teclas.
Los interruptores o switches están ubicados en la intersección de estos cables. Los circuitos
matriciales del teclado contienen un escáner que recorre constantemente la cuadrícula, por lo
tanto, permite determinar qué tecla se presiona.

Si se presiona la tecla «H» en un circuito de matriz de teclado, por ejemplo, el escáner percibe
que el interruptor se activa en la intersección de los cables donde se encuentra la tecla «H». Es
un proceso rápido y preciso que funciona bien con la mayoría de los teclados.

El principal beneficio de utilizar un diseño de circuito matricial es la reducción de los cables


necesarios. En los teclados con un circuito de matriz, normalmente hay un solo cable para cada
tecla. Si el teclado tiene 64 teclas, por ejemplo, necesitaría 64 cables.

Tipos de Teclados Matriciales

Por su sencillez, este tipo de teclados se pueden utilizar en diferentes aplicaciones tecnológicas.
Algunas aplicaciones incluyen:

• Máquinas automatizadas
• Máquinas industriales
• Lavadoras
• Ascensores

Fig.5 (Determinación de filas y columnas de un teclado matricial )

Fig. 6 (Conexión de un teclado matricial con un PIC16F877A Y LCD16X2)


4. DESARROLLO DE LA PRÁCTICA

1. Se procede a verificar los pines de cada elemento y se ejecuta la simulación en el software


proteus

Fig. 7 ( Circuito N 1 Simulación circuito con display y teclado matricial )

Líneas de programación

#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#USE delay(clock=4M)
#byte tris_b=0x86
#byte port_b=0x06
#byte tris_d=0x88 //IDENTIFICAR EL TRIS PARA EL PUERTO D
#byte port_d=0x08
#BIT FILA1=0x08.0 //ASIGNAR LA VARIABLE FILA 1 AL BIT 0 DEL PUERTO D
#BIT FILA2=0X08.1
#BIT FILA3=0X08.2
#define COLUMNA1 bit_test(port_d,4) //Asigne la variable colimna1 al puerto d.4
#define COLUMNA2 bit_test(port_d,5)
#define COLUMNA3 bit_test(port_d,6)
void main(void) {
set_tris_b(0x00);
set_tris_d(0xF0); //4msb son di's y los 4lsb son d0's
port_b=0x00;
FILA1=0; //SACAR UN 1L A TRAVES DEL BIT 0 DEL PUERTO 0
FILA2=0;
FILA3=0;
while(TRUE){
FILA1=1; //SACAR UN 1L A TRAVES DEL BIT 0 DEL PUERTO 0
FILA2=0;
FILA3=0;
if(COLUMNA1==1) {port_b=1; }
if(COLUMNA2==1) {port_b=2; }
if(COLUMNA3==1) {port_b=3; }

FILA1=0; //SACAR UN 1L A TRAVES DEL BIT 0 DEL PUERTO 0


FILA2=1;
FILA3=0;
if(COLUMNA1==1) {port_b=4; }
if(COLUMNA2==1) {port_b=5; }
if(COLUMNA3==1) {port_b=6; }

FILA1=0; //SACAR UN 1L A TRAVES DEL BIT 0 DEL PUERTO 0


FILA2=0;
FILA3=1;
if(COLUMNA1==1) {port_b=7; }
if(COLUMNA2==1) {port_b=8; }
if(COLUMNA3==1) {port_b=9; }

port_b=0;

}
}

Implementación en el protoboard

Fig. 8 ( Circuito N 1 circuito con display y teclado matricial implementado )


2.. Se procede a ejecutar la simulación el mismo mecanismo de el anterior circuito pero
reemplazando el Display por el LCD 16X2

Fig. 9 ( Circuito N 2 Simulación con LCD y teclado matricial )

Líneas de programación

#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#USE delay(clock=4M)
#include <lcd.c>
#byte port_b=0x06
#byte tris_b=0x86
#define CAMBIO bit_test(port_B,0)

int contador1 = 0;

void main ()
{
set_tris_b(0x01);
lcd_init() ; //INICIALIZA LA PANTALLA LCD

while (1){

if( CAMBIO == 0){


contador1=contador1+1;
delay_ms(500);
}
if(contador1 == 17){
delay_ms(200);
contador1 = 0;}
lcd_gotoxy (1,1);
lcd_putc("CONTADOR GR2") ;
lcd_gotoxy (0,2);
printf(lcd_putc," %d ",contador1);
delay_ms(100);
}
}

Implementación en el protoboard

Fig. 10 ( Circuito N 2 circuito con LCD y teclado matricial implementado )

3.. Se procede a ejecutar la última simulación que dice en la guía de el laboratorio

Fig. 11 ( Circuito N 2 circuito con LCD y teclado matricial simulado )


Líneas de programación

#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#USE delay(clock=4M)
#byte port_b=0x06
#byte tris_b=0x86
#define cambiador bit_test(port_b,7)
#include <lcd.c>
int contador = 0;

void main ()
{
set_tris_b(0x80);
lcd_init() ;
while (TRUE){

if( cambiador == 0){


contador=contador+1;
delay_ms(200);}
if(contador == 17){
delay_ms(100);
contador = 0;}
lcd_gotoxy (1,1);
lcd_putc("ELIAN-RICH!!!") ;
lcd_gotoxy (8,2);
printf(lcd_putc," %d ",contador);
delay_ms(100);
}
}

Implementación en protoboard

Fig. 12 ( Circuito N 3 circuito con LCD y teclado matricial implementado


2.

CONCLUSIONES

- Se determino la gran facilidad con la que se ejecuto la simulación de los


determinados ejercicios y su veracidad
- Al haber obtenido la información de la materia obtenida en clase se logro una gran
ejecución de esta forma se obtuvo buenos resultados
- Al implementar se logro una gran eficacia en los determinados `circuitos

6. RECOMENDACIONES

- Hay que revisar correctamente las conexiones de el circuito para evitar errores
- Revisar correctamente las líneas de programación
- Quemar el PIC correctamente para teer un buen desarrollo de el circuito -
Realizar todo con su determinado tiempo
.

7. BIBLIOGRAFÍA

Castaño, S. (3 de marzo de 2021). Microcontroladores . Obtenido de


https://instrumentacion/control/comunicacion
Paredes. (23 de enero de 2020). Matricial. Obtenido de
https://psicologiaymente.com/social/comunicacion-normas
Rodriguez. (10 de mayo de 2018). Comunicación de memoria. Obtenido de
https://grupopya.com/comunicacion--conceptos-herramientas/

También podría gustarte