Está en la página 1de 3

PIC16F84

Ir a la navegaci�nIr a la b�squeda
El PIC16F84 es un microcontrolador a 8 bits de la familia PIC perteneciente a la
Gama Media (seg�n la clasificaci�n dada a los microcontroladores por la misma
empresa fabricante) Microchip.

PIC16F84

�ndice
1 Estructura
2 Usos
3 Programa de ejemplo
4 Otro Programa de ejemplo
5 Datos curiosos sobre este PIC
6 V�ase tambi�n
7 Enlaces externos
Estructura
Se trata de uno de los microcontroladores m�s populares del mercado actual, ideal
para principiantes, debido a su arquitectura de 8 bits, 18 pines, y un conjunto de
instrucciones amigable para memorizar y f�cil de entender, internamente consta de:

Memoria Flash de programa (1K x 14 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 caracter�sticas son:

Manejo de interrupciones (de 4 fuentes).


Perro guardi�n (watchdog).
Bajo consumo.
Frecuencia de reloj externa m�xima 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 ser�a de 5MHz y as� pues se ejecutan 5 Millones de
Instrucciones por Segundo (5 MIPS)
No posee conversores anal�gicos-digital ni digital-anal�gicos.
Pipe-line de 2 etapas, 1 para b�squeda de instrucci�n y otra para la ejecuci�n de
la instrucci�n (los saltos ocupan un ciclo m�s).
Repertorio de instrucciones reducido (RISC), con tan solo 35 instrucciones
distintas.
4 tipos distintos de instrucciones, orientadas a byte, orientadas a bit, operaci�n
entre registros, de salto.
Usos
En los �ltimos a�os se ha popularizado el uso de este microcontrolador debido a su
bajo costo y tama�o. Se ha usado en numerosas aplicaciones, que van desde los
autom�viles a decodificadores de televisi�n. Es muy popular su uso por los
aficionados a la rob�tica y electr�nica.

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 r�cord,
especialmente dirigidas al campo dom�stico y educacional.

Programa de ejemplo
A continuaci�n hay un peque�o programa en ensamblador (MPASM) que pone a 0 las
posiciones de memoria 20 y 21 (en hexadecimal) usando un direccionamiento
indirecto:
MOVLW 20h
MOVWF FSR
CLRF INDF
INCF FSR, 1
CLRF INDF
MOVLW k: (Move Literal to W) Es una instrucci�n que carga en el registro de trabajo
W, un literal (constante) k, que en este caso es 20h.

MOVWF f: (Move W to File), Copia el contenido del registro W a la posici�n de


memoria f. En este caso, FSR representa una direcci�n de memoria. FSR es el
registro usado para direccionamiento indirecto. En FSR se carga la direcci�n de
memoria que se va a direccionar con INDF (otro registro).

CLRF f: (Clear File), Pone en 0 el registro en la posici�n de memoria f.

INCF f: (Increment File), Incrementa en uno el valor almacenado en la posici�n de


memoria f. .l.

Otro Programa de ejemplo


Este otro programa permite poner a valor l�gico uno la salida RB0 del
microcontrolador cuando se detecta un valor l�gico uno en la entrada RA0 mediante
el uso de saltos incondicionales GOTO (ir a...):

SIGUE BTFSS PORTA,0 ; testea el pin RA0 del PORTA, si encuentra un


"1" salta una instrucci�n, de lo contrario continua
GOTO APAGA ; salta a la subrutina APAGA
GOTO ENCIENDE ; salta a la subrutina ENCIENDE
APAGA BCF PORTB,0 ; pone en "0" el pin RB0 del PORTB
GOTO SIGUE ; vuelve al testeo
ENCIENDE BSF PORTB,0 ; pone en "1" el pin RB0 del PORTB
GOTO SIGUE ; todo de nuevo
Datos curiosos sobre este PIC
Broom icon.svg
Las secciones de curiosidades deben ser evitadas.
Puedes mejorar este art�culo introduciendo la informaci�n �til de esta secci�n en
el resto del texto y quitando los datos inapropiados.
El PIC16F84 posee una UAL (Unidad Aritm�tica L�gica) limitada que impide hacer
c�lculos matem�ticos b�sicos, como por ejemplo, una multiplicaci�n de dos n�meros a
8 bits en una �nica instrucci�n, o una divisi�n en una �nica instrucci�n. Por lo
que el programador debe valerse de otras t�cnicas matem�ticas que se apoyan en el
juego de instrucciones aritm�ticas disponibles en este PIC para realizar este
c�lculo matem�tico b�sico.
Los datos almacenados en la memoria EEPROM pueden durar almacenados por m�s de 40
a�os.
La memoria de datos no se puede acceder completamente en un �nico registro sino que
se debe acceder por bancos, por lo que se debe estar atento al momento de escribir
el programa de no sobrescribir alg�n registro en el banco 0 queriendo escribir
sobre el banco 1.
Muchos estudiantes de electr�nica, por no decir la mayor�a, eligen este PIC para
iniciarse en la programaci�n de microcontroladores cuando en el mercado existen
otros PIC con una arquitectura interna mucho m�s simple que la que posee este
microntrolador.
V�ase tambi�n
PIC16F87X
PIC16F88

Enlaces externos
Microcontroladores PIC eBook de programaci�n en lenguaje C de los PICs 16F88 y
16F628A con el compilador mikroC.
Web de Microchip
Hoja de caracter�sticas (Data sheet) en formato PDF
Web de desarrollo y divulgaci�n de microcontroladores
Un recambio "generacional" para el PIC16F84A
P�gina dedicada a este microcontrolador

También podría gustarte