Você está na página 1de 8

SISTEMAS MICROPROCESADOS II

MANUAL DE PROCEDIMIENTO

CARRERA: INGENIERIA ELECTRNICA

PRCTICA 2: CONTADOR
ASCENDENTE Y DESCENDENTE

EQUIPO:
- PC
- Software MPLAB X IDE
Responsable /Equipo:
Gabriela Carrin
Esteban Huilcatanda

REVISIN N: 1
CTEDRA O MATERIA
RELACIONADA

EDICIN: 1

SISTEMAS MICROPROCESADOS II

Accesorios:
1. Protoboard
2. PIC 16F877A
3. Conectores
4. Display 7x1
DOCENTE:
Ing. Luis Serpa

NMERO DE ESTUDIANTES POR


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

Fecha:
20 de Octubre del 2015

Tema: CONTADOR ASCENDENTE Y DESCENDENTE


Objetivo General:
Realizar un contador ascendente y descendente utilizando un display de 7x1 segmentos
Objetivos Especficos:
Realizar un programa que permita contar de manera ascendente y descendente (0-9) utilizando un display de 7
segmentos.
Utilizar un pulsante para cada modo de conteo.
Utilizar un pulsante para parar el proceso que se est efectuando.
Marco terico:
Display 7X1

Figura 1. 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]

SISTEMAS MICROPROCESADOS II

PIC 16F877A

Figura 1. 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
bits)
Memoria de datos SRAM (bytes)
Memoria de datos EEPROM (bytes)
Lneas de E/S
Canales A/D
PWM
SPI
MSSP
I2C Maestro
USART
Comparadores

8192
368
256
33
8
2
S
S
S
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)
2. Luego, seleccionamos las condiciones del PIC
#pragma
#pragma
#pragma
#pragma
#pragma

config
config
config
config
config

FOSC = EXTRC
WDTE = OFF
PWRTE = OFF
BOREN = ON
LVP = OFF

#pragma config CPD = OFF


#pragma config WRT = OFF
#pragma config CP = OFF

3.

//
//
//
//
//

Oscillator Selection bits (RC oscillator)


Watchdog Timer Enable bit (WDT disabled)
Power-up Timer Enable bit (PWRT disabled)
Brown-out Reset Enable bit (BOR enabled)
Low-Voltage (Single-Supply) In-Circuit
Serial Programming Enable bit (RB3 is
digital I/O, HV on MCLR must be used for
programming)
// Data EEPROM Memory Code Protection bit
(Data EEPROM code protection off)
// Flash Program Memory Write Enable bits
(Write protection off; all program memory
may be written to by EECON control)
// Flash Program Memory Code Protection bit
(Code protection off)

Declaramos variables globales, entradas y salidas, y registros a utilizar.

SISTEMAS MICROPROCESADOS II

const unsigned short


DISPLAY[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x90};
char estado;

4.

Establecemos los subprocesos a utilizarse


4.1. Estado de las entradas (pulsantes)
void interrupt principal (void)
{
INTCONbits.GIE=0; //Desactiva las interrupciones
INTCONbits.RBIE=0;//Desactiva las interrupciones por cambio de estado
if (INTCONbits.RBIF)
{
if(!PORTBbits.RB4)estado=0; // Ascendente
if(!PORTBbits.RB5)estado=1; //Descendente
if(!PORTBbits.RB6)estado=2; //Stop
while(!PORTBbits.RB4 || !PORTBbits.RB5 ||!PORTBbits.RB6 );
}
__delay_ms(50);
INTCONbits.RBIF=0;//Borra la bandera de la interrupcion
INTCONbits.RBIE=1;//Activa las interrupciones por cambio de estado
INTCONbits.GIE=1; //Activa las interrupciones
}

4.2. Tiempo de espera


void tiempo (void)
{
char n=0;
while(n<=20)
{
__delay_ms(20);
n++;
}
}

5.

Configuramos las variables de proceso


void configuracion (void)
{
TRISD= 0x00; //Salida
TRISB= 0xFF; //Entradas
TRISC= 0x00; //Salidas
PORTD=0xC0;
PORTB=0x00;
PORTC=0x00;
ADCON1= 0b00000110; // Configura como puertos digitales.
INTCON= 0b00001000; //Activa las interrupciones por cambio de puerto
INTCONbits.GIE=1;
//Activa las interrupciones globales.
}

SISTEMAS MICROPROCESADOS II

6.

Programamos el bloque principal.


void main(void ) {
configuracion();
int i=0;
PORTCbits.RC2=1;
while(1)
{
if(estado==1)
{
PORTD=DISPLAY[i];
i++;
tiempo();
if(i==10)i=0;
PORTC=0b00000001;
}

//Realiza el conteo asendente


//muestra en el puerto D los valores del display
//Aumenta la variable
//Realiza una demora para visualizar

if(estado==2)
//Realia el conteo desendente
{
PORTD=DISPLAY[i]; //muestra en el puerto D los valores del display
i--;
//Aumenta la variable
tiempo();
//Realiza una demora para visualizar
if(i==-1)i=9;
PORTC=0b00000010;
}
if(estado==0)PORTC=0b00000100;
}
}

7.

Compilamos y ejecutamos.

8.

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

Figura 3. Conexin del PIC en el simulador

SISTEMAS MICROPROCESADOS II

Figura 4. Conexin de los pulsantes (derecha). Leds indicadores de proceso y display (izquierda)
9.

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

Grabador de PIC

Cristal de cuarzo externo

Resistencias

Capacitores

3 LED

Display de 7x1 Seg.

Pulsantes

Registro de Resultados:
a. A continuacin, se observa el resultado de la simulacin.

SISTEMAS MICROPROCESADOS II

Figura 5. Inicio de programa

Figura 7. Proceso pausado

b.

Figura 6. Modo Ascendente

Figura 8. Modo descendente

Se presentan fotografas de la implementacin fsica del sistema.

SISTEMAS MICROPROCESADOS II

Figura 9. Inicio de programa

Figura 10. Modo ascendente

Figura 11. Proceso pausado

Figura 12. Modo descendente

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.

El desarrollo de la prctica, permiti realimentar conocimientos bsicos obtenidos con respecto a sistemas

SISTEMAS MICROPROCESADOS II

microprocesados durante el curso anterior.


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.

Bibliografa
[1]

V. Semiconductors, Datasheet Display 7 Segmentos, [En lnea]. Available:


http://pdf.datasheetcatalog.com/datasheet/vishay/83124.pdf.
[2] Microchip, Datasheet PIC16F87X, [En lnea]. Available:
http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf.

Você também pode gostar