Descargar

El microcontrolador PIC16F8X

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    1 El microcontrolador PIC16F8X Introducción Características generales PIC16F8x. Características generales. Encapsulado. Arquitectura básica. El reloj y el ciclo de instrucción. Organización de la memoria. El Banco de registros de propósito especial STATUS OPTIONS INTCON PC (program counter) (PCL, PCLATH) La pila Modos de direccionamiento. Puertos Timer/Counter

    EEPROM Características especiales de la CPU. Palabra de configuración. Selección del oscilador. Interrupciones. WatchDog SLEEP Protección de código Localizaciones de ID Programación serial Repertorio de instrucciones.

    edu.red

    2 INTRODUCCIÓN PIC es "Periphera Interface Controller" Los fabrica ARIZONA MICROCHIP TECHNOLOGY Factoría principal: Chandler (Arizona). Otras en Tender (Arizona), Taiwan y Tailandia Características Arquitectura siguiendo el modelo Harvard Distinción entre Memoria de Programa y Memoria de datos. Distinción entre bus de datos y bus de instrucciones. Distinción entre palabra de datos y palabra de instrucciones. Ejecución encauzada. Dos etapas de ejecución. Cada instrucción se ejecuta en un ciclo de reloj, salvo los saltos que se resuelven en 2. Arquitectura del repertorio de instrucciones siguiendo el modelo RISC Un único tamaño de instrucción (cada instrucción ocupa una única palabra de instrucción) Banco de registros. Ortogonalidad del repertorio de instrucciones

    edu.red

    3 Introducción (II) Gamas Los microcontroladores PIC se distribuyen en familias Microchip offers four families of 8-bit RISC MCUs : PIC12CXXX 8-pin, Aquí la característica principal parece ser el reducido tamaño del chip PIC16C5X 12-bit program word Esta gama es ofrecida en tamaños de 18, 20, 28 pines. Como característica a resaltar ofrecen su reducido voltaje de funcionamiento: 2.0 v PIC16CXXX 14-bit program word Ofrecido en tamaños de 18-pin to 68-pi. Se menciona además la capacidad de manejo de interrupciones y los 8 niveles de la pila hardware. PIC17CXXX 16-bit program word MCU families. Asegura el máximo rendimiento para aplicaciones de 8 bit (tamaño de palabra de datos). Manejo vectorizado de interrupciones y:" A powerful array of precise on-chip peripheral features provide the performance for the most demanding 8-bit applications."

    edu.red

    4 Introducción (III)

    Herramientas de soporte potentes y económicas Ensamblador: MPASM Compiladores e intérpretes: C, BASIC Simulador: MPSIM Emuladores en tiempo real Grabadores Entornos integrado de desarrollo: MPLAB

    edu.red

    5 MICROCONTROLADORES DE GAMA MEDIA PIC16F8XCaracterísticas generales PIC16F8X

    Buses de instrucción (14 bit) y de datos (8 bits) separados. Ejecución en pipeline (2 etapas): 1 ciclo/instrucción 2 ciclos/salto 68 bytes de RAM (datos) + 64 bytes EEPROM (datos) 1K palabras de FLASH (instrucciones) 13 pins de entrada/salida (configurables por separado) 1 temporizador/contador Modo SLEEP Timer Watchdog Sistema de programación (carga de programa) serial.

    edu.red

    6 PIC16F8X Encapsulado Plastic Dual in Line Plastic Small Outline

    edu.red

    7 ARQUITECTURA BÁSICA El registro W funciona a modo de acumulador. La RAM es vista como un 'archivo de registros'. Modos de direccionamiento: Directo(dirección contenida en la instrucción) Indirecto (dirección en FSR) Uso de la pila para anidamiento de llamadas a rutinas. No para datos. Permite datos inmediatos. Almacenamiento directo de resultados en memoria. EEPROM grabable dinámicamente.

    edu.red

    8 Arquitectura básica (y II) ALU de propósito general. 8 bits Suma/Resta/Operaciones lógicas Signo en Complemento a 2 Orientado a acumulador: W flags:( en STATUS) Carry (C) Digit Carry (DC) Zero (Z)

    edu.red

    9 EL RELOJ Y EL CICLO DE INSTRUCCIÓN Frecuencia de reloj: FCLK Tiempo de ciclo: 4 x 1/FCLK CPI = 1 -> excepto saltos CPI = 2 -> Instrucciones salto Etapas del pipeline Etapa 1 PC = PC +1 IR = M[PC] Etapa 2 Decodificación y ejecución Ejemplo: Calcular el tiempo de ejecución de un programa de 1000 instrucciones sabiendo que: El 20% son saltos FCLK = 10 MHz Tclk = 100 ns TCICLO = 400 ns Solución: T = N x CPI x Tciclo= 800 x 1 x 400 + 200 x 2 x 400 = 480 useg

    edu.red

    10 ORGANIZACIÓN DE LA MEMORIA Tres bloques de memoria

    RAM: Dividida en dos bloques: GPR. Registros de propósito general SFR Registros de propósito especial

    EEPROM: Grabable dinámicamente desde programa. Sólo puede contener datos. Sólo permite acceso indirecto.

    FLASH: Memoria de programa Dado que el PC tiene un tamaño de 13 bits: máximo 8Kx14 En PIC16F84: 1K disponible: 0000h..03FFh Direcciones por encima de 3FFh son tratadas módulo 400h(20h=420h=820h…)

    edu.red

    11 ORGANIZACIÓN DE LA MEMORIA (II) Memoria de programa

    Reset vector: 0000h (tras un reset, la primera instrucción a ejecutar es la que está en 0000h)

    Interrupt vector: 0004h (Una única entrada de interrupción. A continuación se ha de verificar cual de las líneas la ha generado)

    edu.red

    12 ORGANIZACIÓN DE LA MEMORIA(y III) Memoria de datos. RAM

    Se organiza en bancos. En PIC16F8x: 2 bancos. Cada banco admite hasta 128 bytes. En PIC16F8x: 79 bytes.

    Selección del banco: Bit RP0 del registro STATUS RP0 = 0 -> Banco 0 RP0 = 1 -> Banco 1

    Registros:

    SFR Banco 0: RP0=0 ? 0x00 -> 0x0B Banco 1: RP0=1 ? 0x00 -> 0x0B

    GPR Banco 0: 0x0C -> 0x4F (68 bytes) Banco 1: Mapeado completamente en el banco 0

    Partes: 1, 2
    Página siguiente