Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Microcontroladores Presentacion 1
Microcontroladores Presentacion 1
PIC DE MICROCHIP
SISTEMA PROGRAMABLE
Unidad
Central
Memoria
ROM
Memoria
RAM
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
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
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
acarreo/prstamo
de
la
ltima
operacin
ORGANIZACIN DE LA MEMORIA
DEL PIC
La Memoria de Programa
CONTADOR DE PROGRAMA
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 DATOS
La memoria de datos consta de dos reas
mezcladas y destinadas a funciones distintas:
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.
CONJUNTO DE INSTRUCCIONES
CONJUNTO DE INSTRUCCIONES