Microcontroladores PIC

Documentos relacionados
RECURSOS FUNDAMENTALES

Características PIC16F84

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

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

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

Características Técnicas del PIC 16F84

PIC16C5X (GAMA BAJA) Solo en dispositivos de 28 pins. Encapsulado y patillaje:

2.2-1 Visión Interna PIC16F873/876. SBM

PIC 18F45XX CARACTERÍSTICAS GENERALES

Registros SFR vistos hasta ahora: Microcontroladores PIC

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

PIC16F88. Características

Tema 6: Microcontroladores

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

MICROCONTROLADORES PIC EEPROM. Memoria de programa Características

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

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

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

Microprocesadores, Tema 2:

Programación de Microcontroladores PIC-Microchip

Arquitectura de Computadores II

Microcontroladores PIC - PIC16F84

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

Microcontroladores PIC de Microchip: generalidades

El Microcontrolador PIC16F877. Resumen de hoja de datos

PIC 16F87X TEMA LA MEMORIA DE DATOS MEMORIA RAM

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

Tema: Microprocesadores

Temporizadores y contadores en tiempo real: El módulo Timer0 del PIC.

PIC 18F45XX EL TIMER 0

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC

MICROCONTROLADORES PIC

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

PIC16F882/883/884/886/ Funcionamiento de Timer1 6 EL MODULO TMR1 CON PUERTA DE CONTROL Selección de Fuente de reloj

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

Temporizadores/Contadores

Qué es un Microcontrolador?

Practica de PIC 16F84

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

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

Diseño Basado en Microcontroladores. Programa Detallado

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

LOS PIC16F88X: EEPROM de Usuario

PIC 16F87X TRABAJO EXPLICACIÓN

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

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

EDUPIC Módulo 16F628 Manual del Usuario

Tema 11. Introducción a los Microprocesadores y Microcontroladores

El TIMER 0. (c) Domingo Llorente

SISTEMA BOLT 18F2550 Manual del Hardware

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

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

SISTEMAS OPERATIVOS Arquitectura de computadores

Tema 1: Introducción a los Sistemas Empotrados

Energía fotovoltaica y su aplicación rural

Sistemas con Microprocesadores II

17 Con el chorro de agua pequeño, la cubeta se llena en 10 minutos

TUTORIAL PRIMERA PARTE: GENERACIÓN DE UN RETARDO CON TIMER.

Introducción a la arquitectura de computadores

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

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

Interrupciones Fuentes de Interrupciones para el PIC16F1787

Laboratorio de Sistemas Embebidos Conceptos generales (2009)

Í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

El Microcontrolador PIC16F873. Resumen de hoja de datos

Tema 15 ELECTRÓNICA DIGITAL. PROCESADORES DIGITALES (PARTE 2A) Arquitecturas Harvard y Von Neumann. Tipos de procesadores digitales

Microprocesadores. Temporizadores / Contadores. Prof. Luis Araujo. Universidad de Los Andes

Tema 6: Microcontroladores

Arquitectura del PLC. Dpto. Electrónica, Automática e Informática Industrial)

Arquitectura de computadoras

PROYECTO DE ELECTRONICA

Capítulo VIII: PROGRAMACIÓN DEL PIC 16F876A

METODOLOGÍA DESARROLLADA PARA PRÁCTICAS DE PROGRAMACIÓN DE MICROCONTROLADORES PIC

TEMA 20 EL CONVERSOR A/D

USB232. Hoja de datos

Velocidades Típicas de transferencia en Dispositivos I/O

EC02 CONTROLADOR ELECTRONICO PROGRAMABLE

BLOQUE 3 (PARTE 1) DEFINICIÓN,CLASIFICACIÓN Y CARACTERÍSTICAS GENERALES

Bucles: o Bucles infinitos o Bucles finitos o Bucles anidados Medir tiempos con MPLAB Ejemplos y ejercicios

Control de pantallas de cristal líquido mediante PIC

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

La familia PIC18 USB posee 4 timers: Timer0, Timer1, Timer2 y Timer3, cada uno de los cuales tiene sus características únicas.

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

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

Microcontroladores 1. INTRODUCCIÓN A LOS MICROCONTROLADORES. M. C. Felipe Santiago Espinosa

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

Tema 9 Periféricos de Entrada

Índice general. TEMA 1: Microcontroladores PIC; Arquitectura XVII ÁREA DE TEORÍA

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

Microcontroladores PIC

Desarrollo de un prototipo de bocina electrónica. Autora: Pilar Prieto Sanz Tutora: Carmen Quintano Pastor Director: Fco.

COMPUTADORAS DIGITALES

Iniciación a la informática

Estructura del Computador

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

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

Tercera edición CARLOS A. REYES

Sistemas embebidos basados en FPGAs para instrumentación

ITT-327-T Microprocesadores

Transcripción:

Microcontroladores PIC Procesador RISC. Arquitectura Harvard Pipeline Formato de instrucciones ortogonal Arquitectura basada en banco de registros Distintos periféricos: temporizadores, puertos paralelo/serie, interrupciones, I2C, USB, A/D, etc. Capacidades variables de memoria/datos. Programación en el sistema Modo de bajo consumo. Pines de alta corriente. Encapsulados desde 8 pines.

Procesadores CISC/RISC CISC (Complex Instruction Set Computer) Muchas instrucciones (hasta 80) Instrucciones complejas y potentes Cada instrucción necesita muchos ciclos de reloj para ejecutarse. RISC(Reduced Instruction Set Computer) Pocas instrucciones (en los PIC 35) Instrucciones sencillas Se ejecutan en un sólo ciclo de reloj Favorecen el pipeline

Arquitectura Harvard Arquitectura Von-Neumann Arquitectura Harvard

Pipeline

Instrucciones ortogonales

Arquitectura basada en banco de registros

Uso típico de los microcontroladores Instrumentos portátiles Dispositivos periféricos Pantallas táctiles, teclado, ratón, display LCD, On Screen Display(OSD). Impresoras, modems, plotters, scanners. Dispositivos autónomos Polímetro, medidor ultrasónico de distancias, balanza electrónica. Fotocopiadoras, teléfonos móviles, cámaras digitales. Aplicaciones en automoción Inyección electrónica, frenos ABS, tarificación de Taxis, cuadro de instrumentos, GPS.

PIC16F84 35 instrucciones. Códigos de instrucción de 14 bits. Todas las instrucciones ocupan una palabra Todas las instrucciones duran un ciclo excepto las de salto que duran dos. Velocidad de funcionamiento 20MHz máximo (instr. 200 ns). Típicamente a 4MHz (instr. 1us). 1024 palabras (14 bits) de memoria de programa FLASH. 68 bytes de RAM de datos. 64 bytes de EEPROM de datos. 15 registros de función específica. Pila hardware de 8 niveles. Modos de direccionamiento directo, indirecto y relativo. Cuatro fuentes de interrupción. 13 pines de E/S con control individual de sentido.

Encapsulado

Arquitectura

Memoria de programa

El contador de programa y PCLATH En uso directo de PC (páginas 256 bytes) En instrucciones call y goto (páginas 2K)

Memoria de datos Toda la memoria RAM se usa como registros Registros de propósito general Registros especiales (SFR) Configuración del microcontrolador Acceso a los periféricos (puertos, temporizadores, etc.) Memoria mapeada en bancos No todos los registros son accesibles a la vez. Hasta 4 bancos (2 para PIC16F84) Se cambia de banco con los bits RP0 y RP1 del registro de STATUS. Acceso indirecto mediante un registro especial Registro FSR = registro puntero físico Registro INDF = registro que indica indirección

Acceso directo e indirecto Instrucciones con INDF como operando usan FSR como puntero a los datos

SFR

Registro STATUS

Registro OPTION

Registro de configuración (en flash) Ejemplo de programación de la configuración

Puertos de E/S Puerto A 5 pines Entrada y salida TTL Registro TRISA -> configuración Bit a 1 => pin como entrada Bit a 0 => pin como salida Registro PORTA -> interfaz de lectura / escritura con el puerto. Corrientes máximas IOL = 25mA (máximo total 80mA) IOH = 25 ma (máximo total 50 ma) Pines 0..3

PIN 4 Salida TTL colector abierto Entrada trigger-schmidt Compartido con entrada de reloj para TMR0

Puerto B 8 pines (TTL) Pull-up débil (configurable por software) cuando se configuran como entrada Pines 4..7 llevan asociada una interrupción en cambio de nivel Registro TRISB configuración Registro PORTB -> interfaz de lectura / escritura con el puerto. Corrientes máximas IOL = 25mA 150mA) -> (máximo total IOH = 25 ma (máximo total 100 ma) Pines 4..7

Pines 0..3

Conexión de pulsadores y LED

Temporizador TMR0 Contador / temporizador de 8 bits leible y escribible Reloj interno/externo. Incremento en flanco subida/bajada Prescaler de 8 bits asociado Interrupción en desbordamiento

Programación del TMR0 Prescaler (OPTION_REG): PSA -> 1 WDT, 0 TMR0 PS2..PS0 -> fija el escalado: 1 a 128 para WDT, 2 a 256 para TMR0 T0CS -> 0 reloj interno (reloj instrucción), 1 externo (PA4) Escritura en registro TMR0 de la cuenta -> cuenta ascendente Desbordamiento activa T0IF (debe borrarse por software) Si está activado T0IE y GIE, se produce una interrupción El temporizador está apagado en modo SLEEP.

Configuración del oscilador

RESET Vector de RESET = posición 0 Fuentes de RESET: RESET externo (MCLR) Pin para RESET. Activo a nivel bajo En funcionamiento noormal ejecuta un reset. En SLEEP despierta al microcontrolador. Power On Reset (POR) POR Pulso de RESET al detectar que sube la alimentación Permite conectar MCLR a Vdd Power-Up Timer (PWRT) Pulso extra de 72ms añadido a POR. (es un oscilador RC interno) Permite a Vdd llegar a un nivel aceptable Se activa con el bit PWRTE en la palabra de configuración

Oscillator Start-Up Timer (OST) Brown-Out Reset (BOR) Pulso extra de reset de 1024 ciclos de reloj, después de PWRT Permite al oscilador estabilizarse bien. Solo en modos con cristal. Reset cuando se produce una caida de la alimentación Se activa con el bit BOR en la palabra de configuración. Perro guardián (WDT) Temporizador RC interno (periodo nominal 18ms) Se le puede asignar el prescaler. Funciona incluso en modo SLEEP. En desbordamiento Modo normal -> RESET Modo SLEEP -> despierta al micro. Se habilita con el bit WDTE del registro de configuración Se borra con la instrucción CLRWDT

POR normal

Retraso del POR con fuente lenta

Diagrama de bloques del RESET

Valores de los registros después de un RESET

Interrupciones Interrupciones no vectorizadas. Vector de interrupción = 04h Fuentes de interrupción Interrupción externa INT (RB0) Desbordamiento TMR0 Cambio puerto B: pines B4..B7 Escritura EEPROM INT y cambio PB despiertan al micro de SLEEP. Enmascarables de forma global (GIE) o individual (T0IE,...)

A tener en cuenta Interrupción -> asíncrona Necesario salvar contexto -> todo lo que se modifica Al menos el acumulador y los flags (STATUS) Llamada a interrupción Se desactiva automáticamente GIE -> no hay interrupciones anidadas Al finalizar (RETFIE) se vuelve a activar sola Pila con sólo 8 niveles cuidado con los desbordamientos!!

EEPROM 64 bytes de EEPROM (direcciones 0 a 3Fh) Accesible mediante los registros EECON1, EECON2, EEDATA, EEADR Registro EECON1

Lectura Dirección -> EEADR Activar bit RD en EECON1 En el siguiente ciclo de reloj el dato aparece en EEDATA

Escritura Dirección -> EEADR Dato -> EEDATA 55h -> EECON2 AAh -> EECON2 Activar bit WR de EECON1 (se desactiva sólo al terminar escritura Escritura muy lenta -> esperar flag EEIF de intcon

Instrucciones Q1. Subciclo de decodificación de instrucción Q2. Subciclo de lectura de datos Q3. Proceso Q4. Subciclo de escritura de datos

Sintaxis de las instrucciones

Instrucciones que manejan registros Instrucciones que manejan bits

Instrucciones de salto Instrucciones que manejan datos inmediatos Instrucciones de control y especiales

Instrucciones de movimiento de datos

Instrucciones aritméticas

Instrucciones lógicas

Instrucciones de bit

Instrucciones de brinco

Instrucciones de control