Sei sulla pagina 1di 8

SISTEMAS MICROPROCESADOS II

MANUAL DE PROCEDIMIENTO

CARRERA: INGENIERIA ELECTRNICA


EQUIPO:
- PC
- Software MPLAB X IDE
Responsable /Equipo:
Gabriela Carrin
Esteban Huilcatanda
Accesorios:
1. Protoboard
2. PIC 16F877A
3. Conectores
4. Display LCD
5. Display 7x1 Segmentos
6. Pulsante
DOCENTE:
Ing. Luis Serpa

PRCTICA 7: EVALUACIN
INTERCICLO

REVISIN N: 1
CTEDRA O MATERIA
RELACIONADA

EDICIN: 1

SISTEMAS MICROPROCESADOS II

NMERO DE ESTUDIANTES POR


EQUIPO O PRCTICA:
1 puestos de trabajo
2 estudiantes por prctica

Fecha:
01 de Diciembre del 2015

Tema: Evaluacin Interciclo


Objetivo General:
Realizar un contador usando un display de 7segmentos y un display LCD
Objetivos Especficos:
Realizar un programa utilizando el TIMER0 del PIC que permita realizar un contador de 0-9 y presentar mensajes.
Inicializar la pantalla LCD presentando un mensaje cada 2 segundos.
Iniciar contador con la activacin de un pulsante
Configurar las interrupciones del pulsante.
Marco terico:
Display LCD 16x2
Las pantallas de cristal lquido ofrecen una buena opcin al momento de realizar la visualizacin de datos alfanumricos.

Consta de 16 pines, dos de alimentacin del display y los otros 14 para datos:
Pin No
Nombre
Funcin
Descripcin
1
Vss
Alimentacin
GND
2
Vdd
Alimentacin
+5 V
3
Vee
Contraste
(-2) 0 -5 V
4
Rs
Comando
Selector Registro
5
R/W
Comando
Leer/Escribir
6
E
Comando
Enable(Strobe)
7
D0
I/O
Dato LSB
8
D1
I/O
Dato
9
D2
I/O
Dato
10
D3
I/O
Dato
11
D4
I/O
Dato
12
D5
I/O
Dato
13
D6
I/O
Dato
14
D7
I/O
Dato MSB

SISTEMAS MICROPROCESADOS II

Figura 1. Display LCD 16x2 [1]


Display 7x1

Figura 2. Display 7x1 segmentos


Es un conjunto de diodos de luz dispuestos a manera de segmentos para visualizar valores numricos y letras que
componen el sistema hexadecimal (A-F).
Comprenden 10 pines, de los cuales los 7 primeros permiten realizar los caracteres, uno para activar o desactivar el punto
decimal, y los dos restantes para la alimentacin de Vcc o Gnd dependiendo la configuracin.
El pin Comn, se conecta a Vcc cuando los nodos de los diodos se conectan internamente entre s, y se conecta a Gnd,
cuando los ctodos van conectados entre s. [1]
PIC 16F877A

Figura 3. Disposicin de pines para el PIC16F877a


Es un microcontrolador PIC de gama media de 8 bits, fabricado por Microchip Technology Inc.
A diferencia del modelo 16f877, este cuenta con mdulos de comparacin analgica. Entre sus caractersticas ms
notables se tienen [2]:
Memoria de programa flash (palabras de 14
8192
bits)
Memoria de datos SRAM (bytes)
368
Memoria de datos EEPROM (bytes)
256
Lneas de E/S
33
Canales A/D
8
PWM
2
SPI
S
MSSP
I2C Maestro
S
USART
S
Comparadores
S (2)
Procedimiento:
Programacin
Previo a iniciar la programacin para este sistema, seleccionamos las condiciones del entorno.
1. Creamos un nuevo proyecto y seleccionar el PIC en el cual se va a programar (en este caso PIC 16F877A)

SISTEMAS MICROPROCESADOS II

2.
3.
4.
5.

Luego, seleccionamos las condiciones del PIC


Declaramos variables globales, entradas y salidas, y registros a utilizar.
Configuramos las libreras necesarias para operar la LCD y el Display
Establecemos los subprocesos generales a utilizarse
5.1. Subrutina para el Timer1. Funcin de Contador
void uSubTmr1(void)
{
static unsigned char DisplayCont=1;
if(paro==0) mile++;
if(mile==10)
{
mile=0;
UNI++;
}
if(UNI==10)
{
UNI=0;
}

//valores hexadecimales para el Display

if(x==1)
{
DisplayCont++;
//Asignacin de valores al puerto D para la DISPLAY
switch(DisplayCont)
{
case 1:
PORTD=0xFD;
break;
case 2:
PORTD=0xFB;
break;
case 3:
PORTD=0xF7;
break;
case 4:
PORTD=0xEF;
break;
case 5:
PORTD=0xDF;
break;
case 6:
DisplayCont=0;
PORTD=0xFE;
break;
case 7:
DisplayCont=0;
PORTD=0xBF;
break;
default:
break;
}
}
}

5.2. Subrutinas de Interrupciones


void interrupt tmr()
{
// TIMER 2
if(PIE1bits.TMR2IE && PIR1bits.TMR2IF)
{
PIE1bits.TMR2IE=0;
uSubTmr2();
TMR2=240;
PIR1bits.TMR2IF=0;
PIE1bits.TMR2IE=1;
}

SISTEMAS MICROPROCESADOS II

// TIMER 1
if(PIE1bits.TMR1IE && PIR1bits.TMR1IF)
{
PIE1bits.TMR1IE=0;
uSubTmr1();
TMR1H=0x3C;
TMR1L=0xB0;
PIR1bits.TMR1IF=0;
PIE1bits.TMR1IE=1;
}
//TIMER 0
if(INTCONbits.T0IE && INTCONbits.T0IF)
{
INTCONbits.T0IE=0;
uSubTmr0();
INTCONbits.T0IF=0;
INTCONbits.T0IE=1;
}
//Interrupciones
if(INTCONbits.RBIF==1)
{
if(PORTBbits.RB4==0) paro=~paro;
__delay_ms(1);
INTCONbits.RBIF=0;
}
}

6.

Configuracin de los bits del PIC


ADCON1=7;
TRISA=0;
TRISB|=(15<<4);
TRISB&=~(1<<0);
TRISC=0;
TRISD=0;
TRISE=0;
PORTA=0;
PORTB&=~(1<<0);
PORTC=0;
PORTD=0xFF;
PORTE=0;

7.

//Configuracin de puertos A y E digitales


//Puerto A como salidas digitales
// salidas digitales RB4 - RB7
// entrada digital RB0
// config. salidas digitales Puerto C
// config salidas digitales Puerto D
//Puerto A
//RB0 = 0
//Puerto C
//Puerto D
//Puerto E

= 0
= 0
= 1
= 0

Configuracin de TIMER e Interrupciones para conteo en el display y LCD

SISTEMAS MICROPROCESADOS II

//* CONFIGURACIN TIMER 0


OPTION_REGbits.PSA = 1;
OPTION_REGbits.PS = 0b000;
OPTION_REGbits.T0CS = 0;
INTCONbits.T0IF = 0;
TMR0 =255;
INTCONbits.T0IE = 1;
//* CONFIGURACIN TIMER 1
T1CON=0x11;
PIR1bits.TMR1IF=0;
TMR1H=0x3C;
TMR1L=0xB0;
PIE1bits.TMR1IE=1;
T1CONbits.TMR1ON=1;
//* CONFIGURACION TIMER 2
T2CON=0x1C;
TMR2=249;
PIR1bits.TMR2IF=0;
PIE1bits.TMR2IE=1;

//* INTERRUPCIONES
OPTION_REGbits.nRBPU=0;
INTCONbits.GIE=1;
INTCONbits.RBIE=1;
INTCONbits.RBIF=0;
INTCONbits.PEIE=1;

8.

//Habilita resistencias de pull-up


//Halitacin global de interrupciones
//Habilitacion de la interrupcin
//Bandera de interrupcin en 0
//Habilitacin global de las interrupciones

Programa principal
void main(void)
{
uConfiguration();
Lcd_Init();
Lcd_Clear();
x=1;
Lcd_Set_Cursor(1,1);
Lcd_Write_String("SIST.MICROS 2 G1");
Lcd_Set_Cursor(2,1);
Lcd_Write_String("EV.INTERCICLO");
__delay_ms(2000);
Lcd_Clear();
Lcd_Set_Cursor(1,1);
Lcd_Write_String(" G. Carrion");
Lcd_Set_Cursor(2,1);
Lcd_Write_String(" E. Huillcatanda");
__delay_ms(2000);
Lcd_Clear();
x=0;
UNI=0;
while(1)
{
Lcd_Set_Cursor(1,1);
Lcd_Write_String("CONTADOR LISTO:");
Lcd_Set_Cursor(2,1);
Lcd_Write_Char(UNI+48);
PORTD=digito[UNI];
}

9.

Compilamos y ejecutamos.

10. Realizamos la simulacin del sistema para probar nuestro programa antes de implementarlo y corregir posibles

SISTEMAS MICROPROCESADOS II

errores.

Figura 4. Conexin del PIC en el simulador

Figura 5. Conexin del display LCD

Figura 6. Conexin del display 7x1 Segmentos


11. Implementamos el sistema.
Recursos (Accesorios):

PC con el software requerido previamente instalado.


o

MPLAB X IDE

Proteus ISIS 8.0

Implementacin fsica
o

PIC 16F877A

SISTEMAS MICROPROCESADOS II

Grabador de PIC

Cristal de cuarzo externo 20 MHz

Resistencias

Capacitores

Display LCD

Display 7x1

Pulsantes

Registro de Resultados:
a.

A continuacin, se observa el resultado de la simulacin.

Figura 7. Inicio de programa


(Presentacin)

Figura 9. Inicio de contador

Figura 8. Segundo Mensaje (Integrantes)

Figura 10. Contador en funcionamiento

CONCLUSIONES:

Se logr concluir la prctica de manera exitosa. Mediante la realizacin de la misma, es necesario tener en
consideracin los siguientes puntos:
-

Verificar la colocacin correcta de las conexiones a utilizar para evitar posibles fallas en el
funcionamiento del dispositivo.

Configurar de manera adecuada las funciones internas de PIC, puesto que de no hacerlo, la
implementacin puede no resultar efectiva.

Se debe tomar en cuenta no slo la programacin efectuada, sino tambin, la implementacin fsica del
sistema, puesto que de no estar bien realizada, se pueden averiar los componentes del mismo.
Se aplicaron los conocimientos adquiridos en las prcticas anteriores para de este modo lograr la realizacin
del proyecto.

SISTEMAS MICROPROCESADOS II

Bibliografa:
[1] Display LCD 16x2 [En lnea]. Available: http://programarpicenc.com/articulos/display-lcd-16x2-2x16-con-elhd44780-en-mikroc-pro/.
[2] [En lnea]. Available: http://www.oocities.org/fhgmbb/Tesis-Postgrado-FH/TDM-color.gif.
[3] Microchip, Datasheet PIC16F87X, [En lnea]. Available:
http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf.
[4] FORO Microcontroladores, 25 Noviembre 2013. [En lnea]. Available: http://www.aquihayapuntes.com/indicepracticas-pic-en-c/uso-del-tmr0-como-temporizador.html.
[5] CCM, Septiembre 2015. [En lnea]. Available: http://es.ccm.net/contents/689-transmision-de-datos-multiplexacion
[6] [En lnea]. Available:
http://exa.unne.edu.ar/depar/areas/informatica/teleproc/Comunicaciones/Presentaciones_Proyector/Multiplexacion.pd
f

Potrebbero piacerti anche