You are on page 1of 18

Sistemas basados en Microcontroladores

Introducción

©ATE-Universidad de Oviedo

1

Sistemas basados en Microcontroladores

Repasando... • ¿Qué son los Microcontroladores? Son circuitos integrados que incorporan todos los bloques funcionales de un Sistema Microprocesador en un único encapsulado • ¿Qué necesitan para funcionar? Sólo una tensión continua estable (5V, 3.3V, 2.5V, 1.5V...) y un oscilador • ¿Qué hacen? Interpretan (decodifican) combinaciones de bits (instrucciones) y generan señales digitales internas y/o externas • ¿Para qué? Para “ejecutar” de manera continua una secuencia de instrucciones (programa) que permita controlar un sistema o subsistema electrónico
Introducción
©ATE-Universidad de Oviedo

2

I.I.I.Sistemas basados en Microcontroladores Sistema Microprocesador (varios C.) Introducción ©ATE-Universidad de Oviedo 3 Sistemas basados en Microcontroladores Tarjeta de Sistema Microprocesador para control C. en una PCB) Microcontrolador (único C. Microcontrolador (“casi todo” ahí dentro) Introducción ©ATE-Universidad de Oviedo 4 .

una lavadora. un equipo de música. “Empotrado” también quiere decir oculto o escondido. un lavaplatos.Sistemas basados en Microcontroladores ¿Dónde tenemos microprocesadores y microcontroladores? Evolución Microprocesadores: Computadores Evolución Microcontroladores: Sistemas Empotrados o /a ñ s e r ado l o tr con o r M ic 75 Millones Microprocesadores/año Introducción 250 0 e lon l i M s ©ATE-Universidad de Oviedo 5 Sistemas basados en Microcontroladores “SISTEMAS EMPOTRADOS” (Embedded systems): • Sistemas que incorporan microcontroladores (o microprocesadores) para una tarea específica pero que no son “visibles” ni “programables” directamente por el usuario.? • Los microcontroladores de 8 bits dominan en la mayoría de las aplicaciones • El microcontrolador es el núcleo del sistema electrónico versátil de bajo coste y reducido tamaño que es capaz de detectar las señales de entrada y generar las salidas de un equipo. Introducción ©ATE-Universidad de Oviedo 6 .. un mando a distancia. ¿Y cuando usamos un teléfono móvil. sistema o instrumento • Por su reducido tamaño y coste permiten la fácil implantación de sistemas de “inteligencia” distribuida a lo largo de sistemas más complejos • Los microcontroladores son los semiconductores más abundantes de todos en la actualidad. Cuando se usa un PC.. un cargador de baterías. uno es consciente de que dentro está un microprocesador. una calculadora. un reloj. un secador de pelo..

TX39. XA. PIC18 PIC24 ©ATE-Universidad de Oviedo 8 . PIC12. ST10 STR7. 38000/740 80C51. LPC2000 LPC3000 ST6. CP3000 Z8.STR9 COP8.Sistemas basados en Microcontroladores ¡ Puede haber del orden de 50 microcontroladores en un automóvil ! Introducción ©ATE-Universidad de Oviedo 7 Sistemas basados en Microcontroladores Los Fabricantes y sus Modelos de Microcontroladores •INTEL •FREESCALE (MOTOROLA) •RENESAS (HITACHI+MITSUBISHI) •NXP (PHILIPS) •SGS-THOMSON •NATIONAL SEMICONDUCTOR •ZILOG •TEXAS INSTRUMENTS •TOSHIBA •MICROCHIP Introducción MCS51/251(8XC51. 8XC251) MCS96 (8XC196) HC05. uPSD(8032). HCS08. TMS470. HC11. H8S. HC16. TX19. 68K/COLDFIRE M16C. TX99 PIC10. H8. ST7. ZNEO MSP430. LPC900.Z80. TLCS-900. HC12. PIC16. HC08. C2000 TLCS47E. TLCS-870.

...Motorola 3.Samsung 13..Winbond 15......Microchip Introducción 1996 1.SGS-Thomson 15..Toshiba 14.Zilog 16.Mitsubishi 12.Holtek 20.Sunplus 7...Motorola 2..Matsushita 18.Toshiba 11.NEC 5..Fujitsu 9.SGS-Thomson 4.Intel 5.NEC 5. 14 ó 16 bits depende de la familia) • Microprocesador RISC: juego de intrucciones reducido • Estructura pipe-line: durante la ejecución de una instrucción..National 9 SEGÚN UNIDADES VENDIDAS DE MICROS DE 8 BITS ©ATE-Universidad de Oviedo Sistemas basados en Microcontroladores Microcontroladores PIC • Arquitectura Harvard: buses internos separados para memoria de datos (8 bits) y de programa (12.Microchip 6..Hitachi 8..Infineon 19..National 9.) • Todas las instrucciones ocupan una posición de memoria de programa • Todas las instrucciones se ejecutan en un ciclo de instrucción = 4 ciclos de reloj (salvo las instrucciones de salto) • Ortogonalidad de los registros: se opera entre el registro de trabajo W y cualquier otro registro....Zilog 16..SONY 18..Elan 14..NEC 4.Sistemas basados en Microcontroladores 1990 1.Philips 7.Philips 7.Sharp 12.Philips 10.Mitsubishi 3.Hitachi 6.Siemens 10..Oki 13.... el resultado puede almacenarse en el citado registro o en W Introducción ©ATE-Universidad de Oviedo 10 .ST-Micro 4..Matra 17...Atmel 6.. se está accediendo a la memoria de programa para traer la siguiente instrucción a ejecutar..Microchip 2....Fujitsu 19.Motorola 2.Sanyo 17...Matsushita 8..TI 11.......Zilog 2002 1.Mitsubishi 3. En cuanto se acaba una instrucción.AMD 20.. ya se dispone de la siguiente para ejecutar (salvo que se trate de un salto o llamada a subpr..

/seg. • Seguridad en acceso por la separación de memoria de datos y de programa • Juego reducido de instrucciones y de fácil aprendizaje • Compatibilidad de pines y código entre dispositivos de la misma familia o incluso de familias distintas • Gran variedad de versiones en distintos encapsulados (desde 8 hasta 84 pines) sin reducción de las prestaciones internas (muy versátiles) • Posibilidad de protección del código muy fiable • Herramientas de desarrollo software y hardware abundantes y de bajo coste Introducción ©ATE-Universidad de Oviedo 11 Sistemas basados en Microcontroladores Comparando el tamaño del código con los 16Cxx Nº posiciones de memoria Nº posiciones de memoria Nº posiciones para PIC16Cxx Tamaño relativo del código Introducción ©ATE-Universidad de Oviedo 12 .Sistemas basados en Microcontroladores ¿Por qué los Microcontroladores PIC de Microchip? • Eficiencia del código: permiten una gran compactación de los programas • Rapidez de ejecución: a frecuencia de 20MHz -> 5 millones de instr.

RAM de datos de 8 bits Juego de 33 instrucciones • Familia PIC12 (de 0.Sistemas basados en Microcontroladores Comparando la velocidad de ejecución con los 16Cxx tiempo que necesita PIC16Cxx tiempo que necesita el otro “micro” Velocidad relativa de ejecución Introducción 13 ©ATE-Universidad de Oviedo Sistemas basados en Microcontroladores Familias de Microcontroladores PIC de 8 bits • Familia PIC10 (sobre 0.50$ a 0.50$) 14 .40$) Encapsulados de 6 pines (SOT).5V • Familia PIC14 Encapsulado de 28 pines Instrucciones de 14 bits Juego de 35 instrucciones Memoria EPROM y un único modelo (PIC14000) Introducción ©ATE-Universidad de Oviedo (5. Oscilador interno 4MHz Memoria Flash de programa de 12 bits.90$) Encapsulados de 8 pines (DIP ó SOIC) Instrucciones de 12 ó 14 bits en Memoria de Programa (Flash) Juego de 33 ó 35 instrucciones Disponibles con EEPROM de datos Modelos con módulos de conversión A/D Permiten alimentación a baja tensión de hasta 2.

00$) Encapsulados desde 14 hasta 64 pines (DIP..50$ a 7.De la familia PIC10 ©ATE-Universidad de Oviedo 16 .90$ a 4. SSOP. QFP) Instrucciones de 14 bits en Memoria de Programa Tipos de Memoria de programa: EPROM o FLASH Juego de 35 instrucciones Gran variedad de módulos integrados Tamaño de Memoria de programa: desde ½ kwords hasta 8 kwords • Familia PIC18 (de 1.50$) Encapsulados de 18 a 100 pines Memoria de Programa de 16 bits Juego estándar de 75 instrucciones + 8 (algunos con juego extendido) Instrucción de multiplicación hardware en un ciclo Todos son de memoria Flash Tamaño de memoria de 2kwords a 64 kwords Introducción ©ATE-Universidad de Oviedo 15 Sistemas basados en Microcontroladores Ejemplos Introducción 1.Sistemas basados en Microcontroladores Familias de Microcontroladores PIC de 8 bits (II) • Familia PIC16 (de 0. PLCC.

..De la familia PIC12 17 Sistemas basados en Microcontroladores Ejemplos Introducción ©ATE-Universidad de Oviedo 3.Sistemas basados en Microcontroladores Ejemplos Introducción ©ATE-Universidad de Oviedo 2.De la familia PIC14 18 .

..De la familia PIC18 ©ATE-Universidad de Oviedo 20 .Sistemas basados en Microcontroladores Ejemplos Introducción ©ATE-Universidad de Oviedo 4.De la familia PIC16 19 Sistemas basados en Microcontroladores Ejemplos Introducción 5.

Sistemas basados en Microcontroladores La gama completa de Microchip Microcontroladores de 16 bits con capacidades de DSP dsPIC Introducción ©ATE-Universidad de Oviedo 21 Sistemas basados en Microcontroladores El catálogo de Familias de Microcontroladores PIC de 8 bits (2006) • Familia PIC10 • Familia PIC12 • Familia PIC14 • Familia PIC16 • Familia PIC18 6 Dispositivos 10 Dispositivos 1 Dispositivo 92 Dispositivos 133 Dispositivos TOTAL: ¡ 242 Dispositivos ! Versiones de Memoria de Programa: EPROM (OTP) y FLASH-EEPROM Introducción ©ATE-Universidad de Oviedo 22 .

tensión 256 x 8 Introducción de Oviedo Módulos CCP©ATE-Universidad SSP USART 24 . TMR2) • Captura / Comparación / PWM (CCP1 y CCP2) • Conversión Analógica / Digital (A/D) • Transmisor Receptor Asíncrono Síncrono Universal (USART ó SCI) • Puerto Serie Síncrono Básico ó Maestro(BSSP ó MSSP) • Memoria EEPROM de datos • FLASH EEPROM de programa modificable desde el código • Comparador analógico • Referencia de tensión configurable Introducción ©ATE-Universidad de Oviedo 23 Sistemas basados en Microcontroladores 8K x 14 368 x 8 Microcontrolador PIC16F877A (familia media) ¡ Tiene de todo ! Puertos de E/S Conversor A/D Puerto Esclavo Paralelo Temporizadores Comp.Analógica + Ref.Sistemas basados en Microcontroladores Módulos Internos Disponibles en la Familia Media (PIC16) • Puertos de Entrada/Salida • Puerto Esclavo Paralelo (PSP) • Temporizadores/contadores (TMR0. TMR1.

Salida y Alimentaciones ! Etapas de Adaptación/Acondicionamiento Eléctrico de Señales ! Selección de los módulos del microcontrolador a utilizar y pines ! Diseño de la Placa de Circuito Impreso (PCB) ! Montaje y ensamblado CAD-CAE Realización + Montaje Introducción ©ATE-Universidad de Oviedo 25 Sistemas basados en Microcontroladores El Procedimiento de Diseño con Microcontroladores (II) •Diseño software: el micro sin un programa cargado en su memoria no hace absolutamente nada. verificación y modificación del código: * Simulación del Programa (puro software) * Emulación dentro del Circuito de Aplicación (software y hardware) ! Grabación del código máquina en la memoria interna del microcontrolador Emulación o Depuración sobre PCB Edición del código.Sistemas basados en Microcontroladores El Procedimiento de Diseño con Microcontroladores • Diseño hardware: conectaremos al micro todo lo que necesita para funcionar y lo que le permite interaccionar con el mundo exterior ! Definición de las señales de Entrada. cuando el micro esté grabado con un programa eficiente el conjunto empezará a funcionar ! Diseño del programa y escritura del código fuente en ensamblador o en C ! Pruebas. 1ª depuración y simulación Introducción ©ATE-Universidad de Oviedo Grabación del micro 26 .

Sistemas basados en Microcontroladores Las herramientas para los microcontroladores PIC • Entorno de Desarrollo: MPLAB IDE (Integrated Development Environment) • Herramientas para generar código máquina: De Microchip: • • • • • • • • • MPASM: Ensamblador para generar código máquina absoluto o reubicable MPLINK: Montador de Enlaces para ensamblador y MPLAB-C17 MPLIB: Biblioteca de códigos pre-compilados para utilizar con MPLINK MPLAB-C17: Compilador de C para la familia PIC17Cxx MPLAB-C18: Compilador de C para la familia PIC18Cxx CCS PIC C: HI-TECH PIC C: IAR PIC C: PBASIC: Compilador de C Compilador de C Compilador de C Intérprete de Basic de Parallax 27 De Otras compañías: Introducción ©ATE-Universidad de Oviedo Sistemas basados en Microcontroladores Las herramientas para los microcontroladores PIC (II) • Simuladores: MPLAB-SIM (incluido en MPLAB-IDE) •Emuladores en el Circuito: Microchip Otros • MPLAB-ICE 2000 • MPLAB-ICE 4000 • PICMASTER (en desuso) •ICEPIC (RF Solutions) •... MPLAB IDE Fuente de Alimentación Cabeza del Emulador PC con Puerto serie o paralelo Introducción Emulador de PIC 28 ©ATE-Universidad de Oviedo ...

Sistemas basados en Microcontroladores Las herramientas para los microcontroladores PIC (III) • Depuradores en el Circuito (In-Circuit Debuggers): • MPLAB-ICD • MPLAB-ICD2 (también puede funcionar como programador/grabador) ICD2 MPLAB IDE Tarjeta de Aplicación Introducción ©ATE-Universidad de Oviedo 29 Sistemas basados en Microcontroladores Las herramientas para los microcontroladores PIC (IV) • Programadores/Grabadores de la memoria de los PIC * PICSTART PLUS * PROMATE II * MPLAB-ICD2 también puede funcionar como programador Introducción ©ATE-Universidad de Oviedo 30 .

como PICSTART PLUS de bajo coste) Introducción ¡Ya es autónomo! 31 ©ATE-Universidad de Oviedo Sistemas basados en Microcontroladores Herramientas PICDEM 4 PICDEM USB PICDEM 2 PICDEM: Tarjetas de Evaluación y Demostración para entrenamiento sin necesidad de desarrollar hardware PICDEM LIN PICDEM Z PICDEM-net Introducción ©ATE-Universidad de Oviedo 32 .Sistemas basados en Microcontroladores Paso final: Grabar la memoria con el programa e insertar el microcontrolador Grabaremos con el ICD2 ( hay más programadores.

Jumper para desconectar oscilador RC externo (2MHz aprox.Sensor de Temperatura I2C Introducción Hardware de Prácticas ©ATE-Universidad de Oviedo 33 Sistemas basados en Microcontroladores Hardware de Prácticas PICDEM 2 PLUS junto con MPLAB ICD2 Introducción PIC16F877 ©ATE-Universidad de Oviedo 34 . entrada analógica 6..Conector Debugger 5. 28 y 40 pines para microcontroladores 2.Zócalos 18....Pot..Cristal de 32.Área libre para conexiones 18.Hueco para cristal 12..4 leds rojos 9..Jumper para desconectar leds rojos 10...I2C EEPROM de 256K x 8 15. 8..Led indicación alim.Con.768kHz para Timer 1 13.Pulsadores 7....Zumbador piezoeléctrico 17.Sistemas basados en Microcontroladores PICDEM 2 plus 1. RS232 y adaptación 4...Alimentación 3.Zócalo para oscilador 11.) 14...Display LCD 16..

Una simple instrucción en C que nos ocupa una única línea de nuestro código fuente puede traducirse en varias posiciones de memoria de programa (como ejemplo se pueden probar unas cuantas condiciones en un “if. • Además. una instrucción ocupa una única posición de la memoria de programa. instalado y en funcionamiento: microprocesador. el ratón y el monitor... La mayoría de los programas están hechos a medida de una determinada aplicación y no son demasiado portables. será necesario seguir utilizando los microcontroladores en los sistemas empotrados • Las herramientas de desarrollo para diseños basados en micros serán básicamente las mismas que para PC si sustituimos las librerías gráficas por otras destinadas al manejo de los módulos del microcontrolador. lo que puede resultar especialmente importante en ciertas aplicaciones en tiempo real. Punto de partida: el Ensamblador Introducción ©ATE-Universidad de Oviedo 36 . parte de un “lujoso” hardware ya cableado.Sistemas basados en Microcontroladores El Programador y los microcontroladores • El programador para software de PC. cuando uno utiliza la programación en ensamblador. Introducción ©ATE-Universidad de Oviedo 35 Sistemas basados en Microcontroladores ¿Programar en lenguaje C o en ensamblador? • La ventaja del C frente al ensamblador es la rapidez en el desarrollo de las aplicaciones y la comodidad a la hora de utilizar las funciones de manejo de los módulos internos (la diferencia entre 2 ó 3 días y 1 ó 2 semanas con aplicaciones para el manejo de un LCD por ejemplo). se tiene un control total sobre el tiempo de ejecución de las instrucciones. El desarrollo de la aplicación obliga “únicamente” a tener que escribir el programa y depurar los errores • El programador para microcontroladores tiene que “diseñar y crear” todo el interface de E/S con el mundo exterior antes de iniciar la escritura del programa. Pero como todavía no se hacen PCs del tamaño y coste de los microcontroladores (incluyendo el teclado y el monitor). memoria y dispositivos de E/S como el teclado. • Las ventajas del ensamblador sobre el C residen en la eficiencia y lo compacto que resulta el código (entorno a un 80% menor en tamaño). En el ensamblador de los microcontroladores PIC.).