Anda di halaman 1dari 13

PIC16F84

El PIC16F84 es un microcontrolador a 8 bits de la familia PIC perteneciente a la Gama


Media (segn la clasificacin dada a los microcontroladores por la misma empresa
fabricante) Microchip.

Estructura

Se trata de uno de los microcontroladores ms populares del mercado actual, ideal para
principiantes, debido a su arquitectura de 8 bits, 18 pines, y un conjunto de
instrucciones RISC muy amigable para memorizar y fcil de entender, internamente consta de:

Memoria Flash de programa (1K x 14 bits).

Memoria EEPROM de datos (64 x 8 bits).

Memoria RAM (68 registros x 8 bits).

Un temporizador/contador (timer de 8 bits).

Un divisor de frecuencia.

Varios puertos de entrada-salida (13 pines en dos puertos, 5 pines el puerto A y 8


pines el puerto B).

Otras caractersticas son:

Manejo de interrupciones (de 4 fuentes).

Perro guardin (watchdog).

Bajo consumo.

Frecuencia de reloj externa mxima 10MHz. (Hasta 20MHz en nuevas versiones). La


frecuencia de reloj interna es un cuarto de la externa, lo que significa que con un reloj de
20Mhz, el reloj interno sera de 5Mhz y as pues se ejecutan 5 Millones de Instrucciones
por Segundo (5 MIPS)

No posee conversores analgicos-digital ni digital-analgicos.


Pipe-line de 2 etapas, 1 para bsqueda de instruccin y otra para la ejecucin de la
instruccin (los saltos ocupan un ciclo ms).

Repertorio de instrucciones reducido (RISC), con tan solo 30 instrucciones distintas.

4 tipos distintos de instrucciones, orientadas a byte, orientadas a bit, operacin entre


registros, de salto.

Usos

En los ltimos aos se ha popularizado el uso de este microcontrolador debido a


su bajo costo y tamao. Se ha usado en numerosas aplicaciones, que van desde
los automviles a decodificadores de televisin. Es muy popular su uso por los
aficionados a la robtica y electrnica.

Puede ser programado tanto en lenguaje ensamblador como en Basic y


principalmente en C, para el que existen numerosos compiladores. Cuando se
utilizan los compiladores Basic, es posible desarrollar tiles aplicaciones en tiempo
rcord, especialmente dirigidas al campo domstico y educacional.

El 16F84
Se trata de un microcontrolador de 8 bits. Es un PIC de gama baja,
cuyas caractersticas podemos resumir en:

- Memoria de 1K x 14 de tipo Flash


- Memoria de datos EEPROM de 64 bytes
- 13 lneas de E/S con control individual
- Frecuencia de funcionamiento mxima de 10 Mhz.
- Cuatro fuentes de interrupcin
* Activacin de la patita RB0/INT
* Desbordamiento del TMR0
* Cambio de estado en alguna patia RB4-RB7
* Fin de la escritura de la EEPROM de datos
- Temporizador/contador TMR0 programable de 8 bits
- Perro Guardin o WatchDog

Generalmente se encuentra encapsulado en formato DIP18. A


continuacin puede apreciarse dicho encapsulado y una breve
descripcin de cada una de las patitas: imagen:
- VDD: alimentacin
- VSS: masa
- OSC1/CLKIN-OSC2/CLKOUT: conexin del oscilador
- VPP/MCLR: tensin de programacin y reset
- RA0-RA3: lneas de E/S de la puerta A
- RA4: lnea de E/S de la puerta A o entrada de impulsos de reloj para
TMR0
- RB0/INT: lnea de E/S de la puerta B o peticin de interrupcin
- RB1-RB7: lneas de E/S de la puerta B

PIC 16F877

Se denomina microcontrolador a un dispositivo programable capaz de realizar diferentes


actividades que requieran del procesamiento de datos digitales y
del control y comunicacin digital de diferentes dispositivos.
Los microcontroladores poseen una memoria interna que almacena dos tipos de datos;
las instrucciones, que corresponden al programa que se ejecuta, y los registros, es decir,
los datos que el usuario maneja, as como registros especiales para el control de las
diferentes funciones del microcontrolador.
Los microcontroladores se programan en Assembler y cada microcontrolador vara su
conjunto de instrucciones de acuerdo a su fabricante y modelo. De acuerdo al nmero de
instrucciones que el microcontrolador maneja se le denomina de arquitectura RISC
(reducido) o CISC (complejo).
Los microcontroladores poseen principalmente una ALU (Unidad Lgico Aritmtica),
memoria del programa, memoria de registros, y pines I/O (entrada y/0 salida). La ALU es
la encargada de procesar los datos dependiendo de las instrucciones que se ejecuten
(ADD, OR, AND), mientras que los pines son los que se encargan de comunicar al
microcontrolador con el medio externo; la funcin de los pines puede ser de transmisin
de datos, alimentacin de corriente para l funcionamiento de este o pines de control
especifico.
En este proyecto se utilizo el PIC 16F877. Este microcontrolador es fabricado por
MicroChip familia a la cual se le denomina PIC. El modelo 16F877 posee varias
caractersticas que hacen a este microcontrolador un dispositivo muy verstil, eficiente y
practico para ser empleado en la aplicacin que posteorimente ser detallada.
Algunas de estas caractersticas se muestran a continuacin:
Soporta modo de comunicacin serial, posee dos pines para ello.

Amplia memoria para datos y programa.

Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH;


este tipo de memoria se puede borrar electrnicamente (esto corresponde a la "F" en el
modelo).

Set de instrucciones reducido (tipo RISC), pero con las instrucciones necesarias
para facilitar su manejo.

CARACTERISTICAS
En siguiente tabla de pueden observar las caractersticas ms relevantes del dispositivo:

CARACTERSTICAS

Frecuencia mxima

Memoria de programa flash palabra de 14 bits


Posiciones RAM de datos

Posiciones EEPROM de datos

Puertos E/S

Nmero de pines

Interrupciones

Timers

Mdulos CCP

Comunicaciones Serie

Comunicaciones paralelo

Lneas de entrada de CAD de 10 bits

Juego de instrucciones
Longitud de la instruccin

Arquitectura

CPU

Canales Pwm

Pila Harware

Ejecucin En 1 Ciclo Mquina

Puerto A:

Puerto de e/s de 6 pines

RA0 RA0 y AN0

RA1 RA1 y AN1

RA2 RA2, AN2 y Vref-

RA3 RA3, AN3 y Vref+

RA4 RA4 (Salida en colector abierto) y T0CKI(Entrada de reloj del modulo Timer0)

RA5 RA5, AN4 y SS (Seleccin esclavo para el puerto serie sncrono)

Puerto B:
Puerto e/s 8 pines

Resistencias pull-up programables

RB0 Interrupcin externa

RB4-7 Interrupcion por cambio de flanco

RB5-RB7 y RB3 programacion y debugger in circuit

Puerto C:
Puerto e/s de 8 pines

RC0 RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del modulo Timer1).

RC1-RC2 PWM/COMP/CAPT

RC1 T1OSI (entrada osc timer1)

RC3-4 IIC
RC3-5 SPI

RC6-7 USART

Puerto D:
Puerto e/s de 8 pines

Bus de datos en PPS (Puerto paralelo esclavo)

Puerto E:

Puerto de e/s de 3 pines

RE0 RE0 y AN5 y Read de PPS

RE1 RE1 y AN6 y Write de PPS

RE2 RE2 y AN7 y CS de PPS

CARACTERSTICAS BSICAS DEL PIC16F887

arquitectura RISC
o El microcontrolador cuenta con solo 35 instrucciones diferentes
o Todas las instrucciones son uni-ciclo excepto por las de ramificacin
Frecuencia de operacin 0-20 MHz
Oscilador interno de alta precisin
o Calibrado de fbrica
o Rango de frecuencia de 8MHz a 31KHz seleccionado por software
Voltaje de la fuente de alimentacin de 2.0V a 5.5V
o Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (en modo de espera)
Ahorro de energa en el Modo de suspensin
Brown-out Reset (BOR) con opcin para controlar por software
35 pines de entrada/salida
o alta corriente de fuente y de drenador para manejo de LED
o resistencias pull-up programables individualmente por software
o interrupcin al cambiar el estado del pin
memoria ROM de 8K con tecnologa FLASH
o El chip se puede re-programar hasta 100.000 veces
Opcin de programacin serial en el circuito
o El chip se puede programar incluso incorporado en el dispositivo destino.
256 bytes de memoria EEPROM
o Los datos se pueden grabar ms de 1.000.000 veces
368 bytes de memoria RAM
Convertidor A/D:
o 14 canales
o resolucin de 10 bits
3 temporizadores/contadores independientes
Temporizador perro guardin
Mdulo comparador analgico con
o Dos comparadores analgicos
o Referencia de voltaje fija (0.6V)
o Referencia de voltaje programable en el chip
Mdulo PWM incorporado
Mdulo USART mejorado
o Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0
o Auto deteccin de baudios
Puerto Serie Sncrono Maestro (MSSP)
o Soporta los modos SPI e I2C
DESCRIPCIN DE PINES

La mayora de los pines del microcontrolador PIC16F887 son multipropsito como se muestra en la figura

anterior. Por ejemplo, la asignacin RA3/AN3/Vref+/C1IN+ para el quinto pin del microcontrolador indica que

ste dispone de las siguientes funciones:

RA3 Tercera entrada/salida digital del puerto A


AN3 Tercera entrada analgica
Vref+ Referencia positiva de voltaje
C1IN+ Entrada positiva del comparador C1

La funcionalidad de los pines presentados anteriormente es muy til puesto que permite un mejor

aprovechamiento de los recursos del microcontrolador sin afectar a su funcionamiento. Estas funciones de los

pines no se pueden utilizar simultneamente, sin embargo se pueden cambiar en cualquier instante durante el

funcionamiento.

Las siguientes tablas se refieren al microcontrolador DIP de 40 pines.


UNIDAD CENTRAL DE PROCESAMIENTO (CPU)

Con el propsito de explicar en forma clara y concisa, sin describir profundamente el funcionamiento de la

CPU, vamos a hacer constar que la CPU est fabricada con la tecnologa RISC ya que esto es un factor

importante al decidir qu microcontrolador utilizar.


RISC es un acrnimo derivado del ingls Reduced Instruction Set Computer, lo que proporciona al PIC16F887

dos grandes ventajas:

La CPU cuenta con slo 35 instrucciones simples. Cabe decir que para poder programar
otros microcontroladores en lenguaje ensamblador es necesario saber ms de 200
instrucciones
El tiempo de ejecucin es igual para casi todas las instrucciones y tarda 4 ciclos de reloj.
La frecuencia del oscilador se estabiliza por un cristal de cuarzo. Las instrucciones de salto
y de ramificacin tardan ocho ciclos de reloj en ejecutarse. Esto significa que si la
velocidad de operacin del microcontrolador es 20 MHz, el tiempo de ejecucin de cada
instruccin ser 200nS, o sea, el programa ejecutar 5millones de instrucciones por
segundo!

MEMORIA

El PIC16F887 tiene tres tipos de memoria: ROM, RAM y EEPROM. Como cada una tiene las funciones,

caractersticas y organizacin especficas, vamos a presentarlas por separado.

MEMORIA ROM

La memoria ROM se utiliza para guardar permanente el programa que se est ejecutando. Es la razn por la

que es frecuentemente llamada memoria de programa. El PIC16F887 tiene 8Kb de memoria ROM (en total

8192 localidades). Como la memoria ROM est fabricada con tecnologa FLASH, su contenido se puede

cambiar al proporcionarle un voltaje de programacin especial (13V).


No obstante, no es necesario explicarlo en detalles puesto que se realiza automticamente por un programa

especial en la PC y un simple dispositivo electrnico denominado programador.