tema 5 análisis de la arquitectura de un microprocesador microprocesador equiposmicroprogramables

58
Tema 5 Tema 5 Análisis de la Análisis de la Arquitectura Arquitectura de un de un Microprocesador Microprocesador EQUIPOS EQUIPOS MICROPROGRAMABLES MICROPROGRAMABLES

Upload: marcos-maidana-tebar

Post on 25-Jan-2016

244 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Tema 5Tema 5Análisis de la Análisis de la ArquitecturaArquitectura

de unde un MicroprocesadorMicroprocesador

EQUIPOSEQUIPOSMICROPROGRAMABLESMICROPROGRAMABLES

Page 2: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Puertas de tres estadosPuertas de tres estados

Input E S

0101

0011

Alta impedanciaAlta impedancia

10

Entrada de control (IN)

SInput

E

Page 3: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Línea bidireccional para el transporte de informaciónLínea bidireccional para el transporte de informaciónLínea bidireccional para el transporte de informaciónLínea bidireccional para el transporte de información

LÍNEA

Control

Page 4: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

¿Qué es Intel?¿Qué es Intel?¿Qué es Intel?¿Qué es Intel?•Intel es el mayor fabricante de circuitos integrados del mundo, según su cifra de negocio anual.• La compañía es la creadora de la serie de procesadores x86, los procesadores más comúnmente encontrados en la mayoría de las computadoras personales. • Intel fue fundada el 18 de julio de 1968.

Page 5: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

¿Qué es AMD?¿Qué es AMD?¿Qué es AMD?¿Qué es AMD?• Advanced Micro Devices, Inc. o AMD es una compañía estadounidense de semiconductores establecida en California, que desarrolla procesadores de cómputo y productos tecnológicos.• Sus productos incluyen microprocesadores, chipsets para placas base, procesadores gráficos para servidores, estaciones de trabajo, computadores personales y aplicaciones para sistemas embedidos.

Page 6: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

¿Intel y AMD?¿Intel y AMD?¿Intel y AMD?¿Intel y AMD?•Intel y AMD son fabricantes rivales de chips con una línea de productos similar.•Los consumidores necesitan maneras para poder comparar con exactitud sus diferentes procesadores.• Comparando las especificaciones técnicas puede ayudar, pero la mejor manera es comparar los diferentes procesadores a través de pruebas de funcionamiento.Características• Intel y AMD fabrican procesadores hasta con 6 núcleos de procesamiento con velocidades sobre los 3 GHz. • Ambos ofrecen procesadores de 32 y 64 bits y otras opciones competitivas similares.• Con tantas opciones y procesadores usados en diferentes aplicaciones, las comparaciones son difíciles.

Page 7: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

¿Intel y AMD? Funcionamiento¿Intel y AMD? Funcionamiento¿Intel y AMD? Funcionamiento¿Intel y AMD? Funcionamiento• La mejor manera de comparar los procesadores AMD e Intel es a través de puntos de referencia.• Con ellos se pueden comparar dos diferentes procesadores al correr las mismas aplicaciones con cada procesador en computadoras similares.• Esta es la mejor manera para comparar el funcionamiento de los procesadores.• Para aquellos a los que les guste enfrentar a los dos gigantes de los procesadores, AMD VS Intel, nuestro compañeros de PCGH han usado procesadores y APUs y las han enfrentado en diversos test de rendimiento como Cinebench y en juegos como el famoso Battlefield 3. • En la comparativa se han usado las plataformas Intel P45 (LGA 775), P55 (LGA 1156), X58 (LGA 1366), P67 (LGA 1155), X79 (LGA 2011), AMD 970 (AM3+), y A75 (FM1).• En todos los casos la memoria RAM se situaba en 8GB configurados en DualChannel, lógicamente para las plataformas LGA1136 y LGA2011 se usaron configuraciones en TriChannel. • Los resultados para los test de aplicaciones son los siguientes:• En las primeras posiciones tenemos a los Sandy Bridge-E, los Core i7 3960X y Core i7 3930K, seguidos de otros modelos de Intel como el Core i7 990X, otro Sandy Bridge-E que es el Core i7 3820 (el que se conoce como SB-E económico) y los Sandy Bridge Core i7 2700K y Core i7 2600K.• Destacar que AMD consigue poner a su procesador FX-8150 Bulldozer por delante de los Core i5 2500K, al cual le siguen de cerca los Phenom X6 1100T y X6 1090T. • Veamos ahora los resultados en un entorno de juegos: • En las dos primeras posiciones se mantienen los Core i7 3960X y Core i7 3930K, pero si continuamos repasando el ranking podemos ver como Intel ha colocado a muchos procesadores en parte alta de la tabla, ahora podemos ver a los Core i5 2500K, 2600K, Core i7 920 o incluso a un Core i5 760 y Core i3-2100 por delante de AMD, donde su procesador Phenom X4 980 BE es el primero en aparecer seguido de otros modelos Phenom y FX Bulldozer.

Page 8: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

¿Intel y AMD? Ventajas y desventajas¿Intel y AMD? Ventajas y desventajas¿Intel y AMD? Ventajas y desventajas¿Intel y AMD? Ventajas y desventajasIntel ventajas • Procesadores de excelente calidad • Tienen vida de uso largo• Tienen mucha memoria chaché.• Muy buen rendimiento Intel Desventajas• Son muy caros.• Puedes conseguir procesadores AMD mucho mejores por el precio de un procesador gama media de Intel. AMD ventajas • Son procesadores muy baratos, con un buen rendimiento.• Son los mejores para juegos.•Tienen mejor manejo en gráficos. AMD desventajas•Su vida de uso es menor a los de Intel. •Tienen menos memoria cachè. •AMD en laptops (portátil), se calientan mucho mas que los de intel.

Los dos son muy buenos, la elección depende de lo que se haga con el PC, si prefieres una PC gamer, usa AMD. Si necesitas una PC para el trabajo usa Intel.

Page 9: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Esquema a bloques de un sistema de desarrollo con microprocesadorEsquema a bloques de un sistema de desarrollo con microprocesadorEsquema a bloques de un sistema de desarrollo con microprocesadorEsquema a bloques de un sistema de desarrollo con microprocesador

Page 10: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Arquitectura interna de un µP convencional de 8bitsArquitectura interna de un µP convencional de 8bitsArquitectura interna de un µP convencional de 8bitsArquitectura interna de un µP convencional de 8bits

Page 11: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

¿¿Qué microcontrolador emplear?Qué microcontrolador emplear?¿¿Qué microcontrolador emplear?Qué microcontrolador emplear?• Factores a considerar según la aplicación:• Costes• Procesamiento de datos• E/S• Consumo• Memoria• Ancho de palabra• Diseño de la placa.• Los microcontroladores están adquiriendo mayor presencia en nuestra vida cotidiana sin que aparentemente notemos su presencia.• Están presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general.• Se pueden encontrar controlando el funcionamiento de los ratones y teclados de los computadores, en los teléfonos, en los hornos microondas, los televisores, ...

Page 12: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

12

Controlador y µC...Controlador y µC...Controlador y µC...Controlador y µC...•Controlador: dispositivo que se emplea para el gobierno de uno o varios procesos.

•Por ejemplo, el controlador que regula el funcionamiento de un horno.•Microcontrolador: un circuito integrado de alta escala de integración que incorpora la mayor parte de los elementos que configuran un controlador.•Un microcontrolador dispone normalmente de los siguientes componentes:

•Procesador o UCP (Unidad Central de Proceso)•Memoria RAM para Contener los datos.•Memoria para el programa tipo ROM/PROM/EPROM.•Líneas de E/S para comunicarse con el exterior.•Diversos módulos para el control de periféricos (temporizadores,•Puertas Serie y Paralelo, CAD: Conversores Analógico/Digital, CDA:•Conversores Digital/Analógico, etc.).• Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema....

Page 13: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Clasificación de los microcontroladoresClasificación de los microcontroladoresClasificación de los microcontroladoresClasificación de los microcontroladores•Los microcontroladores tienen una clasificación similar a la de los microprocesadores, es decir, se clasifican de acuerdo a la longitud de palabra desde los 4bits, 8bits, 16bits y los últimos que han salido al mercado son los poderosos de 32bits.

Motorola 16, 32 bits AVR-Atmel 32 bits

Microchip 32 bits

Page 14: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

14

• Memoria principal: se emplea para almacenar datos o instrucciones.• Se compone de una serie de celdas a cada una de las cuales se accede a través de una dirección.• Cada celda está compuesta de un número de bits que nos da el ancho de palabra de la memoria.•Unidad aritmético-lógica: permite realizar las operaciones elementales (AND, OR, NAND, NOR, suma, resta, etc.).• Estas operaciones las realiza con datos procedentes normalmente de la memoria y los resultados parciales los almacena o no temporalmente en algunos registros que suele tener la propia unidad aritmética.• Las operaciones básicas que puede realizar un computador se dividen en operaciones lógicas y operaciones aritméticas.• Ambos tipos de operaciones se realizan dentro de esta unidad.• Unidad de control: se encarga de generar las señales necesarias para que todo el computador ejecute las instrucciones leídas de la unidad de memoria.• La unidad de control es la encargada de leer de forma consecutiva las instrucciones (que se encuentran almacenadas en la unidad de memoria), y generar las señales eléctricas necesarias para proceder a la ejecución de cada una de estas instrucciones.• Es la unidad que gobierna y gestiona el comportamiento de un computador.

Comparativa entre µC y µPComparativa entre µC y µPComparativa entre µC y µPComparativa entre µC y µP

Page 15: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Comparativa entre µC y µPComparativa entre µC y µPComparativa entre µC y µPComparativa entre µC y µP

Page 16: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

16

DIFERENCIA ENTRE µP Y µC DIFERENCIA ENTRE µP Y µC DIFERENCIA ENTRE µP Y µC DIFERENCIA ENTRE µP Y µC

El microcontrolador es un sistema cerrado. Todas las partes del computador están contenidas en su interior y sólo salen al exterior las líneas que gobiernan los periféricos....Un microprocesador es un sistema abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine....Un microprocesador es un sistema abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine....

Page 17: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

17

Procesador o CPUProcesador o CPUProcesador o CPUProcesador o CPU• Es el elemento más importante del microcontrolador y determina sus principales características, tanto a nivel hardware como software.•e encarga de direccionar la memoria de instrucciones, recibir el código OP de la instrucción en curso, su decodificación y la ejecución de la operación que implica la instrucción, así como la búsqueda de los operandos y el almacenamiento del resultado.•Tipos:•CISC (Computadores de Juego de Instrucciones Complejo). Un gran número de procesadores usados en los microcontroladores están basados en la filosofía CISC (Computadores de Juego de Instrucciones Complejo). Disponen de más de 80 instrucciones máquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecución. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actúan como macros.• RISC (Computadores de Juego de Instrucciones Reducido). Tanto la industria de los computadores comerciales como la de los microcontroladores están decantándose hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.•SISC (Computadores de Juego de Instrucciones Específico).En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, además de ser reducido, es "específico", o sea, las instrucciones se adaptan a las necesidades de la aplicación prevista. Esta filosofía se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Específico)..

Page 18: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Arduino Uno Rev3Arduino Uno Rev3https://smartopenlab.wordpress.com/2014/11/01/segundo-curso-de-arduino/

Page 19: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Filosofía: Electrónica libreFilosofía: Electrónica libreFilosofía: Electrónica libreFilosofía: Electrónica libre• Multiplataforma:

• Windows, Linux, Mac. • Basado en software libre, lo que nos permite:

• Estudiar el Hardware para entender cómo funciona. • http://arduino.cc/en/Main/Products• Hacer modificaciones al Hardware.• Poder compartir esas modificaciones con la comunidad.

• Licencias de Arduino:• Diseños CAD de las placas bajo licencia Creative Commons Attribution Share-Alike.• Software del entorno de desarrollo bajo licencia GPL.• Librerías de C/C++ para el microcontrolador liberadas bajo licencia LGPL.

• Consecuencias:• Comunidad activa de usuarios y desarrolladores (foros, ejemplos, tutoriales, etc).• Gran cantidad de software y hardware disponible para autoconstruir.• Precios bajos.

Page 20: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Filosofía: Electrónica libreFilosofía: Electrónica libreFilosofía: Electrónica libreFilosofía: Electrónica libre

Page 21: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

¿Qué es un Arduino?¿Qué es un Arduino?¿Qué es un Arduino?¿Qué es un Arduino?

Page 22: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Se pueden encontrar en la dirección: http://arduino.cc/en/Main/Products

Tipos de Placas, Módulos de expansión, Kits y Accesorios de Arduino.Tipos de Placas, Módulos de expansión, Kits y Accesorios de Arduino.Tipos de Placas, Módulos de expansión, Kits y Accesorios de Arduino.Tipos de Placas, Módulos de expansión, Kits y Accesorios de Arduino.

Módulo Arduino GSM Módulo Arduino Ethernet Accesorio Pantalla TFT LCD Adaptador de luz USB/Serial

Page 23: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Con conectarlo a un ordenador con un cable USB, es posible:• Comunicarse con el.• Recibe alimentación por el mismo cable USB

• El Uno es diferente de todas las placas anteriores en el que no utiliza el chip controlador de USB a serial FTDI.• Arduino uno versión anterior a R2:

• Cuenta con un convertidor USB-serie, utilizando Atmega8U2.• Arduino uno versión R2:

• Cuenta con un convertidor USB-serie, utilizando Atmega16U2 .• Tiene una resistencia conectada a la línea 8U2 HWB a tierra, por lo que es más fácil de poner en modo DFU.

• Arduino uno R3, tiene las siguientes características nuevas:• 1.0 pinout: SDA añadido y pines SCL que están cerca al pin AREF y otros dos nuevos pasadores colocados cerca del pin RESET, la instrucción IOREF que permiten a los escudos para adaptarse a la tensión suministrado desde la placa. • En el futuro, escudos serán compatibles tanto con el placa que utiliza el AVR, que funciona con 5V y con el Arduino Debido que funciona con 3.3V.• El segundo es un pin no está conectado, que se reserva para usos futuros.• Circuito de rearme fuerte.• ATmega 16U2 que ha sustituido al 8U2.

Arduino uno. http://arduino.cc/en/Main/ArduinoBoardUno Arduino uno. http://arduino.cc/en/Main/ArduinoBoardUno Arduino uno. http://arduino.cc/en/Main/ArduinoBoardUno Arduino uno. http://arduino.cc/en/Main/ArduinoBoardUno

Page 24: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• El Arduino Uno es una placa electrónica basada en el ATmega328 microcontroladores.• Longitud 68.6 mm Ancho 53.4 mm.• Peso 25 g

Arduino uno CaracterísticasArduino uno CaracterísticasArduino uno CaracterísticasArduino uno Características

USB

Page 25: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

PlacaPlacaPlacaPlaca

Page 26: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• El Arduino Uno puede ser alimentado a través de la conexión USB o con una fuente de alimentación externa.• La fuente de alimentación se selecciona automáticamente.• Cuando se requiera más potencia en la carga (no USB) es necesario un adaptador de CA a CC o la batería.• El adaptador se puede conectar al conectar de alimentación de 2.1mm centro-positivo en el conector de alimentación de la placa.• Los cables desde una batería se pueden insertar en los cabezales de pin GND y Vin del conector de alimentación.• El placa puede funcionar con un suministro externo de 6 a 20 voltios.• Si se suministra con menos de 7V, el pin de 5V puede suministrar menos de cinco voltios y ser inestable.• Si se utiliza más de 12 V, el regulador de voltaje se puede sobrecalentar y dañar la placa.• El rango recomendado es de 7 a 12 voltios.• Los pines de alimentación son como sigue:

• Vin. El voltaje de entrada a la placa Arduino cuando se utiliza una fuente de alimentación externa (en oposición a 5 voltios de la conexión USB u otra fuente de alimentación regulada).• Usted puede suministrar tensión a través de este pin, o, si el suministro de tensión a través de la toma de alimentación, acceso a él a través de este pin.• 5V. Este pin como salida una 5V regulada .

Arduino uno. EnergíaArduino uno. EnergíaArduino uno. EnergíaArduino uno. Energía

Page 27: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• La placa puede ser alimentado ya sea desde la toma de alimentación de CC (7 - 12 V), el conector USB (5V), o por el pin VIN del tablero (7-12V).• El suministro de tensión a través de los pines de 5V o 3.3V no pasa por el regulador, y puede dañar su placa. No se aconseja. • 3V3. Un suministro de 3,3 voltios generada por el regulador interno. Suministra una corriente máxima de 50 mA. • GND. Pines de tierra.

• Instrucción IOREF.• Este pin de la placa Arduino proporciona la referencia de tensión con la que opera el microcontrolador.• Configurado, puede leer el voltaje en el pin IOREF y seleccione la fuente de alimentación adecuada o habilitar traductores de voltaje en las salidas para trabajar con el 5V o 3.3V.

Arduino uno. EnergíaArduino uno. EnergíaArduino uno. EnergíaArduino uno. Energía

Page 28: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Cada uno de los 14 pines digitales en el Uno, se puede utilizar como una entrada o salida, utilizando pinMode (), digitalWrite (), y las funciones digitalRead (). Funcionan a 5 voltios.

pinMode (ledPin, OUTPUT); // Designa la salida al PIN ….. pinMode (ledPin, INPUT); // Designa la entrada al PIN …..

digitalWrite (ledPin, HIGH); // Activa o enciende el Led digitalWrite (ledPin, LOW); // Apaga el Led

val=digitalRead (inPin); // Lee el valor de entrada

• Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia de pull-up (desconectado por defecto) de 20 a 50 kOhm.

Arduino uno Entradas y salidasArduino uno Entradas y salidasArduino uno Entradas y salidasArduino uno Entradas y salidas

Page 29: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

•Serial: 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir datos en serie (TX) TTL.• Estos se encuentran conectadas a los pines correspondientes de la USB-to-TTL chips Serial ATmega8U2.

• Interrupciones externas: 2 y 3.• Estos pines pueden configurarse para activar una interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio en el valor. • Utilizar la función attachInterrupt ().

• PWM: 3, 5, 6, 9, 10, y 11. • Proporcionar una salida PWM de 8 bits con la función analogWrite ().

• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).• Soportan la comunicación SPI utilizando la librería SPI.

• LED: 13. LED incorporado y conectado al pin digital 13. • Cuando el pulsador es de valor alto, el LED está encendido, cuando el pulsador es bajo, es apagado.

Funciones especializadas de algunos pines:Funciones especializadas de algunos pines:Funciones especializadas de algunos pines:Funciones especializadas de algunos pines:

Page 30: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

PWM (Pulse-Width Modulation)PWM (Pulse-Width Modulation)PWM (Pulse-Width Modulation)PWM (Pulse-Width Modulation)• El PWM o Modulador por anchura de pulsos es una señal digital cuadrada en el cual podemos variar el ciclo de trabajo (tiempo ON) sin variar la frecuencia.• Por ejemplo: tenemos una señal cuadrada de 500Hz de 5 Voltios. Aplicando la formula sabemos el tiempo.

• Cada intervalo de 2 milisegundos tenemos un pulso a un valor alto (1) y otro pulso a valor bajo (0).• El PWM consiste en modificar la anchura del pulso alto (pulse-width) también llamado Duty Cycle.• Dependiendo del Duty Cycle tendremos una tensión continua media.• El PWM se usa para controlar la velocidad y el sentido de motores de DC, para controlar la intensidad lumínica de un led, controlar la posición de un servomotor, etc.

Page 31: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Entradas analógicas, 6 e identificadas como A0 a A5, cada uno de los cuales proporcionan 10 bits de resolución (es decir, valores enteros entre 0 y 1023).• Por defecto se miden desde masa a 5 voltios, aunque es posible cambiar el extremo superior de su rango usando el pin AREF y la función analogReference ().• Ejemplo: Para leer el valor en el pin A2, se debe usar la función analogRead():

int valor; // variable que va a almacenar lo que lee un pin void setup(){ // no es necesario inicializar nada

} void loop(){ valor = analogRead(A2); // valor es un int entre 0 y 1023}

Arduino uno Entradas y salidasArduino uno Entradas y salidasArduino uno Entradas y salidasArduino uno Entradas y salidas

Page 32: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Funciones especializadas de algunos pines:• TWI: pin A4 o A5 o SDA y SCL pin. Comunicación TWI Apoyo utilizando la librería Wire.

• Hay un par de pines de la placa:• AREF. Voltaje de referencia para las entradas analógicas. Se utiliza con analogReference ().• Reset. Llevar esta línea a BAJO para reiniciar la placa.

• La asignación para el Atmega8, 168, y 328 es idéntico.

Arduino uno Entradas y salidasArduino uno Entradas y salidasArduino uno Entradas y salidasArduino uno Entradas y salidas

Page 33: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Tiene una serie de instalaciones para comunicarse con un ordenador, otro Arduino u otros microcontroladores.• El ATmega328 ofrece UART TTL (5V) de comunicación en serie, que está disponible en los pines digitales 0 (RX) y 1 (TX).• Un ATmega16U2 en los canales de esta comunicación en serie a través de USB y aparece como un puerto com virtual para el software en el ordenador.• El "firmware 16U2 utiliza los controladores USB COM estándar, y no se necesita ningún controlador externo.• Sin embargo, en Windows, es necesario un archivo .inf.• El software de Arduino incluye un monitor de serie que permite a los datos textuales sencillos para ser enviados hacia y desde la placa Arduino.• Los LEDs RX y TX en la placa parpadean cuando se están transmitiendo datos a través del chip y USB a la conexión USB a serie al ordenador (pero no para la comunicación en serie en los pines 0 y 1).• Una biblioteca SoftwareSerial permite la comunicación en serie en cualquiera de los pines digitales del Uno.• El ATmega328 también es compatible I2C (TWI) y SPI.• El software de Arduino incluye una librería Wire para simplificar el uso del bus I2C; consulte la documentación para obtener más información.• Para la comunicación SPI, utilizar la biblioteca de SPI.

Arduino uno. ComunicaciónArduino uno. ComunicaciónArduino uno. ComunicaciónArduino uno. Comunicación

Page 34: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• El ATmega328 también es compatible I2C (TWI) y SPI.• El software de Arduino incluye una librería Wire para simplificar el uso del bus I2C; consulte la documentación para obtener más información.• La comunicación en electrónica sirve para que distintos dispositivos interactúen entre ellos, en este caso aprenderemos a usar la comunicación I2C (Inter-Circuitos Integrados), que es un bus de comunicaciones en serie con 2 líneas para transmitir la información.•La comunicación I2C utiliza direccionamiento cada dispositivo tiene una dirección de 7 bits, así que podría comunicarse con hasta 127 dispositivos.• Es muy fácil de encontrar dispositivos ya sean sensores, pantallas LCD… etc. que se comunican con el µC en I2C, tan solo con 2 líneas se pueden a conectar varios dispositivos, cada uno con una dirección.

• Dos placas Arduino• Un pulsador• Un led.• 10kΩ y 220Ω

Arduino uno. Comunicación Arduino uno. Comunicación I2CArduino uno. Comunicación Arduino uno. Comunicación I2C

Page 35: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).• Soportan la comunicación SPI utilizando la librería SPI.

• Es un protocolo síncrono.• La sincronización y la transmisión de datos se realiza por medio de 4 señales:

• SCLK (Clock): Es el pulso que marca la sincronización. Con cada pulso de este reloj, se lee o se envía un bit. • MOSI (Master Output Slave Input): Salida de datos del Master y entrada de datos al Slave. También llamada SIMO.• MISO (Master Input Slave Output): Salida de datos del Slave y entrada al Master. También conocida por SOMI.• SS/Select: Para seleccionar un Slave, o para que el Master le diga al Slave que se active. También llamada SSTE.

Arduino uno. Comunicación SPIArduino uno. Comunicación SPIArduino uno. Comunicación SPIArduino uno. Comunicación SPI

Page 36: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Basado en Processing y similar a C++. • Sketches = Código fuente• Lenguaje compilado http://playground.arduino.cc/interfacing/processing• Se puede programar con el software propio de Arduino.• Descargar de: http://arduino.cc/en/Main/Softwarehttp://arduino.cc/en/Main/Software• Los ATmega328 en la Arduino Uno viene precargado con un gestor de arranque (bootloader) que le permite cargar nuevo código a él sin el uso de un programador de hardware externo.• Se comunica mediante el protocolo original STK500 (referencia, archivos de cabecera C).• También puede pasar por alto el gestor de arranque y programar el microcontrolador a través del ICSP (In-Circuit Serial Programming) cabecea utilizando Arduino ISP o similar.• El ATmega16U2 / 8U2 se carga con un cargador de arranque DFU, que puede ser activado por:

• En las placas Rev1: conectan el puente de soldadura en la parte posterior de la placa (cerca del mapa de Italia) y luego reiniciar el 8U2.• En las placas Rev2 o posteriores: hay una resistencia que tirando de la línea 8U2 / 16U2 HWB a tierra, por lo que es más fácil poner en modo DFU.

• A continuación, se puede utilizar el software de Atmel FLIP (Windows) o el programador DFU (Mac OS X y Linux) para cargar un nuevo firmware. • O utilizar, el encabezado de ISP con un programador externo (sobrescribir el gestor de arranque DFU). • Ver este tutorial aportado por los usuarios para obtener más información.

Arduino uno. ProgramaciónArduino uno. ProgramaciónArduino uno. ProgramaciónArduino uno. Programación

Page 37: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

ARDUINO + PROCESSING: PRIMEROS PASOSARDUINO + PROCESSING: PRIMEROS PASOSARDUINO + PROCESSING: PRIMEROS PASOSARDUINO + PROCESSING: PRIMEROS PASOS• Processing es un lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java.• Fue iniciado por Ben Fry y Casey Reas a partir de reflexiones en el Aesthetics and Computation Group del MIT Media Lab dirigido por John Maeda. • Una vez instalado Processing en el PC, veréis que es muy similar al IDE de Arduino, ya que este está basado en Processing.• Solo cambia el botón PLAY que sirve para arrancar el entorno creado con el programa, y el botón STOP que sirve para pararlo.

Page 38: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Cuando se desarrollan sistemas con microcontroladores, resulta muy ineficiente tener que sacar el PIC de su circuito para reprogramarlo una y otra, y otra vez...• Consume un tiempo considerable, puede afectar la vida útil del PIC (los pines podrían doblarse y romperse) y la vida útil de la placa de inserción.• En la placa, se ven 6 pines que pone ICSP ( In Circuit Serial Programming) que sirve para programar el BootLoader del Microcontrolador ATmega y así poder cargar los programas que creemos en el IDE directamente en el microcontrolador sin tener que necesitar Programadores externos (como se ve en la imagen de mas abajo).• Sin el Bootloader el ATmega no servirá de nada, por eso es necesario ponérselo para que pueda interpretar tus programas, recibir y enviar datos por los diferentes puertos o generar señales de control y sobre todo hace que sea posible la comunicación USB. • Los pines son los siguientes: (visto desde arriba)MISO |1 2| +5VSCK |3 4| MOSIRST |5 6| GND

Arduino uno. Programación “en circuito” ICSPArduino uno. Programación “en circuito” ICSPArduino uno. Programación “en circuito” ICSPArduino uno. Programación “en circuito” ICSP

Page 39: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• En lugar de requerir pulsar el botón de reinicio antes de cada carga, el Arduino Uno está diseñado de una manera que permite que sea restablecido por el software que se ejecuta en un ordenador conectado.• Una de las líneas de control de flujo de hardware (DTR) de la ATmega8U2 / 16U2 está conectado a la línea de restablecimiento de los ATmega328 a través de un condensador de 100nF.• Cuando esta línea se activa a bajo, la línea de restablecimiento pasa el tiempo suficiente para restablecer el chip.• El software de Arduino carga el código con sólo pulsar el botón de subida.• Esto significa que el gestor de arranque puede tener un tiempo de espera más corto, ya que el descenso de DTR pueden ser bien coordinada con el inicio de la subida.• Cuando el Uno está conectado ya sea a un ordenador con Mac OS X o Linux, se restablece cada vez que se realiza una conexión a la misma desde el software (a través de USB).• Para el siguiente medio segundo o así, el gestor de arranque se ejecuta en el Uno.• El Uno contiene un registro que se puede cortar, para deshabilitar el reinicio automático.• Ha marcado "RESET-ES". También puede ser capaz de desactivar el reinicio automático mediante la conexión de una resistencia de 110 ohmios de 5V a la línea de reposición; ver este hilo del foro para más detalles.

Arduino uno. Automático (software) RestablecerArduino uno. Automático (software) RestablecerArduino uno. Automático (software) RestablecerArduino uno. Automático (software) Restablecer

Page 40: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Conexión mínima para que un PIC funcioneConexión mínima para que un PIC funcioneConexión mínima para que un PIC funcioneConexión mínima para que un PIC funcione

Page 41: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

¿Qué es el gestor de arranque• BIOS lee automáticamente todo el contenido del primer sector de la memoria, justo después de que la alimentación está conectada.• El primer sector es también llamado Master Boot Record.• En realidad, no es obligatorio para el primer sector del disco duro para arrancar algo.• Este nombre se ha formado históricamente ya que los desarrolladores utilizan para arrancar su sistema operativo con el mecanismo de este tipo.• Del gestor de arranque es un programa situado en el primer sector del disco duro, y es el sector en el arranque se inicia a partir de.

What is the BootLoader?What is the BootLoader?What is the BootLoader?What is the BootLoader?

Page 42: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Consulte los siguientes ejemplos para una visión general de las funciones básicas de Arduino y bibliotecas; la página de bases de descripción en profundidad de los conceptos básicos del hardware y el software de Arduino; la página de hacking para obtener información sobre la ampliación y modificación del hardware y el software de Arduino; y la página de enlaces para otra documentación.• Nota: estos ejemplos están escritos para Arduino 1.0 y versiones posteriores.• Ciertas funciones podrían no funcionar en versiones anteriores. Para obtener los mejores resultados, descargue la última cinco

Arduino uno. EjemplosArduino uno. EjemplosArduino uno. EjemplosArduino uno. Ejemplos

Page 43: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Estos se incluyen con el entorno Arduino; para abrirlos, haga clic en el botón Abrir de la barra de herramientas y busque en la carpeta ejemplos.1. Basics BareMinimum: El mínimo de código necesario para iniciar un boceto Arduino. Blink: Gire un LED encendido y apagado. DigitalReadSerial: Leer un interruptor, imprimir el estado hacia el Serial Monitor Arduino. AnalogReadSerial: Leer un potenciómetro, imprimir su estado hacia el Serial Monitor Arduino. Fundido: Muestra el uso de la salida analógica a desvanecerse un LED. ReadAnalogVoltage: Lee una entrada analógica e imprime el voltaje al monitor serie2. Digital Blink sin Demora: parpadear un LED sin utilizar la función delay (). Button: utilizar un pulsador para controlar un LED. De rebote: leer un pulsador, filtrado de ruido. Botón de cambio de estado: contar el número de pulsaciones de botón. Entrada Pullup de serie: Muestra el uso de INPUT_PULLUP con pinMode (). Tono: tocar una melodía con un altavoz piezoeléctrico. Seguidor Pitch: jugar un terreno de juego en un altavoz piezoeléctrico según una entrada analógica. Teclado simple: un teclado musical de tres llaves usando sensores de fuerza y un altavoz piezoeléctrico. Tone4: tonos de reproducción en múltiples altavoces de forma secuencial con el comando de tono ().

Arduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicas

Page 44: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• 3. Analog AnalogInOutSerial: Leer un pin de entrada analógica, mapa del resultado, y luego usar esos datos para atenúe o intensifique un LED. Entrada analógica: Utilice un potenciómetro para controlar el parpadeo de un LED. AnalogWriteMega: Fundido 12 LED de encendido y apagado, uno por uno, usando una placa Arduino Mega. Calibración: Definir un máximo y mínimo para los valores de los sensores analógicos esperados. Fading: Utilice una salida analógica (pin PWM) a desvanecerse un LED. Suavizar: Smooth múltiples lecturas de una entrada analógica.

Arduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicas

Page 45: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

4. CommunicationEstos ejemplos incluyen código que permite que el Arduino para hablar con bocetos de procesamiento se ejecutan en el ordenador. Para obtener más información o para descargar Procesamiento, consulte processing.org. También hay parches Max / MSP que pueden comunicarse con cada boceto Arduino también. Para más información sobre Max / MSP ver Ciclismo 74. Para parches Pd que pueden comunicarse con estos bocetos, ver ejemplos de Scott Fitzgerald. ReadASCIIString: Analiza una cadena separada por comas de enteros a desaparecer un LED. Tabla ASCII: Demuestra funciones de salida de serie avanzada de Arduino. Dimmer: Mueve el ratón para cambiar el brillo de un LED. Gráfico: Enviar datos al ordenador y representarla gráficamente en Processing. Pixel físico: Gire un LED encendido y apagado mediante el envío de datos a su Arduino de Procesamiento o Max / MSP. Mezclador de colores Virtual: Enviar múltiples variables de Arduino al ordenador y leer en la tramitación o Max / MSP. Serie de Respuesta de Llamadas: Enviar múltiples variables utilizando una y respuesta llamada de método (establecimiento de conexión). Serial ASCII Respuesta de Llamadas: Enviar múltiples variables utilizando un método y respuesta de llamadas (apretón de manos), y ASCII a codificar los valores antes de enviar. SerialEvent: Muestra el uso de serialEvent (). Entrada serie (Switch (caso) Declaración): Cómo tomar diferentes acciones basadas en caracteres recibidos por el puerto serie. MIDI: Enviar mensajes de nota MIDI serie. MultiSerialMega: Use dos de los puertos serie disponibles en el Arduino Mega.

Arduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicas

Page 46: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Estructuras 5.Control Si Declaración (Condicional): Cómo utilizar una sentencia if para cambiar las condiciones de salida en base a las condiciones de entrada cambiante. Para Loop: Controlar múltiples LEDs con un bucle for y. Matriz: Una variación en el ejemplo de bucles que se muestra cómo utilizar una matriz. While Loop: Cómo utilizar un bucle while para calibrar un sensor mientras se está leyendo un botón. Interruptor de caso: ¿Cómo elegir entre un número discreto de valores. Equivalente a múltiples Si los estados. Este ejemplo muestra cómo dividir el rango de un sensor en un conjunto de cuatro bandas y tomar cuatro medidas diferentes según la banda, el resultado es en. Interruptor Caso 2: Un segundo ejemplo switch de los casos, mostrando cómo tomar diferentes acciones basadas en los caracteres recibidos en el puerto serie.6.Sensors ADXL3xx: Leer un acelerómetro ADXL3xx. Golpe: Detectar golpes con un elemento piezoeléctrico. Memsic2125: acceleromoter de dos ejes. Ping: Detectar objetos con un telémetro ultrasónico.

Arduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicas

Page 47: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

7.DisplayEjemplos de control básico pantalla LED de gráfico de barras: Cómo hacer un gráfico de barras LED. Fila Columna de escaneo: Cómo controlar una matriz de 8x8 de LEDs.8.Strings StringAdditionOperator: Añadir cadenas juntas en una variedad de maneras. StringAppendOperator: Anexar datos a las cadenas. StringCaseChanges: Cambia el caso de una cadena. StringCharacters: Obtener / Establecer el valor de un carácter específico en una cadena. StringComparisonOperators: Compara cuerdas alfabéticamente. StringConstructors: Cómo inicializar objetos de cadena. StringIndexOf: Busque la primera / última instancia de un carácter en una cadena. StringLength y StringLengthTrim: Obtener y recortar la longitud de una cadena. StringReplace: Reemplazar caracteres individuales en una cadena. StringStartsWithEndsWith: Comprobar qué personajes / subseries una cadena dada empieza o termina con. StringSubstring: Busque "frases" dentro de una cadena dada.

Arduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicasArduino uno. Funciones básicas

Page 48: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Contiene los códigos mínimos que se necesitan para un proyecto con Arduino; para compilar:• el método setup () => Función configuración• el método loop () => Función principal

• La función setup () se llama cuando se inicia un proyecto.• Úselo para inicializar variables, modos de pasador, comience a usar las bibliotecas, etc.• La función de configuración sólo se ejecutará una vez, después de cada arranque o reinicio de la placa Arduino.• Después de crear una función setup (), creamos la función loop (), hace precisamente lo que su nombre sugiere, y bucles de forma consecutiva, permitiendo que el programa pueda cambiar y responder a lo que se ejecuta.• Código en la sección de bucle () de su dibujo se utiliza para controlar activamente la placa.• Cualquier línea que comienza con dos barras inclinadas (//) no será leído por el compilador, por lo que puede escribir lo que quieras después de ella, alguna aclaración,….

Arduino uno. Código mínimo para comenzarArduino uno. Código mínimo para comenzarArduino uno. Código mínimo para comenzarArduino uno. Código mínimo para comenzar

Page 49: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Declaración de variables;

void setup ()

{// Poner el código de configuración (función) aquí, para ejecutar una vez:// Seteo de pines.// Inicialización de la comunicación serie

}

void loop ()

{// Poner el código principal (función) aquí, para ejecutar repetidamente:// Lo que voy a hacer todo el tiempo

}

Ejemplo de un archivoEjemplo de un archivoEjemplo de un archivoEjemplo de un archivo

Page 50: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

TIPOS:byte: Enteros (1 byte): -128 a 127int: Enteros (2 bytes): -32.768 a 32767long: Enteros (4 bytes)Float, double: Números en punto flotante (4 bytes)boolean: Verdadero (TRUE) o Falso (FALSE)char: Un solo carácterString: Listas de caracteres

DEFINICIÓNint nombreVariable1 = 0float nombreVariable2 = 1.24int nombreArray[ ] = {valor0 , valor1 , valor2 , ...}int nombreArray2[5]

VariableVariableVariableVariable

Page 51: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

OPERADORES LÓGICOSA && B : A AND BA || B : A OR B!A : NOT

COMPARACIÓNA == B : A igual a BA != B : A distinto de BA < B : A menor que BA <= B : A menor o igual a BA > B : A mayor que BA >= B : A mayor o igual a B

VariableVariableVariableVariable

Page 52: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

if (condicion){

hacer algo;}

if (condicion){

hacer algo; }else{

hacer otra cosa; }

// Ejemplo:if (buttonPushCounter % 4 == 0){ digitalWrite(ledPin , HIGH);}Else{ digitalWrite(ledPin , LOW); }

Control de flujo. ifControl de flujo. ifControl de flujo. ifControl de flujo. if

Page 53: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

for (inicializacion;condicion;incremento){

hacer algo; }

// Ejemplo: atenuar un LED usando un pin con PWMint PWMpin = 10;

// hay que poner una resistencia de 470 Ohm en serievoid setup(){

// no es necesario configurar nada} void loop(){

for (int i=0; i <= 255; i++){ analogWrite(PWMpin , i);delay(10);}

}

Control de flujo. forControl de flujo. forControl de flujo. forControl de flujo. for

Page 54: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

while (condicion){

hacer algo;}

// Ejemplo: int var = 0;while(var < 200){

// hacer algo repetitivamente 200 veces var++;}

Control de flujo. whileControl de flujo. whileControl de flujo. whileControl de flujo. while

Page 55: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

• Este ejemplo muestra la más simple que es posible realizar con un Arduino. • Enunciado: Encender un diodo Led LED por el pin nº de clase.1.Hardware necesario2.Placa Arduino.3.LED.4.Resistencia limitadora de entre 330 ᾨ a 1K ῼ.

Práctica 1. Hola MundoPráctica 1. Hola MundoPráctica 1. Hola MundoPráctica 1. Hola Mundo

Page 56: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Uso de Arduino IDE. Práctica 1. HolaMundoUso de Arduino IDE. Práctica 1. HolaMundoUso de Arduino IDE. Práctica 1. HolaMundoUso de Arduino IDE. Práctica 1. HolaMundo

2.- 2.- Puerto Puerto

de de ComunicaciónComunicación utilizadoutilizado

2.- 2.- Puerto Puerto

de de ComunicaciónComunicación utilizadoutilizado

3.- 3.- Nombre Nombre

del del ProyectoProyecto

3.- 3.- Nombre Nombre

del del ProyectoProyecto

1.- 1.- Modelo Modelo de placa de placa Arduino Arduino a utilizara utilizar

1.- 1.- Modelo Modelo de placa de placa Arduino Arduino a utilizara utilizar

5.- Poner los códigos

de la Función de configuración

aquí, para ejecutar una sola vez:

5.- Poner los códigos

de la Función de configuración

aquí, para ejecutar una sola vez:

6.- Poner los

códigos de la Función

Principal aquí, para ejecutar

repetidamente

6.- Poner los

códigos de la Función

Principal aquí, para ejecutar

repetidamente

4.-Utilizando variables,

definir las E/S en el PIN ….

4.-Utilizando variables,

definir las E/S en el PIN ….

Page 57: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Simulación con ProteusSimulación con ProteusSimulación con ProteusSimulación con Proteus• Descargar, de la siguiente dirección las librerías de Arduino:http://www.mediafire.com/download/1bjzv92h7otizxt/Prot_7.10+sp0.rarhttp://www.mediafire.com/download/1bjzv92h7otizxt/Prot_7.10+sp0.rar• Descomprimir el fichero. Son dos los archivos que necesitaremos:ARDUINO.LIBARDUINO.IDX

Para la versión 7.X:• Tendremos que copiar los archivos que se incluyen en el Rar, en la siguiente dirección:

• Para Windows de 32 bits: C:\Archivos de programa\Labcenter Electronics\Proteus 7 Professional\LIBRARY• Windows de 64 bits:C:\Archivos de programa(x86)\Labcenter Electronics\Proteus 7 Professional\LIBRARY

Para la versión 8.X• Abrir Isis Proteus.• Crear un nuevo esquemático. (Entrar en la pantalla donde nos deja colocar componentes para realizar las simulaciones).• Dar clic en el menú "Library" y despues en "Library Manager“.• Dar clic en el botón "Create library”• En la pantalla que se abra, lo único que tienes que hacer es arrastrar los archivos descargados ahí, en otras palabras copialos a esa carpeta.• Cierra Proteus, para después volverlo a abrir y listo ya podrás escoger las placas arduino, como si escogieras cualquier otro componente.

Page 58: Tema 5 Análisis de la Arquitectura de un Microprocesador Microprocesador EQUIPOSMICROPROGRAMABLES

Uso de Arduino IDE y ProteusUso de Arduino IDE y ProteusUso de Arduino IDE y ProteusUso de Arduino IDE y Proteus• Abrimos Proteus y escribimos en Keywords => Arduino => Arduino UNO R3…. • Abrimos Arduino IDE => Archivo => Preferencias => Marcamos Mostrar salidas detalladas.• Durante la compilación, nos aparecen todos los ficheros y en especial con extensión .HEX..HEX.• Copiamos la dirección completa del fichero con extensión hex. • Dentro de Proteus => Doble clip sobre la placa arduino => Program File => Pegamos dirección.•C:\WINDOWS\Temp\build6207510960074753793.tmp\P1_HolaMundo_mar14a.cpp.hex o• C:\Documents and Settings\Administrador\Configuración local\Temp\build7386531524424166008.tmp\P1_HolaMundo_mar14a.ccp.hex