Você está na página 1de 17

12/03/2015

EL PIC16(C/F)84

EL PIC16(C/F)84
Es un microcontrolador de 18 pines, perteneciente a la gama media.
La memoria de programa que posee, en el caso del PIC 16C84 se trata de una EEPROM
de 1 K palabras de 14 bits cada una. El PIC 16F84 tiene la misma capacidad de memoria
de instrucciones, pero de tipo FLASH. Ambos disponen de 64 bytes de EEPROM como
memoria de datos auxiliar y opcional.

12/03/2015

EL PIC16(C/F)84
Algunas caractersticas:

EL PIC16(C/F)84
Variantes del PIC16X8X:

12/03/2015

EL PIC16(C/F)84
Descripcin de la funcin de cada pin:

VDD: Alimentacin (+)


VSS: Gnd o Alimentacin (-)
OSC1/CLKin: Entrada del circuito oscilador externo (proporciona la frecuencia de trabajo)
OSC2/CLKout: Pin auxiliar del circuito oscilador.
MCLR#: Es pin se activa con un nivel lgico bajo. Su activacin resetea al PIC.
RA0 RA4: Son 5 lneas de E/S digitales. Corresponden a la puerta A.
RA4: Tambin sirve para recibir una frecuencia externa para alimentar el temporizador
interno.
RB0 RB7 : Son 8 lneas de E/S digitales. Corresponden a la puerta B.
RB0: Tambin sirve para recibir la peticin externa de interrupcin.

EL PIC16(C/F)84
El Reloj:
La frecuencia de trabajo del
microcontrolador es un parmetro
fundamental a la hora de establecer la
velocidad en la ejecucin de instrucciones y
el consumo de energa.
Un ciclo de instruccin, tiempo que cada
instruccin tarda en ejecutarse, es de
cuatro perodos de reloj (clock u oscilador).
Todas las instrucciones del PIC se realizan
en un ciclo de instruccin menos las de
salto, que tardan el doble.

12/03/2015

EL PIC16(C/F)84
El Reloj:
Cuando un PIC16X8X funciona a 10 MHz, entonces:

TCICLO _ RELOJ

1
100nS
10 MHz

Cada instruccin necesita 4 periodos de reloj para ejecutarse, entonces:

TCICLO _ INSTRUCCION 4 TCICLO _ RELOJ 4 100nS 400nS


El ciclo de instruccin se realizan 4 operaciones:

Q1. Durante este impulso se incrementa el Contador de Programa.


Q4. Durante este impulso se busca el cdigo de la instruccin en la memoria del
programa y se carga en el Registro de Instrucciones.
Q2-Q3. Durante la actividad de estas dos seales se produce la decodificacin y la
ejecucin de la instruccin.

EL PIC16(C/F)84

12/03/2015

EL PIC16(C/F)84

EL PIC16(C/F)84
Ejemplo: Un PIC16C84 funciona a 4 MHz y ejecuta un programa de 1.000
instrucciones, de las cuales el 25% son de salto. Calcule el tiempo que tarda en ejecutarlo
por completo.

12/03/2015

EL PIC16(C/F)84
SOLUCION
Ejemplo: Un PIC16C84 funciona a 4 MHz y ejecuta un programa de 1.000
instrucciones, de las cuales el 25% son de salto. Calcule el tiempo que tarda en ejecutarlo
por completo.

TCICLO _ INSTRUCCION 4

1
1S
4 MHz

Instrucciones _ de _ salto 25% 1000 250

TCICLO _ SALTOS 1S 250 2 500 S

Instrucciones _ normales 75% 1000 750

TCICLO _ INSTRUCCIONE _ NORMALES 1S 750 750 S


TPROGRAMA 500 S 750 S 1250 S

EL PIC16(C/F)84
La arquitectura interna del PIC16F84A
El aislamiento y diferenciacin de los dos tipos de memoria (instrucciones y datos)
permite que cada uno tenga la longitud y el tamao ms adecuados. De esta forma, en el
PIC16F84A, la longitud de los datos es de un byte, mientras que la de las instrucciones es de
14 bits

12/03/2015

EL PIC16(C/F)84
La arquitectura interna del PIC16F84A

EL PIC16(C/F)84
La arquitectura interna del PIC16F84A

12/03/2015

EL PIC16(C/F)84
1
La fase de bsqueda, se
inicia en el contador de
programa, quien indica
la direccin de la
memoria de programa.

EL PIC16(C/F)84
2
El cdigo binario de 14
bits se carga en el
registro de instruccin y
se transfiere al
decodificador y a la
unidad de control.

12/03/2015

EL PIC16(C/F)84
3
Ya en la unidad de
control la ALU es la
encargada de realizar la
operacin lgicoaritmtica que implica
la instruccin
decodificada

EL PIC16(C/F)84
4
Las operaciones de E/S
las realizan las puertas y
las de temporizacin el
TMR0.

12/03/2015

EL PIC16(C/F)84
Osciladores
Los PIC admiten cuatro tipos de osciladores externos para aplicarles la frecuencia de
funcionamiento.

Oscilador tipo RC
Oscilador tipo HS
Oscilador tipo XT

Oscilador de cristal o resonador

Oscilador tipo LP

EL PIC16(C/F)84
Oscilador tipo RC
Se trata de un oscilador de bajo coste formado por una simple resistencia y un condensador.
Proporciona una estabilidad mediocre de la frecuencia cuyo valor depende de los valores de
los dos elementos de la red R-C

10

12/03/2015

EL PIC16(C/F)84
Oscilador tipo HS: oscilador que alcanza una alta velocidad comprendida entre 8 y 10 MHz
Oscilador tipo XT: oscilador de cristal o resonador para frecuencias estndar comprendidas entre 100 KHz y 4 MHz.
Oscilador tipo LP: Oscilador de bajo consumo con cristal o resonador diseado para trabajar en un rango de frecuencias de 35
a 200 KHz.

EL PIC16(C/F)84
RESET
Cuando se aplica un nivel lgico bajo en la patita MCLR#, el microcontrolador reinicializa
su estado. Dos acciones importantes se producen en la reinicializacin o reset:
1. El Contador de Programa se carga con la
direccin 0, apuntando la primera
direccin de la memoria de programa en
donde deber estar situada la primera
instruccin del programa de aplicacin.
2. La mayora de los registros de estado y
control del procesador toman un estado
conocido y determinado.

11

12/03/2015

EL PIC16(C/F)84
Circuito Bsico

El diodo 1N4148 es opcional.

EL PIC16(C/F)84
Memoria de Programa
La arquitectura de los PIC de la gama media admite un mapa de memoria de programa
capaz de contener 8.192 instrucciones de 14 bits cada una.
En la gama media, la verdadera aportacin del PIC16F84A es la utilizacin de una memoria
de programa del tipo FLASH, capaz de ser escrita y borrada elctricamente.

12

12/03/2015

EL PIC16(C/F)84
Memoria de Programa
La Pila es una zona aislada de las memorias de instrucciones y datos. Tiene una
estructura LIFO en la que el ltimo valor guardado es el primero que sale. Tiene ocho
niveles de profundidad, cada uno con 13 bits. Funciona como un buffer circular, de manera
que el valor que se obtiene al realizar el noveno desempilado (pop) es igual al que se
obtuvo en el primero.

EL PIC16(C/F)84
Memoria de Datos
La memoria de datos del PIC16F84A dispone de dos zonas
diferentes:
rea de RAM esttica o SRAM, donde reside el Banco
de Registros Especficos (SFR) y el Banco de Registros
de Propsito General (GPR). El primer banco tiene
veinticuatro posiciones de tamao byte, aunque dos de
ellas no son operativas, y el segundo, sesenta y ocho.

rea EEPROM de 64 bytes, donde opcionalmente se


pueden almacenar datos que no se pierden al
desconectar la alimentacin.

13

12/03/2015

EL PIC16(C/F)84
Memoria de Datos
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 ESTADO para seleccionar indirectamente la memoria de
datos del usuario.
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. La ruta de incremento del registro se puede
determinar por medio de un preescalador, localizado en el registro
OPTION.

EL PIC16(C/F)84
Memoria de Datos
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 de programa, el contador de programa es de
13 bits de ancho. Se divide en byte alto (PCLATH) y bajo (PCL). Durante
la ejecucin normal del programa el contador se incrementa en uno con
cada instruccin, a menos que se trate de alguna instruccin de salto.
0Ah o PCLATH: Contador de programa. Es la parte alta del contador de
programa y no se puede acceder directamente.

14

12/03/2015

EL PIC16(C/F)84
Memoria de Datos
03h o PCL: Registro de estados. Contiene el estado aritmtico de la ALU,
la causa del reset y los bits de preseleccin de banco de memoria de
datos.

EL PIC16(C/F)84
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.
Si en el programa no se utilizan llamadas indirectas, este registro se
puede utilizar como un registro de propsito general.

15

12/03/2015

EL PIC16(C/F)84
Memoria de Datos
05h o PORTA: Puerto de Entrada/Salida de 5 bits. Este puerto puede
leerse o escribirse como si se tratara de un registro cualquiera. El
registro que controla el sentido (entrada o salida) de los pines es el
llamado TRISA, un cero en el bit correspondiente al pin lo configura
como salida.
06h o PORTB: Puerto de Entrada/Salida de 8 bits. Este puerto puede
leerse o escribirse como si se tratara de un registro cualquiera, algunos
de sus pines tienen funciones alternas en la generacin de
interrupciones. El registro que controla el sentido (entrada o salida) de
los pines es el llamado TRISB, un cero en el bit correspondiente al pin lo
configura como salida.

EL PIC16(C/F)84
Memoria de Datos
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 esta, este registro se controla con el EECON1.
09h o EEDATA: Registro de datos de la EEPROM. Aqu se mantiene la
direccin de la EEPROM que se escribir o leer, este registro se
controla con el EECON2.

16

12/03/2015

EL PIC16(C/F)84
Memoria de Datos
0Bh o INTCON: Registro para el control de interrupciones. Es el
encargado del manejo de las interrupciones.

EL PIC16(C/F)84
Memoria de Datos
0Bh o INTCON: Registro para el control de interrupciones. Es el
encargado del manejo de las interrupciones.

17

Você também pode gostar