Anda di halaman 1dari 5

MICROCONTROLADORES

LABORATORIO N° 03

Programación con Display de 7


segmentos

Alumno(s) Nota

Grupo
Ciclo 4C5 Electrónica y Automatización – Microcontroladores
Fecha de entrega

PENSAMIENTO DE LA SEMANA:

“El amor no se mendiga, el amor se merece”

ELECTRONICA Y AUTOMATIZACION INDUSTRIAL


PROGRAMA DE FORMACIÓN REGULAR
Nro.
LABORATORIO MICROCONTROLADORES Página 1 de 4

I. CAPACIDAD TERMINAL
 Utilizar al microcontrolador en aplicaciones de control electrónico.
 Desarrollar y ejecutar programas en un microcontrolador PIC
 Programar y configurar interfaces básicas del microcontrolador.

II. COMPETENCIA ESPECIFICA DE LA SESION


 Conocer el Display de 7 segmentos y su funcionamiento
 Conocer las técnicas de multiplexación
 Programar HMI para juego de encestar.

III. CONTENIDOS A TRATAR


 Display 7 segmentos
 Multiplexación de datos

IV. RESULTADOS
 Diseñan y optimizan sistemas y procesos para cumplir con las condiciones establecidas y
gestionando adecuadamente los recursos materiales y humanos.

V. MATERIALES Y EQUIPO
 CCS Compiler instalado.
 Entrenador de PICS
 PIC16F877A
 Guía de Laboratorio. El trabajo se desarrolla de manera GRUPAL.
 PC con Software de simulación.

VI. REPASO DEL LABORATORIO ANTERIOR


 Herramientas de Programación en Hardware y Software

VII. FUNDAMENTO TEÓRICO


 Display de 7 segmentos de Ánodo y Cátodo común.

VIII. SEGURIDAD EN LA EJECUCIÓN DEL LABORATORIO

Tener cuidado con el tipo y niveles de voltaje con


los que trabaja.

Antes de utilizar el multímetro, asegurarse que


esta en el rango y magnitud eléctrica adecuada.

Tener cuidado en la conexión y en la desconexión


de los equipos utilizados
Nro.
LABORATORIO MICROCONTROLADORES Página 2 de 4

DISPLAY CATODO COMUN

ENTRENADOR HFK-010U PICS


(ACTUALIZADO)

PULSADORES
+5V

1 D0
PIC16F877A U6
1 D1 RV1 U1
1 E0
20MHz 13
14
OSC1/CLKIN RB0/INT
33
34
A3
U2
A3 OSC2/CLKOUT RB1
1
88%

E2 10k 35 NOT
RB2
2 36 A2
A0 RA0/AN0 RB3/PGM U3
3 37
A1 RA1/AN1 RB4
POTENCIOMETRO A2
4
RA2/AN2/VREF-/CVREF RB5
38 NOT
5 39 A1
A3 RA3/AN3/VREF+ RB6/PGC
6 40
RA4/T0CKI/C1OUT RB7/PGD
7 NOT
SENSOR TEMP. RA5/AN4/SS/C2OUT
15
RC0/T1OSO/T1CKI
U5 8 16
E0 RE0/AN5/RD RC1/T1OSI/CCP2
9 17
3 RE1/AN6/WR RC2/CCP1
VCC 10 18
27.0 2 E2 RE2/AN7/CS RC3/SCK/SCL
DQ
1 RC4/SDI/SDA
23 ? C0

LEDS INDICADORES
GND 1 24
MCLR/Vpp/THV RC5/SDO
DS18B20 RC6/TX/CK
25
26
? C1
RC7/RX/DT
19
? C2
RD0/PSP0 D0
LS1 RD1/PSP1
20
21
D1 ? C3
1

RD2/PSP2
RD3/PSP3
22
27
? C4
PIEZO RD4/PSP4
RESET RD5/PSP5
28
29
? C5
RD6/PSP6
SOUNDER
RD7/PSP7
30 ? C6
PIC16F877A ? C7
PANTALLA LCD
LCD1
LM016L
VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14
A0

IX. TAREAS GUIADAS DENTRO DEL LABORATORIO:

1. Transcriba el programa mostrado, compile dicho programa, simule en Proteus y compruebe


funcionamiento en Tarjeta Entrenadora.

#include <16f877a.h> // Incluimos archivo con PIC a utilizar


#use delay (clock=20M) // Indicamos que trabajaremos a 20Mhz
#fuses HS, NOPROTECT, NOWDT // Configuración básica de los fusibles

int tabBCD[10]={0b00111111,0b00000110,0b01011011,0b01001111,0b01100110,
0b01101101,0b01111101,0b00000111,0b01111111,0b01101111};
int delay=5; // Completar con valor de retardo adecuado en ms
int16 dato=0; // Declaramos una variable ENTERA de 16 bits
int16 unidades=0, decenas=0, centenas=0;

/******************************************************/
// Funcion que descompone un número Entero de 4 cifras
/******************************************************/
void descomp_entero(int16 valor)
{
centenas = (int16) valor / 100; // 1er Dígito o Centenas
valor -= centenas * 100; // y se lo resto al valor
decenas = (int16) valor / 10; // 2do Dígito o Decenas
valor -= decenas * 10; // y también se lo resto
unidades = (int16) valor; // y por último solo me quedan las unidades
}

/*************************************************/
// Funcion para displayar en forma multiplexada
/************************************************/
void visualizar(void)
{
Nro.
LABORATORIO MICROCONTROLADORES Página 3 de 4

output_b(tabBCD[centenas]);
output_a(0b00001000);
delay_ms(delay);

output_b(tabBCD[decenas]);
output_a(0b00000100);
delay_ms(delay);

output_b(tabBCD[unidades]);
output_a(0b00000010);
delay_ms(delay);
}

/*************************************************/
// Funcion para emitir un pitido
/************************************************/
void BIP()
{
FOR (i=0;i<=100;++i)
{
output_high(PIN_E1); // Pone a "1" el pin E1 (envía 5 voltios)
delay_ms(1); // "Congela el tiempo" durante 1ms
output_low(PIN_E1); // Pone a "0" el pin E1
delay_ms(1); // "Congela el tiempo" durante 1ms
}
}

/*************************************************/
// FUNCION PRINCIPAL VOID (MAIN)
/************************************************/
void main ()
{
dato = 123; // ingrese numero inicial a visualizar
descomp_entero(dato);
visualizar(); // mostramos el valor de "dato" en displays

while(1)
{
IF (!input(PIN_E0)) // si pulsamos E0.....
{
dato = dato + 1; // el valor "dato" se incrementa en uno
descomp_entero(dato); // descomponemos el valor "dato"
delay_ms(300); // congelamos el tiempo para evitar falsos disparos
}

visualizar(); // mostramos el valor de "dato" en displays


}
}

X. TAREAS A SER EVALUADAS:


Realice las modificaciones que se sugieren al programa, experimente y responda las preguntas
planteadas:

1. Se tiene un sistema con 2 pulsadores (D0, D1) de entrada y 3 displays de salida, además de
un zumbador en el pin E1. Programe según lo siguiente:
a. Al empezar el programa, se debe mostrar el número 500.
b. Al presionar D0, el número mostrado se debe incrementar en 5 unidades, además debe
zonar un pitido.
c. Al presionar D1, el número mostrado debe disminuir 5 unidades pero de de 1 en 1 cada
segundo.
Nro.
LABORATORIO MICROCONTROLADORES Página 4 de 4

d. Si el número llega a ser mayor a 600, debe sonar 3 pitidos.


2. Describa el funcionamiento del programa previamente diseñado, demuestre funcionamiento
mediante simulación y en tarjeta entrenadora. Grabe en video para evidencia.

XI. CONTENIDO DEL INFORME EN EL BLOG:

1. Descripción de los TIPOS DE VARIABLES: entero, entero con signo, etc.


2. Video mostrando las TAREAS A SER EVALUADAS realizadas en laboratorio.
3. Nombre de los integrantes durante todo el video, en la pantalla de simulación y un “selfie” al
principio de la explicación de los videos. La explicación de los videos será repartido entre los
integrantes del grupo.
4. Incluir OBSERVACIONES Y RECOMENDACIONES en modo texto al final del BLOG.

XII. RESÚMEN
 Programación de los displays de 7 segmentos

XIII. PROXIMO LABORATORIO:


 Fase 4: Proyecto de Integración.

XIV. BIBLIOGRAFIA Y WEBGRAFIA RECOMENDADA


 Marin, Francisco (2007) Diseño basado en microcontroladores. Málaga: Universidad de
Málaga. (004.16/M26D)
 Pereira, Fabio (2007) Microcontroladores PIC. Sao Paulo:s.n. (005.13/P43)
 José María Angulo Usátegui [y otros]. (2007) Electrónica digital y microprogramable
.Madrid: Thomson. (621.381/A37/I)

Anda mungkin juga menyukai