Características PIC16F84

Documentos relacionados
TEMA 5 LA MEMORIA DE DATOS MEMORIA RAM D.P.E. DESARROLLO DE PROYECTOS 1

PIC 18F45XX CARACTERÍSTICAS GENERALES

RECURSOS FUNDAMENTALES

Características Técnicas del PIC 16F84

Registros SFR vistos hasta ahora: Microcontroladores PIC

Tema: Microprocesadores

Microcontroladores PIC de Microchip: generalidades

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación

MICROCONTROLADORES PIC

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

PRODUCTO P05 SOFTWARE EMBEBIDO PARA EL CONTROL DEL CIRCUITO GENERADOR DE CORRIENTE DE LAS FORMAS DE ONDAS PARA ELECTROTERAPIA

PRÁCTICA 4 LOS BITS DE CONFIGURACIÓN DEL PIC16F628

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Introducción a la arquitectura de computadores

Tema 11. Introducción a los Microprocesadores y Microcontroladores

Programación y diseño de dispositivos mediante microcontroladores PIC

El Microcontrolador PIC16F877. Resumen de hoja de datos

Qué es un Microcontrolador?

RB7/PGD RB6/PGC RB5 RB4 RB3/PGM RB2. RB1 RB0/INT VDD Vss RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RC7/RX/DT RC6/TX/CK RC5/SD0 RC4/SDI/SDA RD3/PSP3 RD2/PSP2

Programación de Microcontroladores PIC-Microchip

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Cartilla para Microcontrolador PIC16F /40 Pin 8-Bit CMOS FLASH.

Programación y diseño de dispositivos mediante Microcontroladores PIC.

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

TEMA 6 MICROCONTROLADORES. PIC 16F Introducción Referencia histórica.

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

SISTEMAS OPERATIVOS Arquitectura de computadores

1.1 Introducción y definición de un microcontrolador 1.2 Estructura básica de un microcontrolador 1.3 Características de la Arquitectura

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1

CAPÍTULO IV MICROCONTROLADOR PIC

MICROCONTROLADORES PIC EEPROM. Memoria de programa Características

DEPARTAMENTO ELECTRÓNICA PIC - TEMA 2 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC

Tema 1: Introducción a los Sistemas Empotrados

SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO

TEMA 1: Concepto de ordenador

Microcontroladores de Atmel

FUNCIONAMIENTO DEL ORDENADOR

Tema 1: Arquitectura de ordenadores, hardware y software

PIC 18F45XX EL TIMER 0

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

El objeto de este proyecto es el de construir un robot araña controlado por un PIC16F84A.

Estructura del Computador

Tema 6: Microcontroladores

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

El Microcontrolador PIC16F873. Resumen de hoja de datos

PIC 16F87X TEMA LA MEMORIA DE DATOS MEMORIA RAM

Diseño Basado en Microcontroladores. Programa Detallado

Pines de entrada/salida (I/O) de propósito general. Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos.

El microcontrolador PIC de Microchip

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

PROYECTO DISEÑO Y CONSTRUCCIÓN DE UN MONITOR DE SIGNOS VITALES BASADO EN UN COMPUTADOR PORTÁTIL PRODUCTO INTERMEDIO P12 MÓDULO DIGITALIZACIÓN

Practica de PIC 16F84

Control de pantallas de cristal líquido mediante PIC

ESTRUCTURA BÁSICA DE UN ORDENADOR

El nivel ISA (II)! Conjunto de Instrucciones

Electrónica Digital II

Definición de Memoria

1-Introducción. KIT ARM- Ténicas Digitales II - Ing. Ruben M. Lozano /9

PIC-Ready1. Placa adicional. Manual de usuario. MikroElektronika

Alarma con Interfaz DTMF de Línea Telefónica basado en PIC16F84

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

Instituto Tecnológico de Morelia

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

Introducción al PLC Simatic Siemens S7-200.

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A.

1.2.- EL MICROPROCESADOR.

CICLOS DEL PROCESADOR

TEMA 20 EL CONVERSOR A/D

1. INTRODUCCION A LOS MICROCONTROLADORES CONTROLADOR Y MICROCONTROLADOR DIFERENCIA ENTRE MICROPROCESADOR Y MICROCONTROLADOR...

Modulo LCD MODULO LCD

Diagrama a bloques de una computadora

MEMORIA RAM. Clase 4

Arquitectura de Computadores II Clase #3

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Arquitectura de Computadores. Apellidos, Nombre:

Arquitectura Von Neumann

ENIAC, Primer computador electrónico y su panel de conexiones

INSTITUTO TECNOLÓGICO SUPERIOR DE PÁNUCO APUNTES DE LA MATERIA DE: MICROPROCESADORES Y MICROCONTROLADORES I

TECLADO TACTIL CAPACITIVO SIGMA ELECTRONICA

Análisis general de un Microprocesador

Organización del Computador 1 Memoria Cache

1. Qué es un automatismo?

UNIVERSIDAD DE GUADALAJARA

EL ORDENADOR A. PERIFÉRICOS. B. UNIDAD CENTRAL. 1. HARDWARE Y SOFTWARE. 2. FUNCIONAMIENTO DE UN SISTEMA INFORMÁTICO 3. CONCEPTO DE SISTEMA INFORMÁTICO

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

AUTOMATIZACIÓN INDUSTRIAL

COMPUTADORAS DIGITALES

EDUPIC Módulo 16F628 Manual del Usuario

CONTROLES ELÉCTRICOS PRÁCTICA 6: PROGRAMACIÓN DE PLC UNIDAD 5 LIRA MARTÍNEZ MANUEL ALEJANDRO DOCENTE: PACHECO HIPÓLITO JAVIER

ÍNDICE M A N UA L T E Ó R I C O P R Á C T I C O D E L P I C 1 6 F 8 4 A

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES

SISTEMA BOLT 18F2550 Manual del Hardware

Introducción a BMP085 Versión 1.0

Estructuras en LabVIEW.

UNIDAD 1. COMPONENTES DEL COMPUTADOR

Transcripción:

Departamento de Electrónica Fundación San Valero del Toda la información que grabamos (memoria de programa y de datos) se puede modificar con el microcontrolador conectado a la aplicación. (ICSP = In-Circuit Serial Programing ). La arquitectura de la CPU es de tipo HARVARD. Filosofía tipo RISC (juego de instrucciones reducido). 35 instrucciones muy simples y todas son ejecutadas en un ciclo, excepto las de salto que emplean dos. Memoria de datos tipo EEPROM. Los ciclos de lectura/escritura se aproximan 1.000.000 de veces, manteniendo la información más de 40 años. Memoria de programa tipo FLASH. De iguales prestaciones que la EEPROM pero con mejor rendimiento. Los ciclos de lectura/escritura están en torno a 1.000 veces. 1

del Protección de programa mediante la activación de un código de protección. Una pila con 8 niveles, para poder controlar los saltos a interrupciones o subrutinas. El TIMER 0 es un contador/temporizador de 8 bits. El WATCHDOG TIMER (WDT), o perro guardián, es un temporizador cuya base de tiempos es independiente, formada por una red R C interna que el microcontrolador posee. Hay 4 posibles fuentes de interrupción internas/externas, las cuales pueden ser habilitadas o deshabilitadas por software. La frecuencia de trabajo máxima puede ser de 10 MHz en el 16F84 y de 20MHz en el 16F84A. del Está fabricado en tecnología CMOS, por lo que su consumo es muy reducido: Menos de 2mA trabajando con una alimentación de 5 V a 4 MHz. 15 μa trabajando con una alimentación de 2 V a 5 5 KHz. Sobre 1 μa trabajando en reposo. Amplio margen de la tensión de alimentación, de 2 V a 5 5 V. Alta capacidad de corriente por terminal: 25 ma. Detección de falta de alimentación. 2

del Patillaje Patillaje del VDD y VSS: Terminales de alimentación. Puede estar entre 2 y 5 5 V. MCLR: Es el reset principal del PIC (Master Clear). Se produce cuando la tensión en dicho Terminal desciende entre 1 2 y 1 7 V. El fabricante define este reset como Power-on Reset (POR), o reset interno. 0SC1/CLKIN, OSC2/CLKOUT: Terminales para la conexión del oscilador externo, proporcionando la frecuencia de trabajo o frecuencia del reloj principal. El PIC puede funcionar de cuatro formas distintas: RC: El oscilador está construido con una red R C. La frecuencia de oscilación puede ir desde algunas decenas de hercios hasta los 4 MHz. La estabilidad de frecuencia es la menor de las cuatro opciones. En el Terminal OSC2/CLKOUT tendremos la cuarta parte de la frecuencia del oscilador principal. HS: Oscilador de alta frecuencia. Puede utilizarse tanto un cristal de cuarzo como un resonador cerámico. XT: Trabajamos a frecuencias medias. Puede utilizarse un oscilador cerámico como un cristal de cuarzo. LP: Oscilador de bajo consumo. Trabaja con cristales de cuarzo. 3

Patillaje Patillaje del OSC FREC. C1 C2 HS 4 MHz 15-33 pf 15-33 pf 10 MHz 15-33 pf 15-33 pf XT 100 MHz 100-150 pf 100-150 pf 2 MHz 15-33 pf 15-33 pf 4 MHz 15-33 pf 15-33 pf LP 32 MHz 68-100 pf 68-100 pf 200 MHz 15-33 pf 15-33 pf RA0 RA4: Terminales de entrada/salida del puerto A. Pueden suministrar una corriente por cada Terminal de 20 ma. Pero la suma de las cinco líneas del puerto A no puede exceder de 50 ma. La corriente absorbida por cada Terminal puede ser de 25 ma, pero la suma de las cinco líneas no puede exceder de 80 ma. El pin RA4 tiene una doble función, seleccionable por programa: Es la entrada del contador/temporizador TMR0 Patillaje Patillaje del RB0 RB7:Terminales de entrada/salida del puerto B. Pueden suministrar una corriente por cada Terminal de 20 ma. Pero la suma de las ocho líneas no puede exceder de 100 ma. La corriente absorbida por cada línea puede ser de 25 ma. Pero la suma de las ocho líneas no puede exceder de 150 ma. El pin RB0 tiene una doble función, seleccionable por programa: Es la entrada de interrupción externa, es decir INT. Los pines RB4 al RB7 tienen una doble función, seleccionable por programa: Entrada de interrupción externa por cambio de estado. El puerto B tiene una opción, seleccionable por programa, la cual nos permite conectar a cada Terminal una resistencia de alto valor a positivo, esto es, resistencia pull-up (ideal para aplicaciones en lectura de teclados). 4

EL PIC 16F84 SE CARACTERIZA POR DISPONER DE: Procesador segmentado pipeline. Procesador tipo RISC. Disponer de arquitectura tipo HARVARD. Formato de instrucciones ortogonal. Una misma longitud de instrucciones (14 bits). Arquitectura basada en banco de registros. PROCESADOR SEGMENTADO PIPELINE Permite realizar simultáneamente la ejecución de una instrucción y la búsqueda del código de la siguiente instrucción. De esta manera se puede ejecutar una instrucción en un ciclo máquina. Cada ciclo máquina equivale a cuatro ciclos de reloj. PROCESADOR TIPO RISC Las CPUs dependiendo del tipo de instrucciones que utilizan pueden clasificarse en: CISC: (Complex Instruction Set Computer): Computadores de juego de instrucciones complejo. Repertorio de instrucciones elevado (unas 80). Algunas muy sofisticadas y potentes. Requieren de muchos ciclos máquina para ejecutar las instrucciones complejas. RISC: (Reduced Instruction Set Computer): Computadores de juego de instrucciones reducido. Repertorio de instrucciones muy reducido (35 en nuestro caso). Son muy simples. Suelen ejecutarse en un ciclo máquina. Los RISC deben tener estructura pipeline y ejecutar todas las instrucciones a la misma velocidad. SISC: (Specific Instruction Set Computer): Computadora de juego de instrucciones específico. 5

ARQUITECTURA VON NEWMAN Dispone de una única memoria principal en la que se almacenan datos e instrucciones. A esta memoria se accede a través de un sistema de buses único: Bus de datos. Bus de direcciones. Bus de control. ARQUITECTURA HARVARD Este modelo dispone de dos memorias: Memoria de datos Memoria de programa. Además, cada memoria dispone de su respectivo bus, lo que permite que la CPU pueda acceder de forma independiente y simultánea a la memoria de datos y a la de direcciones. Como los buses son independientes, estos pueden tener distintas direcciones. 6

ARQUITECTURA ORTOGONAL Cualquier instrucción puede utilizar cualquier elemento de la arquitectura como fuente o destino. En la ALU se realizan las operaciones lógico-aritméticas con dos operandos, uno que recibe desde el registro W, que hace las veces de acumulador y otro que puede venir de cualquier registro interno. El resultado de la operación se puede depositar en cualquier registro. Esta funcional da un carácter completamente ortogonal a las instrucciones, posibilitando que los operandos fuente y destino estén ubicados en cualquier registro. CICLOS DE INSTRUCCIÓN Si la frecuencia máxima de reloj es de 10 MHz, lo que determina un ciclo de reloj de 100 ns. El ciclo de instrucción, en el que se ejecutan la mayoría de las instrucciones se compone de 4 ciclos de reloj, que a 10 MHz supone una duración de 400 ns por instrucción. En realidad, cada instrucción conlleva dos ciclos de instrucción, el primero destinado a la fase de búsqueda o fetch y el otro a la fase de ejecución o execute. Sin embargo, la estructura segmentada del procesador permite realizar simultáneamente la fase de ejecución de una instrucción y la de búsqueda de la siguiente, por tanto, una instrucción es ejecutada en un ciclo de instrucción, o sea, en cuatro ciclos máquina. 7

CICLOS DE INSTRUCCIÓN CICLOS DE INSTRUCCIÓN EJEMPLO Si la frecuencia del reloj principal es de 4 MHz, un ciclo de instrucción tardará en realizarse: T oscilación del reloj principal = 1 / F del reloj principal 1 / 4 MHz = 250 ns. Ciclos de instrucción = T oscilación del reloj principal 4 250 ns 4 = 1 μs. Si en nuestro programa tenemos unas 100 instrucciones, la ejecución completa tardará: 100 1μs = 100 μs 8

ARQUITECTURA BASADA EN BANCO DE REGISTROS Todos los elementos del sistema, es decir, temporizadores, puertos de entrada / salida, posiciones de memoria, etc., están implementados físicamente como registros. Todos los registros participan activamente en la ejecución de las instrucciones. Es muy importante conocer su manejo al ser ortogonales. DIAGRAMA DE BLOQUES DEL PIC 16C84 Y 16F84 Memoria de programa: 1K x 14 bits (EEPROM en el 16C84 y FLASH en el 16F84). Memoria de datos dividida en dos áreas: Área RAM formada por 22 registros de propósito específico (SFR) y 36 de propósito general (GPR) en el 16C84 y 68 registros de propósito general (GPR) en el 16F84. Área EEPROM formada por 64 bytes. ALU de 8 bits y registro de trabajo W del que normalmente recibe un operando que puede ser cualquier registro, memoria, puerto de entrada/salida o el propio código de instrucción. Recursos conectados al bus de datos: PORTA de 5 bits. (RA0..RA4) PORTB de 8 bits. (RA0.RA7) Temporizador con Preescaler TMR0. Contador de programa de 13 bits: Lo que en teoría permitiría direccional 4K de memoria, aunque sólo se dispone de 1K de memoria implementada. 9

ESTRUCTURA DE LA MEMORIA DE DATOS DE LOS PIC 16C84 Y 16F84 ORGANIZACIÓN DE LA MEMORIA DE DATOS La memoria de datos está dividida en dos zonas claramente diferenciadas: Área RAM estática, compuesta por dos bancos de registros de 128 bytes cada uno, aunque sólo los 80 primeros de cada banco se encuentran implementados físicamente en el PIC. El banco de registros específicos (SFR) compuesto por 24 posiciones tamaño byte, aunque dos de ellas no son operativas. Algunos de los registros específicos se encuentran duplicados en la misma dirección de los dos bancos, para simplificar su acceso. El registro STATUS o ESTADO se encuentra en la posición 03h y 83h. 10

ORGANIZACIÓN DE LA MEMORIA DE DATOS El banco de registros de propósito general (GPR) formado por 68 posiciones de memoria de las que sólo son operativas las 36 posiciones del banco 0, porque los del banco 1 se mapean sobre el banco 0, es decir, cuando se apunta a un registro general del banco 1, se accede al mismo del banco 0. Para seleccionar el banco a acceder hay que manipular el bit 5 (RP0) del registro STATUS. ConRP0 = 0 se accede al banco 0 yconrp0 = 1 se accede al banco 1. Después de un Reset se selecciona automáticamente el banco 0. Área de EEPROM que dispone de 64 bytes donde opcionalmente se pueden almacenar datos que no se pierden al desconectar la alimentación. BREVE DESCRIPCIÓN DE CADA UNO DE LOS REGISTROS ESPECIALES INDF: Utilizado en el direccionamiento indirecto, no está implementado físicamente en el microcontrolador. TMR0: Registro en el que tendremos el valor del TIMER 0. PCL: Tendremos los 8 bits de menos peso del contador de programa. STATUS: Contiene información sobre es estado de la ALU y reset, y es utilizado para seleccionar los bancos de la memoria de datos en el direccionamiento directo e indirecto. FSR: Utilizado en el direccionamiento indirecto de la memoria de datos, actúa como puntero. PUERTO A: utilizado para la lectura/escritura en el puerto A. 11

BREVE DESCRIPCIÓN DE CADA UNO DE LOS REGISTROS ESPECIALES PUERTO B: utilizado para la lectura/escritura en el puerto B. EEDATA: Contiene los datos de una posición de la memoria de datos de tipo EEPROM. EEADR: Contiene la dirección de una posición de la memoria de datos de tipo EEPROM. PCLATH: Tendremos los cinco bits de menos peso del contador de programa. INTCON: Contiene información de las interrupciones provocadas por el puerto B, el TIMER 0, el Terminal INT y también la habilitación de dichas interrupciones. OPTION: Configuración del pre-escaler, TIMER 0 y de las interrupciones del Terminal INT y del puerto B. BREVE DESCRIPCIÓN DE CADA UNO DE LOS REGISTROS ESPECIALES TRIS A: Registro para la configuración de las líneas del Puerto A como entradas o salidas. TRIS B: Registro para la configuración de las líneas del Puerto B como entradas o salidas. EECON1: Este registro es con el que se controlan los procesos de lectura/escritura en la EEPROM. EECON2: Este registro es utilizado para la realización de la secuencia de grabación de la EEPROM. 12

Puertos I/O PUERTOS DE ENTRADA / SALIDA Disponemos de dos puertos denominados PORTA y PORTB que se encuentran en la posición de memoria SFR 05h y 06h respectivamente del Banco 0. Las líneas de estos puertos se pueden programar individualmente como entrada o como salida. Para configurar como entrada deberemos colocar un 1 en el bit asociado del registro de configuración del puerto. Para configurar como salida deberemos colocar un 0 en el bit asociado del registro de configuración del puerto. Configuración de PORTA en registro TRISA en dirección de memoria 05h del Banco 1. Configuración del PORTB en registro TRISB en dirección de memoria 06h del Banco 1. Puertos I/O PUERTOS DE ENTRADA / SALIDA El PORTA: (Dirección 05h del Banco 0). Dispone de 5bits.(RA0 - RA4). Su registro de configuración es el TRISA. (05h del Banco 1) RA0 RA3 admiten niveles TTL de entrada y CMOS de salida. RA4 T0CK1 proporciona una buena inmunidad al ruido. Si se configura como salida es de colector abierto. RA4 multiplexa su función de E/S con la entrada de impulsos externos para TMR0. Cada línea de salida puede suministrar una corriente máxima de 20 ma. (Configuración como salida). Si se configura como entrada puede absorber una corriente máxima de 25 ma. El PORTA tiene una limitación máxima de corriente de absorción cuando está configurado como entrada de 80 ma. en total y de una corriente de salida total máxima de 50 ma. Con un reset todas las líneas quedan configuradas como entradas. 13

Puertos I/O EL PORTB: (Dirección 06h del Banco 0). Formado por 8 líneas de E/S (RB0 RB7). Su registro de configuración es el TRISB. (06h del Banco 1). RB0/INT tiene doble función: E/S del puerto y la de petición de interrupción externa. A todas las líneas de este puerto se les puede conectar una resistencia de pull-up de un valor elevado conectadas a la tensión de alimentación. Para esta operación hay que programar el registro OPTION en el bit RBPU =0, afectando a todas las líneas del puerto. Con un reset todas las líneas quedan configuradas como entradas y se desactivan las resistencias de pull-up. Las líneas RB4 RB7 cuando actúan como entradas, se les puede programar para generar una interrupción si alguna de ellas cambia de estado lógico. Esto es interesante en el control de teclados. El cambio de una de las señales de entrada produce una interrupción que se refleja en el flag RBIF del registro INTCON. En modo de programación la línea RB6 soporta la grabación yelbitrb7 se utiliza como entrada de datos serie. Ejemplo de un modelo 14