Sei sulla pagina 1di 17

Instituto Tecnolgico Superior De Acayucan

Ingeniera en Sistemas Computacionales


Configuracin electrnica del PIC16F84A
Lenguaje de Interfaz
Flor Itzel Bautista Hernndez
ngel Fernando Viveros Hernndez

Docente MTI. Henry Izquierdo Ramrez

ndice
Introduccin.......................................................................................................... 2
Configuracin electrnica del PIC16F84A..................................................................3
Diagrama arquitectnico...................................................................................... 5
Distribucin de pines........................................................................................... 7
Nomenclatura de pines........................................................................................ 9
Registros........................................................................................................... 9
Reset.............................................................................................................. 12
Conclusin.......................................................................................................... 14
Glosario.............................................................................................................. 14
Referencias......................................................................................................... 14

ndice de figuras
Figura 1 Tabla caractersticas principales microcontroladores PIC16F8X........................5
Figura 2 Arquitectura interna PIC16F84A...................................................................6
Figura 3 Diagrama de pines PIC16F84A....................................................................7
Figura 4 Puertos del PIC16F84................................................................................ 8
Figura 5 Nomenclatura y descripcin de pines............................................................9
Figura 6 Registros PIC16F84A............................................................................... 10
Figura 7 Conexin del botn reset..........................................................................13

Introduccin
La presente investigacin muestra informacin referente al microcontrolador
PIC16F84A, en el cual se dar definicin de un microcontrolador, y ciertas
caractersticas, adems se mostrar su diagrama arquitectnico con una
descripcin del mismo, la distribucin de pines mediante su diagrama
representativo y especificacin de la nomenclatura que utiliza, tambin se detallan
los registros con los que cuenta y explicacin del pin de reset.

Configuracin electrnica del PIC16F84A


Un microcontrolador, es un circuito integrado programable que contiene los
elementos necesarios para controlar un sistema. PIC significa Peripheral Interface
Controler es decir un controlador de perifricos. Cuando hablamos de un circuito
integrado programable que controla perifricos, estamos hablando de un sistema
que contiene entre otras cosas una unidad arimtico-lgica, unas memorias de
datos y programas, unos puertos de entrada y salida, es decir estamos hablando
de un pequeo ordenador diseado para realizar unas funciones especficas.
Podemos encontrar microcontroladores en lavadoras, teclados, telfonos mviles,
ratones etc. Hay multitud de microcontroladores con ms memoria, entradas y
salidas, frecuencia de trabajo, coste, subsistemas integrados y un largo etc.
dependiendo de cada tipo de microcontrolador.
En los ltimos aos han tenido un gran auge los microcontroladores PIC
fabricados por Microchip Technology Inc. Los PIC son una familia de
microcontroladores que han tenido gran aceptacin y desarrollo en los ltimos
aos gracias a que sus buenas caractersticas, bajo precio, reducido consumo,
pequeo tamao, gran calidad, fiabilidad y abundancia de informacin, lo
convierten en muy fcil, cmodo y rpido de utilizar.
El PIC16F84 al igual que la versin mejorada de mayor velocidad PIC16F84A
pertenece a la familia de microcontroladores de 8 bits PIC16CXX, los cuales son
de bajo costo, alto rendimiento y CMOS. Este grupo contiene los siguientes
dispositivos:

PIC16F83

PIC16F84

PIC16F84A

PIC16CR83

PIC16CR84

Los microcontroladores PIC16F8x poseen 68 bytes de RAM, 64 bytes de memoria


de datos EEPROM y 13 pines de entrada / Salida. Tambin est disponible un
contador / temporizador.

La familia
PIC16CXX tiene caractersticas especiales para reducir los
componentes externos, reduciendo as el costo, reforzando la confiabilidad del
sistema y reduciendo el consumo de energa.
Hay cuatro opciones del oscilador, de los cuales el oscilador RC mediante un solo
pin, proporciona una solucin de bajo costo, el oscilador LP reduce el consumo de
energa, el oscilador XT es un cristal estndar y el oscilador HS se refiere a
cristales de alta velocidad.
El modo SLEEP (Bajo de consumo de corriente) ofrece un ahorro de energa.
El usuario puede despertar al chip del modo SLEEP a travs de varias
interrupciones internas y externas para reestablecer su funcionamiento.
Un confiable temporizador de perro guardin (WDT) est integrado en el chip, as
como su propio oscilador RC proporciona proteccin cuando el programa ha sido
ciclado.
Los dispositivos con memoria de programa Flash permiten que el mismo
dispositivo pueda ser usado como prototipo y como elemento de produccin.
La gran capacidad de reprogramar el cdigo del circuito permite su actualizacin
sin que el dispositivo sea removido de su aplicacin final.
En la tabla se muestran las caractersticas principales de la serie de
microcontroladores PIC16F8x.
PIC16F83 PIC16CR8 PIC16F84 PIC16CR8 PIC16F84
3
4
A
Mxima frecuencia de
operacin MHz

10

10

10

10

20

Memoria de programa
Flash

512

1K

1K

Memoria de programa
EEPROM

Memoria de programa
ROM

512

1K

Memoria de datos
(bytes)

36

36

68

68

68

EEPROM de datos
(bytes)

64

64

64

64

64

Mdulos
Temporizadores

TMRO

TMRO

TMRO

TMRO

TMRO

Fuentes de
interrupcin

Pines de I/O

13

13

13

13

13

4.0-6.0

2.0-6.0

4.0-6.0

2.0-6.0

4.0-6.0

Dip 18pin,

Dip 18pin,

Dip 18pin,

Dip 18pin,

Dip 18pin,

SOIC

SOIC

SOIC

SOIC

SOIC

Rangos de Voltaje
(Volts)

Empaques

Figura 1 Tabla caractersticas principales microcontroladores PIC16F8X

Diagrama arquitectnico
Este trmino se refiere a los bloques funcionales internos que conforman el
microcontrolador y la forma en que estn conectados, por ejemplo la memoria
FLASH (de programa), la memoria RAM (de datos), los puertos, la lgica de
control que permite que todo el conjunto funcione, etc.
El alto desempeo de la familia PIC16CXX puede ser atribuido a un nmero de
caractersticas comnmente encontradas en un microprocesador RISC. Un total
de 35 instrucciones (Juego de instrucciones reducido) estn disponibles. Los
PIC16CXX incluyendo el PIC16F84A usan una arquitectura Harvard. Esta
arquitectura tiene la memoria de programa y la de datos en forma separada. As el
dispositivo tiene un bus de memoria de programa y un bus de memoria de datos.
La arquitectura Harvard presenta muchas ventajas sobre la tradicional arquitectura
Von Neumann, donde el programa y los datos se sacan de la misma memoria
(acceso sobre el mismo bus). Separando la memoria de programa y la memoria de
datos permite instrucciones de un tamao de palabra mayor de 8 bits. La memoria
de programa tiene 1K posiciones de 14 bits cada una (1K x 14). La mayor parte
de sus instrucciones se ejecutan en un ciclo de reloj excepto las instrucciones de
salto.
Otra aportacin frecuente que aumenta el rendimiento del computador es el
fomento del paralelismo implcito, que consiste en la segmentacin del procesador
(pipe-line), descomponindolo en etapas para poder procesar una instruccin
diferente en cada una de ellas y trabajar con varias a la vez. El PIC16F84 contiene
6

una ALU de 8 bits de trabajo. Un diagrama a bloques simplificado para el


PIC16F84A se muestra en la figura siguiente.

Figura 2 Arquitectura interna PIC16F84A

La figura anterior muestra la arquitectura general del PIC16F84A, en ella se


pueden apreciar los diferentes bloques que lo componen y la forma en que se
conectan. Se muestra la conexin de los puertos, las memorias de datos y de
programa, los bloques especiales como el watchdog, los temporizadores de
arranque, el oscilador, etc. Todos los elementos se conectan entre s por medio de
buses. Un bus es un conjunto de lneas que transportan informacin entre dos o
ms mdulos. Vale la pena destacar que el PIC16F84A tiene un bloque especial
de memoria de datos de 64 bytes del tipo EEPROM, adems de los dos bloques
de memoria principales que son el de programa y el de datos o registros.
La ALU es una unidad aritmtica de propsito general. Realiza operaciones
aritmticas y booleanas entre registros. La ALU es de 8 bits de ancho y capaz de
realizar suma, substraccin y operaciones lgicas entre registro de propsito
especfico, registro de propsito general y el registro de trabajo W. Dependiendo
de la instruccin a ejecutar, la ALU puede afectar los valores de acarreo o carry
7

(C), el acarreo de dgito o digit carry (DC), y Cero (Z) estos bits forman parte del
registro ESTADO (STATUS) y son tambin llamados banderas o sealizadores.
El registro de trabajo W es de 8 bits y es usado para las operaciones de la ALU.
No es un registro que tenga una direccin especfica. Se accede a l mediante las
instrucciones o mnemnicos que involucran la utilizacin de este registro.
La memoria de programa es de tipo Flash de un tamao de 1K x 14. Por sus
mejores prestaciones, la memoria Flash est sustituyendo a la memoria EEPROM
para contener instrucciones.

Distribucin de pines
El diagrama de pines del microcontrolador PIC16F84A se puede apreciar en la
figura siguiente.

Figura 3 Diagrama de pines PIC16F84A

El encapsulado ms comn para el microcontrolador es el DIP (Dual In-line Pin) de


18 pines, propio para usarlo en experimentacin. La referencia completa es
16F84-04/P, para el dispositivo que utiliza reloj de 4 MHz. Sin embargo, hay otros
tipos de encapsulado que se pueden utilizar segn el diseo y la aplicacin que se
quiere realizar. Por ejemplo, el encapsulado tipo surface mount (montaje
superficial) tiene un reducido tamao y bajo costo, que lo hace propio para
producciones en serie o para utilizarlo en lugares de espacio muy reducido.
Los puertos son el puente entre el microcontrolador y el mundo exterior. Son
lneas digitales que trabajan entre cero y cinco voltios y se pueden configurar
como entradas o como salidas.

El PIC16F84 tiene dos puertos. El puerto A con 5 lneas y el puerto B con 8 lneas.
Cada pin se puede configurar como entrada o como salida independiente
programando un par de registros diseados para tal fin. En ese registro un "0"
configura el pin del puerto correspondiente como salida y un "1" lo configura como
entrada.

Figura 4 Puertos del PIC16F84

El puerto B tiene internamente unas resistencias de pull-up conectadas a sus


pines (sirven para fijar el pin a un nivel de cinco voltios), su uso puede ser
habilitado o deshabilitado bajo control del programa. Todas las resistencias de pullup se conectan o se desconectan a la vez, usando el bit llamado RBPU que se
encuentra en el registro (posicin de memoria RAM) llamado OPTION. La
resistencia de pull-up es desconectada automticamente en un pin si este se
programa como salida. El pin RB0/INT se puede configurar por software para que
funcione como interrupcin externa, para configurarlo se utilizan unos bits de los
registros INTCON y OPTION.
El pin RA4/TOCKI del puerto A puede ser configurado como un pin de
entrada/salida o como entrada del temporizador/contador. Cuando este pin se
programa como entrada digital, funciona como un disparador de Schmitt (Schmitt
trigger), puede reconocer seales un poco distorsionadas y llevarlas a niveles
lgicos (cero y cinco voltios). Cuando se usa como salida digital se comporta como
colector abierto, por lo tanto, se debe poner una resistencia de pull-up (resistencia
externa conectada a un nivel de cinco voltios). Como salida, la lgica es inversa:
un "0" escrito al pin del puerto entrega en el pin un "1" lgico. Adems, como
salida no puede manejar cargas como fuente, slo en el modo sumidero.
Como este dispositivo es de tecnologa CMOS, todos los pines deben estar
conectados a alguna parte, nunca dejarlos al aire porque se puede daar el
integrado. Los pines que no se estn usando se deben conectar a la fuente de
alimentacin de +5V.

Nomenclatura de pines

Figura 5 Nomenclatura y descripcin de pines

Registros
El PIC16F84A puede direccionar 128 posiciones de memoria RAM, pero solo tiene
implementados fsicamente las primeros 80 (00h-4Fh en hexadecimal). De estos
las primeras 12 son registros que cumplen un propsito especial (SFR) en el
control del microcontrolador y las 68 siguientes son registros de uso general
(GPR) que se pueden usar para guardar los datos temporales de la tarea que se
est ejecutando,
SFR: Registros de propsito especfico.
GPR: Registros de propsito general
10

Figura 6 Registros PIC16F84A

00h o INDF: Registro para direccionamiento indirecto de datos. Este no es un


registro disponible fsicamente; utiliza el contenido del FSR y el bit RP0 del registro
STATUS para seleccionar indirectamente la memoria de datos o RAM del usuario;
la instruccin determinar que se debe realizar con el registro sealado.
01h o TMR0. Temporizador/contador de 8 bits. Este se puede incrementar con una
seal externa aplicada al pin RA4/TOCKI o de acuerdo a una seal interna
proveniente del reloj de instrucciones del microcontrolador.
02h o PCL: Contador de programa. Se utiliza para direccionar las palabras de 14
bits del programa del usuario que se encuentra almacenado en la memoria ROM;
este contador de programas es de 13 bits de ancho.
03h o STATUS: Registro de estados. Contiene el estado aritmtico de la ALU, la
causa del reset y los bits de preseleccin de pgina para la memoria de datos.
04h o FSR: Registro selector de registros. En asocio con el registro IND0, se
utiliza para seleccionar indirectamente los otros registros disponibles.

11

05h o PORTA: Puerto de Entrada/Salida de 5 bits. Este puerto, al igual que todos
sus similares en los PIC, puede leerse o escribirse como si se tratara de un
registro cualquiera.
06h o PORTB: Puerto de entrada/salida de 8 bits. Al igual que en todos los PIC,
este puede leerse o escribirse como si se tratara de un registro cualquiera;
algunos de sus pines tienen funciones alternas en la generacin de interrupciones.
08h o EEDATA: Registro de datos de la EEPROM. Este registro contiene el dato
que se va a escribir en la memoria EEPROM de datos o el que se ley de sta.
09h o EEADR: Registro de direccin de la EEPROM. Aqu se mantiene la
direccin de la EEPROM de datos que se va a trabajar, bien sea para una
operacin de lectura o para una de escritura.
0Ah o PCLATH: Registro para la parte alta de la direccin. Este contiene la parte
alta del contador de programa y no se puede acceder directamente.
0Bh o INTCON: Registro para el control de interrupciones. Es el encargado del
manejo de las interrupciones.
81h u OPTION: Registro de configuracin mltiple. Posee varios bits para
configurar el preescalador, la interrupcin externa, el timer y las caractersticas del
puerto B.
85h o TRISA: Registro de configuracin del puerto A. Es el registro de control para
el puerto A. Un cero en el bit correspondiente al pin lo configura como salida,
mientras que un uno lo hace como entrada.
86h o TRISB: Registro de configuracin del puerto B. Orientado hacia el control
del puerto B. Son vlidas las mismas consideraciones del registro anterior.
88h o EECON1: Registro para el control de la memoria EEPROM de datos. Este
es el registro de control de la memoria de datos y slo destina cinco bits para ello,
los ms bajos; los tres bits superiores permanecen sin implementar.
89h o EECON2: Registro auxiliar para control de la memoria EEPROM de datos.
Registro que no est implementado fsicamente en el microcontrolador, pero que
es necesario en las operaciones de escritura en la EEPROM de datos; ante
cualquier intento de lectura se obtendrn ceros.
12

Reset
En los microcontroladores se requiere un pin de reset para reiniciar el
funcionamiento del sistema cuando sea necesario, ya sea por una falla que se
presente o porque as se halla diseado el sistema. El pin de reset en los PIC es
llamado MCLR (master clear). El PIC16F84 admite diferentes tipos de reset:

Al encendido (Power On Reset)


Pulso en el pin MCLR durante operacin normal
Pulso en el pin MCLR durante el modo de bajo consumo (modo sleep)
El rebase del conteo del circuito de vigilancia (watchdog) durante operacin
normal
El rebase del conteo del circuito de vigilancia (watchdog) durante el modo
de bajo consumo (sleep)

Cuando se aplica un nivel bajo durante el tiempo suficiente al pin MCLR, se


produce la reinicializacin, que conlleva la ejecucin de dos acciones importantes.

La puesta a cero del Contador de Programa, que as pasa a direccionar la


primera instruccin del programa.
Colocar en un determinado estado la mayora de los bits de los registros de
control del procesador.

El reset al encendido se consigue gracias a dos temporizadores. El primero de


ellos es el OST (Oscillator Start-Up Timer: Temporizador de encendido del
oscilador), orientado a mantener el microcontrolador en reset hasta que el
oscilador del cristal es estable.
El segundo es el PWRT (Power-Up Timer: Temporizador de encendido), que
provee un retardo fijo de 72 ms (nominal) en el encendido nicamente, diseado
para mantener el dispositivo en reset mientras la fuente se estabiliza. Para utilizar
estos temporizadores, slo basta con conectar el pin MCLR a la fuente de
alimentacin, evitndose utilizar las tradicionales redes RC externas en el pin de
reset.
El reset por MCLR se consigue llevando momentneamente este pin a un estado
lgico bajo, mientras que el watchdog WDT produce el reset cuando su
temporizador rebasa la cuenta, o sea que pasa de 0FFh a 00h. Cuando se quiere
tener control sobre el reset del sistema se puede conectar un botn como se
muestra en la figura.
13

Figura 7 Conexin del botn reset

Vector de reset. Cuando ocurre un reset al microcontrolador, el contador de


programa se pone en ceros (000H). Por esta razn, en la primera direccin del
programa se debe escribir todo lo relacionado con la iniciacin del mismo.
En cualquiera de las cinco posibilidades despus del Reset el PC se carga con
cero, excepto cuando se desborda el WDT estando el PIC en estado de reposo,
donde el PC se incrementa una unidad para ejecutar la siguiente instruccin a la
que lo introdujo en ese estado de bajo consumo.
Dados los diferentes efectos que provoca el Reset segn la causa que lo haya
originado, es muy importante averiguar cul es sta. Para ello se utilizan dos bits
del registro ESTADO, que ocupa la direccin 3 de los dos bancos de la RAM. Se
trata del bit TO (Timer Out) que se activa con el desbordamiento del WDT y del bit
PD (Power Down) que se activa cuando el PIC est en estado de reposo. En la
tabla se muestran los estados de estos dos bits, al aplicarse algn tipo de reset.
TO

PD

Condicin de Reset

Por (Reset por conexin VDD)

Desbordamiento WDT en funcionamiento


normal

Desbordamiento WDT en estado de reposo

Activacin MCLR en funcionamiento normal

Activacin MCLR en reposo

14

Conclusin
En la presente investigacin de defini y describieron ciertas caractersticas
referente al microcontrolador PIC16F84A siendo un derivado del PIC16F84 el cual
pertenece a una familia de microcontroladores PIC16CXX los cuales son de bajo
costo, alto rendimiento, calidad y fiabilidad teniendo as buena aceptacin por sus
buenas caractersticas, se mostraron diagramas referentes a su arquitectura y
distribucin de pines, adems de describir sus registros y explicacin del pin de
reset.

Glosario
PIC - Controlador de interfaz perifrico
CMOS - Semiconductor complementario de xido metlico.
EEPROM - Memoria programable y borrable elctricamente de solo lectura
WDT - Temporizador de perro guardin
RAM - Memoria de acceso aleatorio
ALU - Unidad aritmtica lgica
MHz Megahertz
SFR - Registros de propsito especfico.
GPR - Registros de propsito general
MCLR - Pin Master Clear
OST - Temporizador de encendido del oscilador
PWRT - Temporizador de encendido

Referencias
Orizaba, I. T. (04 de 09 de 2009). Scribd. Recuperado el 26 de 05 de 2015, de
https://es.scribd.com/doc/19417100/Manual-Pic16f84a
Palacios, E. (2004). Microcontrolador PIC16F84, Desarrollo de proyectos. Mxico:
AlfaOmega.

15

Pereira, U. T. (s.f.). UTP. Recuperado el 26 de 05 de 2015, de


http://www.utp.edu.co/~eduque/arquitec/Pic16f84.pdf

16

Potrebbero piacerti anche