Está en la página 1de 30

MICROCONTROLADORES

PIC DE MICROCHIP

SISTEMA PROGRAMABLE
Unidad
Central

Memoria
ROM

Memoria
RAM

Buses del Sistema

Circuitos
de interfaz
Exterior

ESTRUCTURA DE UN
MICROCONTROLADOR

Controlador de
interrupciones

ROM
UVPROM
OTPROM

Temporizador 1
RAM

EEPROM

Temporizador 0

Interfaz
especfica

CPU

Controlador
de bus
Osc.

Puertos de
entrada/salida
.....

Puerto
serie

MICROCONTROLADOR
PIC16F877A
- Arquitectura Harvard
- Tecnologa RISC
- Tecnologa CMOS
Subfamilia

Bits del Bus de


Instrucciones

Nomenclatura

Gama Baja

12

PIC12XXX y
PIC14XXX

Gama Media

14

PIC16XXX

Gama Alta

16

PIC17XXX y
PIC18XXX

EMPAQUETADOS
DIP: DUAL IN LINE PACKAGE

EMPAQUETADOS
PLCC: Plastic Leaded Chip Carrier

SOIC

EMPAQUETADOS
QFP: Quad Flat Package

EMPAQUETADOS
SOIC: Small Outline Integrated
Circuit

CARACTERSTICAS
Procesador de Arquitectura RISC Avanzada.
Juego de solo 35 instrucciones con 14 bits de longitud. Todas
ellas se ejecutan en un ciclo de instruccin, menos las de
salto que tardan dos.
8K para la Memoria de Programa, tipo FLASH en los
modelos 16F876 y 16F877 y 4KB de memoria para los
PIC16F873 y 16F874.
368 Bytes de memoria de Datos RAM.
256 Bytes de memoria de Datos EEPROM.

CARACTERSTICAS
Hasta 14 fuentes de interrupcin internas y externas.
Pila de 8 niveles.
Modos de direccionamiento directo e indirecto.
Modo SLEEP de bajo consumo.
Perro Guardin (WDT: Watchdog).
Voltaje de alimentacin comprendido entre 2 y 5,5 V.
Bajo consumo: < 2 mA valor para 5 V y 4 MHz

PERIFRICOS INCLUIDOS EN EL
PIC
Timer0: Temporizador-contador de 8 bits con preescaler de 8 bits.
Timer1: Temporizador-contador de 16 bits con preescaler que puede incrementarse en modo sleep de
forma externa por un cristal/clock.
Timer2: Temporizador-contador de 8 bits con preescaler y post-scaler.
Dos mdulos de Captura, Comparacin,
(Modulacin de Ancho de Pulsos).

PWM

PERIFRICOS INCLUIDOS EN EL
PIC
Conversor A/D de 10 bits.
Puerto Serie Sncrono Master (MSSP) con SPI e
I2C (Master/Slave).
USART/SCI (Universal Synchronus Asynchronous
Receiver Transmitter) con 9 bit.
Puerto Paralelo
Esclavo
encapsulados con 40 pines

(PSP)

solo

en

OSCILADOR
LP Baja frecuencia (y bajo consumo de potencia)
XT Cristal / Resonador cermico externos, (Media
frecuencia)

HS
Alta
velocidad
Cristal/resonador
RC Resistencia

(y

alta

potencia)

MODOS LP, XT Y HS

CIRCUITO PARA EL CRISTAL

DESCRIPCIN DE LA CPU
La CPU es la responsable de la interpretacin y ejecucin de
la informacin (instrucciones) guardada en la memoria de
programa.
Muchas de estas instrucciones operan sobre la memoria de
datos.
Para operar sobre la memoria de datos adems, si se van a
realizar operaciones lgicas o aritmticas, requieren usar la
Unidad de Lgica y Aritmtica (ALU). La ALU controla los
bits de estado (Registro STATUS), los bits de este registro se
alteran dependiendo del resultado de algunas instrucciones.

CICLO DE INSTRUCCIN
El registro Program Counter (PC) es gobernado por el ciclo de
instruccin como se muestra en la siguiente figura. Cada ciclo de
instruccin la CPU lee (ciclo Fetch) la instruccin guardada en
la memoria de programa apuntada por PC y al mismo tiempo
ejecuta la instruccin anterior, esto debido a una cola de
instrucciones que le permite ejecutar una instruccin
mientras lee la prxima:

REGISTROS DE LA CPU
Registro PC.- Registro de 13 bits que siempre apunta a la
siguiente instruccin a ejecutarse.
Registro de Instruccin.- Registro de 14 bits. Todas las
instrucciones se colocan en el para ser decodificadas por la
CPU antes de ejecutarlas.
Registro W.- Registro de 8 bits que guarda resultados
temporales de las operaciones realizadas por la ALU.
Registro STATUS.- Registro de 8 bits, cada uno de sus bits
(denominados Banderas) es un indicador de estado de la
CPU o del resultado de la ltima operacin.

REGISTRO STATUS

Z.- Este bit se pone (=1) para indicar que el resultado


de la ltima operacin fue cero, de lo contrario se limpia
(=0).
C: Bit de
aritmtica.

acarreo/prstamo

de

la

ltima

operacin

CD: carreo/Prstamo proveniente del cuarto bit menos


significativo. Funciona igual que el bit C, pero para
operaciones de 4 bits.

ORGANIZACIN DE LA MEMORIA
DEL PIC
La Memoria de Programa

Los PIC de rango medio


poseen un registro Contador
del Programa (PC) de 13
bits, capaz de direccionar un
espacio de 8K x 14, como
todas la instrucciones son de
14 bits, esto significa un
bloque de 8k instrucciones.
El bloque total de 8K x 14 de
memoria de programa est
subdividido en 4 pginas de
2K x 14.

CONTADOR DE PROGRAMA

El registro contador del programa (PC) especifica la


direccin de la instruccin que la CPU buscar
(fetch) para ejecutarla.

PAGINACIN
Para saltar entre una pgina y otra, los bits ms significativos del PC
debern ser modificados. Debido a que las instrucciones GOTO y CALL
slo pueden direccionar un bloque de 2K (pues usan una direccin de 11
bits) deben existir otros dos bits que completen los 13 bits del PC para
moverse sobre los 8K de memoria de programa.
Estos dos bits extra se encuentran en un registro denominado PCLATH
(Program Counter Latch High) en sus bits PCLATH<4:3>. Por esto antes
de un GOTO o un CALL el usuario deber asegurarse que estos bits
apunten a la pgina deseada.
Si las instrucciones se ejecutan secuencialmente el PC cruza libremente
los lmites de pgina sin necesidad de que el usuario escriba en el
PCLATH.

MEMORIA DE STACK O PILA


La memoria de stack es una rea de memoria
completamente separada de la memoria de datos y la
memoria de programa. El stack consta de 8 niveles de
13 bits cada uno. Esta memoria es usada por la CPU
para almacenar las direcciones de retorno de
subrutinas. El apuntador de stack no es ni legible ni
escribible.
Cuando el apuntador de stack ya est en la posicin 8 y se
ejecuta otro CALL se reinicia a la posicin 1 sobrescribiendo
en dicha posicin. No existe ningn indicador que avise de
esta situacin. As que el usuario deber llevar el control
para que esto no ocurra.

MEMORIA DE DATOS
La memoria de datos consta de dos reas
mezcladas y destinadas a funciones distintas:

Registros de Propsito Especial (SFR)


Registro de Propsito General (GPR)

SELECCIN DE BANCOS
Toda la memoria de datos est organizada en 4
bancos numerados 0,1, 2 y 3. Para seleccionar un
banco se debe hacer uso de los bits del registro
STATUS<6:5> denominados RP1 y RP0.

DIRECCIONAMIENTO INDIRECTO Y DIRECTO

CONJUNTO DE INSTRUCCIONES

CONJUNTO DE INSTRUCCIONES

También podría gustarte