Informe 2..1
Informe 2..1
Informe 2..1
INFORME DE LABORATORIO
2. OBJETIVOS:
- 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
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)
Fig.1 (Conexión )
Display de 7 segmentos
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.
TECLADO MATRICIAL
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.
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.
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
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; }
port_b=0;
}
}
Implementación en el protoboard
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){
Implementación en el protoboard
#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){
Implementación en protoboard
CONCLUSIONES
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