You are on page 1of 4

Programacin del PIC16F877.

Crdenas Arias Milton Eduardo


mecardenas2@espe.edu.ec
Ortiz Rendn Alexander Marcelo
amortiz8@espe.edu.ec

Ingeniera Mecatrnica, Sptimo Nivel, Universidad de las Fuerzas Armadas ESPE -


Extensin Latacunga, Mrquez de Maenza S/N Latacunga, Ecuador.
Fecha de presentacin: 12/05/2017

RESUMEN: El presente trabajo de investigacin sobre la programacin del microcontrolador


PIC16F877, empieza con las caractersticas ms relevantes del microcontrolador como la frecuencia de
operacin, manejos de voltaje y corriente, adems los tipos de memoria que posee este microcontrolador
de gama media como la RAM, EEPROM, nmero de instrucciones entre otras. Tambin se muestra el
diagrama de distribucin de los pines en el encapsulado y la funcin que cumple cada uno de ellos.
Finalmente se muestra la programacin en lenguaje ensamblador a travs del Software Mplab y Proteus,
luego, se da una breve explicacin del uso de variables y comandos utilizados en este tipo de lenguaje

PALABRAS CLAVE: Pines, Mplab, Pic, Microcontrolador.

1. INTRODUCCIN
El microcontrolador PIC16F877 de Microchip pertenece a una gran familia de microcontroladores de
8 bits el cual posee caractersticas importantes para lograr un dispositivo altamente eficiente en el uso de
la memoria de datos y programa y por lo tanto en la velocidad de ejecucin, tiene un tipo de memoria
EEPROM Flash mejorada, lo que permite programarlo fcilmente usando un dispositivo programador de
PIC. Esta caracterstica facilita sustancialmente el diseo de proyectos, minimizando en tiempo empleado
en programar los microcontroladores.

2. CARACTERSTICAS DEL PIC16F877

2.1 CARACTERSTICAS PRINCIPALES

El PIC16F877 forma parte de la familia de microcontroladores PIC de gama media de 8 bits, fabricado por
Microchip Technology Inc. Posee una memoria de programa de tipo EEPROM Flash mejorada, lo que
permite programarlos fcilmente.

La A al final de la nomenclatura indica que estos modelos cuentan con mdulos de comparacin
analgicos, en la tabla 1 se muestran las caractersticas bsicas para el PIC16F877

Tabla 1: Caractersticas PIC16F877

Caractersticas Valor
Memoria de Programacin Flash (palabras de 14 bits) 8192K
Memoria de datos SRAM (bytes) 368 x 8 bits
Memoria de datos EEPROM (bytes) 256 x 8 bits
Lneas de E/S 33
PWM 2
Frecuencia de Operacin 0-20 Mhz (ciclo
de instruccin
de 200ns)
Oscilador Interno 8MHz 31KHz
Consumo 220Ua (2.0V,
4MHz), 11Ua
(2.0V, 32KHz),

Caractersticas adicionales:

CPU de arquitectura RISC (Reduced Instruction Set Computer).


Set de 35 instrucciones.
Todas las instrucciones se ejecutan en un nico ciclo de instruccin, excepto las de salto.
Hasta 15 fuentes de Interrupcin posibles.
8 niveles de profundidad en la Pila hardware.
Modo de bajo consumo (Sleep).
Tipo de oscilador seleccionable (RC, HS, XT, LP y externo).
Rango de voltaje de operacin desde 2,0V a 5,5V.
Conversor Analgico/Digital de 10 bits multicanal.
3 Temporizadores.
Watchdog Timer o Perro Guardin.
2 mdulos de captura/comparacin/PWM.
Comunicaciones por interfaz USART (Universal Synchronous Asynchronous Receiver Transmitter).
Puerto Paralelo Esclavo de 8 bits (PSP).
Puerto Serie Sncrono (SSP) con SPI e IC.

2.2 DISTRIBUCIN DE PINES

En la figura 1 se muestra la disposicin de los pines para el PIC16F877

Figura 1: Distribucin de pines para el PIC16F877

D etallado de Pines
OSC1/CLKIN(9): corresponde a la entrada para el oscilador externo.
OSC2/CLKOUT(10): es la salida del oscilador.
MCLR/VPP/THV(1): MCLR, corresponde al reset del microcontrolador por hardware, tambien se utiliza
como pulso para comenzar a grabar en el dispositivo.
RA0/AN0(2):
Acta como Pin digital I/O o como entrada analgica del conversor AD (canal 0)
RA1/AN1(3):
Acta como Pin digital I/O o como entrada analgica del conversor AD (canal 1)
RA2/AN2/VREF-(4):
Acta como Pin digital I/O, como entrada analgica del conversor AD (canal 2) o como entrada negativa
de voltaje de referencia.
RA3/AN3/VREF+(5):
Acta como Pin digital I/O, como entrada analgica del conversor AD (canal 3) o como entrada positiva de
voltaje de referencia.

RA4/T0CKI (6):
Acta como Pin digital I/O, o entrada de reloj del timer0
RA5/SS/AN4(7):
Acta como Pin digital I/O,

o seleccin como esclavo SS.


RB0/INT(21):
Corresponde al pin 0 del puerto B, es bidireccional y tambin se puede utilizar como interrupcin externa.
RB1(22):
pin 1 del puerto B, es bidireccional.
RB2(23):
pin 2 del puerto B, es bidireccional.
RB3/PGM(24):
pin 3 del puerto B, es bidireccional o entrada de bajo voltaje.
RB4(25):
pin 4 del puerto B, es bidireccional.
RB5(26):
pin 5 del puerto B, es bidireccional.
RB6/PGC(27):
pin 6 del puerto B, es bidireccional, tambin puede programarse como peticin de interrupcin cuando el
pin cambia de estado.
RB7/PGD(28):
pin 7 del puerto B, es bidireccional, tambin puede programarse como peticin de interrupcin cuando el
pin cambia de estado.
RC0/T1OSO/T1CKI(11):
Acta como Pin digital I/O del puerto C, salida del oscilador del timer1 o como clock de entrada del timer1.
RC1/T1OSI/CCP2(12):
Acta como Pin digital I/O del puerto C, entrada del oscilador del timer1 o entrada al modo captura CCP2,
tambien proporciona salida PWM 2.
RC2/CCP1(13):
Acta como Pin digital I/O del puerto C o entrada al modo captura CCP1, tambien proporciona salida
PWM 1.
RC3/SCK/SCL(14):
Acta como Pin digital I/O del puerto C, entrada de reloj SCL/SCK o salida de los mdulos SPI e I2c
.

RC4/SDI/SDA(15):
Acta como Pin digital I/O del puerto C, entrada de reloj SCL/SCK o salida de los mdulos SPI e I2c
.

RC5/SDO(16):
Pin digital I/O del puerto C o salida digital en modo SPI.
RC6/TX/CK(17):
Pin digital I/O del puerto C , pin de transmisin Tx USART o reloj sncrono.
RC7/RX/DT(18):
Pin digital I/O del puerto C , pin de recepcin Rx USART o datos sncronos.
RD0/PSP0-RD7/PSP7(19-22, 27-30):
Puede actuar como I/O o como lneas para la transferencia de datos en la comunicacin por puerta
paralela esclava.
RE0/!RD/AN5(8):
Pin digital I/O del puerto E, seal de lectura para la puerta paralela esclava o entrada analgica canal 5.
RE1/!WR/AN6(9):
Pin digital I/O del puerto E, seal de escritura para la puerta paralela esclava o entrada analgica canal 6.
RE2/CS#/AN7:
Pin digital I/O del puerto E, activacin/desactivacin puerta paralela esclava o entrada analgica canal 7.
VSS(8,19): Gnd

VDD(20,32): +5vdc

You might also like