Está en la página 1de 13

1 Conceptos introductorios a los microcontroladores

Es un circuito integrado programable que contiene todos los componentes de un computador.
Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido
tamaño, suele ir incorporado en el propio dispositivo al que gobierna. Esta última
característica es la que le confiere la denominación de «controlador incrustado» (embedded
controller).
El microcontrolador es un computador dedicado. En su memoria sólo reside un programa
destinado a gobernar una aplicación determinada; sus líneas de entrada/salida soportan el
conexionado de los sensores y actuadores del dispositivo a controlar, y todos los recursos
complementarios disponibles tienen como única finalidad atender sus requerimientos. Una
vez programado y configurado el microcontrolador solamente sirve para gobernar la tarea
asignada.
Un microcontrolador es un computador completo, aunque de limitadas prestaciones, que está
contenido en el chip de un circuito integrado y se destina a gobernar una sola tarea. El número
de productos que funcionan en base a uno o varios microcontroladores aumenta de forma
exponencial.
Los electrodomésticos de línea blanca (lavadoras, hornos, lavavajillas, etc.) y de línea marrón
(televisores, vídeos, aparatos musicales, etc.) incorporan numerosos microcontroladores.
Igualmente, los sistemas de supervisión, vigilancia y alarma en los edificios utilizan estos
chips. También se emplean para optimizar el rendimiento de ascensores, calefacción, aire
acondicionado, alarmas de incendio, robo, etc.
El esquema general básico de un
microcomputador. Se compone de tres
bloques fundamentales: la CPU (Central
Processing Unit), la memoria, y la
entrada y salida. Los bloques se conectan
entre sí mediante grupos de líneas
eléctricas denominados buses. Los buses
pueden ser de direcciones (si transportan
direcciones de memoria o de entrada y
salida), de datos (si transportan datos o instrucciones) o de control (si transportan señales de
control diversas).

1.1 Diferencia entre Microprocesador, Microcomputadora y
Microcontrolador.
La CPU es el "cerebro" del microcomputador y actúa bajo el control del programa
almacenado en la memoria. La CPU se ocupa básicamente de traer las instrucciones del
programa desde la memoria, interpretarlas y hacer que se ejecuten. La CPU también incluye
los circuitos para realizar operaciones aritméticas y lógicas elementales con los datos
binarios, en la denominada Unidad Aritmética y Lógica (ALU: Arithmetic and Logic Unit).
En un microcomputador, la CPU no es otra cosa que el microprocesador, el circuito
integrado capaz de realizar las funciones antes mencionadas. Un microcontrolador es un

microcomputador realizado en un circuito integrado (chip). en juguetes. que determina la cantidad de bits que pueden procesar simultáneamente. 1. etc. en equipos de comunicaciones y de telefonía. y el Camino de Datos. Históricamente. Un parámetro importante en los microprocesadores es el tamaño de sus registros internos (8. y a un coste razonable. de un computador. en instrumentos electrónicos. Los microprocesadores se han desarrollado fundamentalmente orientados al mercado de los ordenadores personales y las estaciones de trabajo. para permitir conectarle con la Memoria y los Módulos de E/S y configurar un computador implementado por varios circuitos integrados. 16. Hay varias características que son deseables en un microcontrolador: l. Se dice que un microprocesador es un sistema abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine. tales como el manejo individual de líneas de entrada y salida. los microcontroladores aparecieron con posterioridad a los microprocesadores y han tenido evoluciones independientes. en electrodomésticos. señales analógicas. La UCP está formada por la Unidad de Control. Los microcontroladores se han desarrollado para cubrir las más diversas aplicaciones. 32 ó 64 bits). Debido a las dimensiones de su encapsulado. los elementos esenciales para desarrollar una aplicación. Se requiere hacer énfasis en los recursos de entrada y de salida del dispositivo. el manejo de interrupciones. El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP). Se usan en automoción. datos y control. 2. en equipos médicos e industriales de todo tipo. etc. que interpreta las instrucciones. Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones. Se trata de tener en el menor espacio posible. . Un microprocesador es un sistema abierto con el que puede construirse un computador con las características que se desee.2 Características y aplicaciones de los microcontroladores. acoplándole los módulos necesarios. Espacio optimizado. Recursos de entrada y salida. también llamada procesador. el manejo de gran cantidad de memoria y una gran velocidad de procesamiento. donde se requiere una elevada potencia de cálculo. Un microcontrolador es un sistema cerrado que contiene un computador completo y de prestaciones limitadas que no se pueden modificar. que las ejecuta.

Se procura que el diseñador disponga del microcontrolador hecho a la medida de su aplicación. es decir. Con el hardware requerido (más o menos memoria. Dado que hay muchas aplicaciones donde se desea utilizar baterías como fuente de alimentación. dispositivo que no existe en los ordenadores personales. Las arquitecturas von Neumann y Harvard son modelos generales del hardware de los ordenadores que representan dos soluciones diferentes al problema de la conexión de la CPU con la memoria y a la organización de la memoria como almacén de instrucciones y datos. El microcontrolador idóneo para una aplicación. 5. en tanto que algunos datos en memoria son leídos por la CPU y otros son escritos en la memoria desde la CPU. Un componente común en los microcontroladores y que contribuye a una operación segura es el perro guardián (WDT: Watchdog Timer). en equipos de comunicaciones y de telefonía. Se usan en automoción. 6. También interesa que el microcontrolador consuma muy poco cuando no está realizando ninguna acción.) 4.3 Tipos de arquitecturas computacionales. En aplicaciones de cierta envergadura se utilizan varios microcontroladores. el microcontrolador ejecuta un programa almacenado permanentemente en su memoria. J. es altamente deseable que el microcontrolador consuma poca energía. Seguridad en el funcionamiento del microcontrolador. Los microcontroladores se han desarrollado para cubrir las más diversas aplicaciones. cada uno de los cuales se ocupa de un pequeño grupo de tareas. etc. Protección de los programas frente a copias. al menor costo posible. el cual trabaja con algunos datos almacenados temporalmente e interactúa con el exterior a través de las líneas de entrada y salida de que dispone. contra lecturas furtivas de la memoria del microcontrolador.1 Arquitecturas von Neumann y Harvard En la memoria de un ordenador. en equipos médicos e industriales de todo tipo. es decir. el programa de la aplicación.3. Se trata de proteger la información almacenada en la memoria. von Neumann trabajó en el equipo de diseñadores de la computadora ENIAC (Electronic . en instrumentos electrónicos. La arquitectura von Neumann toma el nombre del matemático John von Neumann que propuso la idea de un ordenador con el programa almacenado (stored-program computer). más o menos dispositivos de entrada y salida. etc. se almacenan instrucciones y datos. aplicaciones donde el microcontrolador debe realizar un pequeño número de tareas.3. en electrodomésticos. Los microcontroladores están concebidos fundamentalmente para ser utilizados en aplicaciones puntuales. Los microcontroladores disponen de mecanismos que les protegen de estas acciones. En estas aplicaciones. Bajo consumo. en juguetes. Las instrucciones deben pasar secuencialmente a la CPU para su descodificación y ejecución. Puede intuirse que la organización de la memoria y su comunicación con la CPU son dos aspectos que influyen en el nivel de prestaciones del ordenador. 1. El microcontrolador es parte de la aplicación: es un controlador incrustado o embebido en la aplicación (embedded controller). 1. un microcomputador o un microcontrolador.

Por otra parte. La arquitectura Harvard utiliza memorias separadas para instrucciones y datos. La misma señal de control que emite la CPU para leer un dato. La arquitectura von Neumann requiere menos terminales en el microprocesador que la arquitectura Harvard. sino que ROM y RAM forman un conjunto único (una memoria de lectura y escritura) para el cual la CPU emite señales de control. La arquitectura Harvard utiliza memorias separadas para instrucciones y datos. Esto significa que con un mismo bus de direcciones se localizan (direccionan) instrucciones y datos y que por un único bus de datos transitan tanto instrucciones como datos. La memoria de programa es sólo de lectura. Pero con esta arquitectura es imposible manipular simultáneamente datos e instrucciones. lo cual significa una conexión más simple entre ambas. la memoria de datos tiene sus propios buses de direcciones. No hay señales de control diferentes para datos e instrucciones. debido a la estructura de buses únicos. En este caso la memoria de programa (que almacena instrucciones) tiene su bus de direcciones (de instrucciones). independientes de los buses de la memoria de programa. 111 y IV. En los microcomputadores. desaparece la necesidad de minimizar el número de terminales de la CPU. Estos ordenadores fueron los primeros en utilizar memorias separadas para instrucciones y datos. para la CPU no hay tal distinción. La arquitectura von Neumann utiliza una memoria única para instrucciones y datos. de dirección y de datos. su propio bus de datos (más bien es un bus de instrucciones) y su bus de control. En los microcontroladores la situación es diferente. Esta fue una razón decisiva para que desde sus inicios los microcomputadores basados en un microprocesador se hayan diseñado utilizado casi exclusivamente la arquitectura von Neumann. una concepción diferente al ordenador de programa almacenado. mientras que en la de datos se puede leer y escribir. Debe quedar claro que aunque se use memoria ROM para almacenar el programa y RAM para los datos. Esto confiere a la arquitectura Harvard la ventaja de una mayor velocidad de ejecución de los programas. El término arquitectura Harvard se debe al nombre del lugar donde Howard Aiken diseñó los ordenadores Mark 1. la CPU es un circuito integrado: el microprocesador. sirve para leer una instrucción. algo que sí es posible en la arquitectura Harvard. de modo que en . los buses de instrucciones (BINST) y de datos (BDAT) y los buses de control de instrucciones (BCON-I) y de datos (BCON-D). Arquitecturas (a) van Neumann y (b) Harvard. 11. datos (BDAT) y control (BCON). La arquitectura von Neumann requiere menos líneas que la Harvard para conectar la CPU con la memoria. La arquitectura van Neumann utiliza una memoria única que se conecta a la CPU mediante los buses de direcciones (BDIR). que tiene buses separados. datos y control. las cuales se conectan a la CPU mediante los buses de direcciones de instrucciones (BDIR-I) y de direcciones de datos (BDIR-D).Numerical Integrator and Calculator) diseñada en la Universidad de Pennsylvania durante la Segunda Guerra Mundial. Al estar todos los componentes del sistema dentro del circuito integrado.

3. en general. La complejidad de las instrucciones fue en aumento. Los microprocesadores y microcontroladores se fabrican como circuitos integrados independientes (stand-alone devices). la tendencia inicial fue proveerlos de un repertorio de instrucciones lo más potente posible. con un grupo de registros comunes a todos los miembros de la familia. por supuesto.2 Arquitecturas CISC y RISC CISC (Complex Instruction Set Computer) y RISC (Reduced Instruction Set Computer) son dos modelos generales de ordenadores. en general. en un mismo repertorio había instrucciones que hacían operaciones muy simples. los distintos miembros de la familia tienen puertos de entrada y salida y memoria diferentes. En cambio. en el que se hacía necesario dedicar un gran espacio del circuito integrado a la descodificación y ejecución de las instrucciones. Los microcontroladores PIC son un ejemplo de dispositivos con arquitectura RISC. Un ordenador CISC tiene un repertorio de instrucciones complejo y un ordenador RISC tiene un repertorio de instrucciones reducido. Los microcontroladores PIC son un ejemplo de sistemas con arquitectura Harvard. cuya función es. junto a otras que efectuaban operaciones tan complejas como mover una cadena de datos de un lugar a otro en la memoria. Se puede lograr que todas las instrucciones tengan la misma longitud. la CPU dispone de un repertorio corto de instrucciones sencillas. Pero también el núcleo del procesador puede estar embebido (embeddedprocessor core) en un circuito integrado de alta escala de integración. Por ejemplo. Cada instrucción puede realizar una operación muy simple. configurable por el usuario. 1. 1. por tener la misma CPU y ejecutar el mismo repertorio de instrucciones. entre los que están los FPGA (Field . En la arquitectura RISC. en la complejidad del hardware de la CPU. Los microcontroladores de un mismo tipo forman una familia.ellos ha predominado la arquitectura Harvard. Las instrucciones tenían diferente longitud y los modos de direccionamiento se hicieron cada vez más elaborados. en cantidad y tipo. La complejidad de la CPU disminuye. de modo que es fácil aumentar la frecuencia del oscilador de la CPU y con ello la velocidad de las instrucciones. Los miembros de una familia de microcontroladores tienen el mismo núcleo. desde el punto de vista de la concepción de su repertorio de instrucciones. Como tienen menos transistores. pero a alta velocidad. Tal es el caso de los denominados Dispositivos Lógicos Programables (PLD: Programmable Logic Devices). como por ejemplo mover un dato desde la memoria al acumulador. y ejecutan el mismo repertorio de instrucciones. que se caracteriza. lo cual repercute directamente sobre la arquitectura de la CPU. todos los microcontroladores de la familia del 8051 (MCS51) tienen una CPU semejante. Al aparecer los microprocesadores y los microcontroladores. Desde mediados del octavo decenio del siglo XX. como mover un dato entre la CPU y la memoria. son más baratas de diseñar y producir. de modo que el modelo predominante fue el CISC. que contienen exclusivamente al microcontrolador o microprocesador. Es lo que se conoce como "núcleo" (core) del microcontrolador. Este aumento en la complejidad de las instrucciones se reflejó.4 Tipos de Microcontroladores y sus fabricantes. pero se diferencian en la entrada y salida y en la memoria. ésta ha sido la tendencia predominante en el diseño de microprocesadores y microcontroladores. Hay pocos modos de direccionamiento de los datos y son aplicables a todas las celdas de la memoria de datos.

ARC 700. ARM9. • ARC Intemational. . • Cypress Microsystems. • Cradle Technologies. • Cyan Technology. ARMll. Uno de estos elementos puede ser el núcleo de un microcontrolador o un microprocesador. FPGA con núcleos Nios 11. • Goal Semiconductor. Procesadores para redes de datos y comunicaciones con arquitectura MIPS. Microprocesadores compatibles con xx86. • Cambridge Consultants. Microcontrolador eCOClk. etc. PowerPCySPARC. Así se puede configurar un microcontrolador "a la medida" de la necesidad de la aplicación. cuya interconexión es programable por el usuario. • Analog Devices. etc. • Cirrus Logic.Programmable Gate Array). Arquitecturas basadas en el microprocesador PowerPC. FPGA con núcleos 8051 y ARM7. Arquitecturas basadas en MIPS. • Applied Micro Circuits Corp. Arquitecturas basadas en los procesadores ARC 600. Hay un número elevado de compañías que fabrican microcontroladores y microprocesadores en alguna de las formas mencionadas anteriormente. Arquitecturas basadas en los núcleos de los procesadores XAPl. • ARM. pues tiene su mismo núcleo. Microcontroladores EM6812 de muy bajo consumo. F2MC-8FX. (AMCq. Arquitecturas basadas en ARM. cuya conexión a cierta cantidad de memoria y a dispositivos de entrada y salida disponibles en el PLD. • Broadcom. Microcontroladores compatibles con 8051. ARM9. HyNet32S. ASICs con microcontrolador P-51. • Cavium Networks. Arquitecturas basadas en los núcleos de los procesadores ARM7. ARM7 y otros procesadores. • Cybernetic Micro Systems. es programable por el usuario. como el 8051 o un PIC. 68HC12 y 68HC16. • Advanced Micro Devices (AMD). • Freescale Semiconductor (procede de Motorola). • Altera. Los PLD en general y los FPGA en particular. Procesadores ColdFire y PowerQuicc con núcleo PowerPC. etc. A continuación se presenta una relación de fabricantes de microcontroladores y microprocesadores ( o de dispositivos que utilizan la arquitectura de un determinado microcontrolador o microprocesador). • Hyperstone. Arquitecturas basadas en 8051. 68HC11. Arquitecturas basadas en Marc 4. con el correspondiente comentario acerca de los dispositivos que fabrica. • Holtek Semiconductor. • Fujitsu Microelectronics America. . Microcontroladores de las familias 68HC05. • Atmel. Procesadores digitales de señales (DSP: Digital Signa[ Processor). • Actel. Arquitecturas para procesamiento digital de señales basadas en núcleos 8052. 68HC08. ARMlO. etc. MB9140x. Procesadores digitales de señales: CT3400 y CT3600. Dispositivos con arquitectura PSoC (Programmable System-onChip). Microcontroladores FR80. A VR. • EM Microelectronics. con la ventaja de ser compatible con un microprocesador o un microcontrolador "estándar". Microcontrolador HT8. Procesadores digitales de señales El-32XSR/XSRU. son circuitos de alta escala de integración que disponen de un conjunto de elementos. ARM7. 8051. XAP2 y XAP3. • Dallas Semiconductor.

Procesadores MIPS (Microprocessor without Interlocked Pipeline Stages). Microcontroladores de las familias MCS51. • MIPS Technologies. Procesadores basados en núcleos ARM7 y ARM9. • Rabbit Semiconductor. FPGA con núcleos PowerPC. • Xilinx. • lnfrant Technologies. • NetSilicon. • PMC-Sierra. • Xemics. microcontroladores MSP430. • ZiLOG. Procesadores Rabbit 2000 y 3000. • National Semiconductor. • Renesas Tech. Microcontroladores R8. • Integrated Device Technology (IDT). • Texas Instruments (TI). C800. • Sharp Microelectronics. MCS151. • NXP (antes Philips Semiconductors). Microcontroladores C500. etc. • STMicroelectronics. Microcontroladores con núcleo 8051. etc. V850 y otros. (antes Hitachi). Microcontroladores de 8 bits con arquitecturas Z8 y Z80. • Toshiba America Electronic Components. • Silicon Laboratories. • NEC Electronics America. • Silicon Storage Technology. TriCore. . IXP4xx. Microcontroladores con núcleo 8051. • Ubicom. MCS96. ARM7 y ARM9. Microcontroladores CISC y RISC. • Microchip Technology. H8 y otros. Microcontroladores 78KO. Microcontroladores con núcleo ARM. Microcontroladores SX. Corp. Microcontroladores COP8. • Oki Semiconductor. Microprocesadores xx86. Procesadores para comunicaciones de datos basados en arquitectura MIPS. Procesadores digitales de señales TMS370 y TMS470. C166. IP2000 e IP3000. CR16 y microprocesadores NS32000. Microcontroladores BlueStreak con núcleo ARM7 y ARM9. MCS296. Microcontroladores con núcleo 8051. etc. Microcontroladores con núcleo CoolRISC. Microcontroladores para redes de datos. MCS251. Procesadores basados en MIPS. • Intel. Microcontroladores con núcleos 8051 y ARM7.• Infineon Technologies (antes Siemens). Microcontroladores PIC (PICmicro) y controladores digitales de señales dsPIC.

La velocidad de ejecución de las instrucciones del programa está en relación directa con la frecuencia del oscilador del microcontrolador. . etc. Las partes principales de un microcontrolador son: 1.) 5. la unidad central de procesamiento (CPU). pero con unas características fijas que no pueden alterarse. aunque generalmente se prefiere que esté controlado por un cristal de cuarzo (XTAL) debido a su gran estabilidad de frecuencia. Líneas de EIS para los controladores de periféricos: a) Comunicación paralelo b) Comunicación serie c) Diversas puertas de comunicación (bus l2ºC.1 Componentes del Microcontrolador Un microcontrolador combina los recursos fundamentales disponibles en un microcomputador. Memoria de lectura y escritura para guardar los datos 4. la memoria y los recursos de entrada y salida. Los microcontroladores disponen de un oscilador que genera los pulsos que sincronizan todas las operaciones internas. Procesador 2. Memoria no volátil para contener el programa 3. en un único circuito integrado.2 Arquitectura interna de un microcontrolador Un microcontrolador posee todos los componentes de un computador. es decir. El oscilador puede ser del tipo RC. Recursos auxiliares: a) Circuito de reloj b) Temporizadores c) Perro Guardíán («watchdog») d) Conversores AD y DA e) Comparadores analógicos f) Protección ante fallos de la alimentación g) Estado de reposo o de bajo consumo 2. USB.

uno de los datos debe estar en el ACC y el resultado se obtiene en el ACC. pero la costumbre ha dejado el nombre de RAM para las memorias de lectura y escritura. más se tarda en localizarlo. El término "acceso aleatorio" se refiere a que el tiempo necesario para localizar un dato no depende del lugar de la memoria donde esté almacenado. El Puntero de la Pila (SP: Stack Pointer) es el registro que almacena direcciones de datos en la pila. Este registro es indispensable para el direccionamiento indirecto de datos en la memoria. el tipo de paridad (par o impar) del resultado. En las memorias de acceso secuencial. el Contador de Programa. apuntando así a la siguiente instrucción. El RDD toma diferentes nombres según el microcontrolador. desde la memoria donde están almacenadas. El Acumulador (ACC: Accumulator) es el registro asociado a las operaciones aritméticas y lógicas que se pueden realizar en la ALU. el Registro de Direcciones de Datos y el Puntero de la Pila. es decir. Esta unidad trae las instrucciones del programa. el Acumulador. el PC se incrementa. algunos de propósito general y otros para propósitos específicos. etc. La memoria ROM es una memoria de solo lectura y no volátil. La memoria del microcontrolador es el lugar donde son almacenadas las instrucciones del programa y los datos que manipula. Los microcontroladores PIC carecen de registro SP. El RI es invisible para el programador. La memoria ROM se usa para almacenar permanentemente el programa que debe ejecutar el microcontrolador. En un microcontrolador siempre hay dos tipos de memoria: la memoria RAM (Random Access Memory) y la memoria ROM (Read On.ly Memory). cuando más alejado esté un dato de la posición a la que se ha accedido por última vez. En el capítulo 4 se estudian con detalle la pila y el registro SP. EPROM. La memoria RAM es una memoria de lectura y escritura. las interpreta (descodifica) y hace que se ejecuten. El Registro de Direcciones de Datos (RDD) almacena direcciones de datos situados en la memoria. la CPU es el "cerebro" del microcontrolador. Entre estos indicadores están el signo el resultado (si es positivo o negativo). Tanto la memoria RAM como las memorias ROM son de acceso aleatorio. El Contador de Programa (PC: Program Counter) es el registro de la CPU donde se almacenan direcciones de instrucciones. que además es volátil. si el resultado es cero. Las instrucciones de transferencia de control modifican el valor del PC. El Registro de Instrucción (RI) almacena la instrucción que está siendo ejecutada por la CPU. En los PIC. el PC contiene la dirección de la instrucción que será ejecutada a continuación. una a una. Entre estos últimos están el Registro de Instrucción. Un número creciente de microcontroladores dispone de alguna memoria . La CPU de un microcontrolador dispone de diferentes registros. Cada vez que la CPU busca una instrucción en la memoria. que tienen en cambio el registro W (Working Register). EEPROM. En un instante de tiempo dado. FLASH) se estudian en el capítulo 3. el RDD es el registro FSR (File Select Register). pierde la información almacenada cuando falta la energía que alimenta la memoria. El ACC no existe en los microcontroladores PIC. con características muy parecidas a las del ACC. en cambio. Las diferentes tecnologías para realizar las memorias de solo lectura (ROM. El Registro de Estado (STATUS) agrupa los bits indicadores de las características del resultado de las operaciones aritméticas y lógicas realizadas en la ALU. En la memoria RAM se almacenan temporalmente los datos con los que trabaja el programa. OTP. si hay acarreo o préstamo. el Registro de Estado. En la CPU se incluyen los circuitos de la ALU para realizar operaciones aritméticas y lógicas elementales con los datos binarios.Igual que en un microcomputador. En cualquier operación.

etc. los temporizadores y la gestión de las interrupciones. pues a través de ella el microcontrolador interacciona con el exterior. a través de un sistema de buses. Es decir. un mismo terminal puede estar conectado internamente a más de un bloque de entrada y salida. Esto obedece a dos razones: la primera es que la gran mayoría de las aplicaciones requieren programas que manejan pocos datos. como el denominado perro guardián. La segunda razón es que la memoria RAM ocupa mucho más espacio en el circuito integrado que la memoria ROM. de modo que es mucho más costosa que ésta. I2C. El microcontrolador puede incluir también entradas y salidas analógicas asociadas a convertidores A/D y D / A. Tienen particular importancia los recursos que garantizan un funcionamiento seguro del microcontrolador.no volátil de tipo EEPROM para almacenar datos fijos o que sólo sean cambiados esporádicamente. Si cada bloque de entrada y salida tuviera terminales exclusivos en el microcontrolador. Forman parte de la entrada y salida los puertos paralelo y serie. etc. 2. La solución para este problema es que un número importante de terminales del circuito integrado sean compartidos por unidades de entrada y salida diferentes.1 El procesador La necesidad de conseguir elevados rendimientos en el procesamiento de las instrucciones ha desembocado en el empleo generalizado de procesadores de arquitectura Harvard frente a los tradicionales que seguían la arquitectura de von Neumann. Esta última se caracterizaba porque la CPU (Unidad Central de Proceso) se conectaba con una memoria única. entonces basta una memoria RAM en la que se pueda almacenar algunas decenas de datos. donde coexistían datos e instrucciones. La cantidad de memoria ROM disponible es normalmente muy superior a la cantidad de memoria RAM. Los puertos serie pueden ser de varios tipos. además . Los puertos paralelos se organizan en grupos de hasta 8 líneas de entradas y salidas digitales. Un requisito general para que un microcontrolador se pueda utilizar en un gran número de aplicaciones es que tenga muchos recursos de entrada y salida. las líneas de entrada y salida de un puerto serie pueden ser parte de las líneas de un puerto paralelo. Normalmente es posible manipular individualmente las líneas de los puertos paralelos. En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria de datos y cada una dispone de su propio sistema de buses para el acceso. Esta dualidad. en contra del interés general. según la norma de comunicación que implementen: RS-232C.1. La entrada y salida es particularmente importante en los microcontroladores. A la vez se desea tener esos recursos en un circuito integrado lo más pequeño posible. Este requisito está relacionado con el número de terminales del circuito integrado. USB. Por ejemplo. posiblemente no alcanzarían los terminales o habría que fabricar microcontroladores con muy pocos recursos de entrada y salida. Ethernet.

Arquitectura Harvard . de forma que la mayor parte de las instrucciones se ejecuta en un ciclo de instrucción.Segmentación 2. descomponiéndolo en etapas para poder procesar una instrucción diferente en cada una de ellas y trabajar con varias a la vez. Los altos costes de diseño e instrumental sólo aconsejan usar este tipo de memoria cuando se precisan series muy grandes. Posteriormente no se puede borrar. El alto rendimiento y elevada velocidad que alcanzan los modernos procesadores. Los tipos de memoria adecuados para soportar esta función admiten cinco versiones diferentes: ROM con máscara: En este tipo de memoria el programa se graba en el chip durante el proceso de su fabricación mediante el uso de «máscaras». que recibe el nombre de grabador. Como el programa a ejecutar siempre es el mismo. No hay posibilidad de utilizar memorias externas de ampliación.de propiciar el paralelismo. En la superficie de la cápsula del microcontrolador existe una ventana de cristal por la que se puede someter al chip de la memoria a rayos ultravioletas para producir su borrado y emplearla nuevamente. que se identifica por poseer un repertorio de instrucciones máquina pequeño y simple. que consiste en la segmentación del procesador (pipe-line). debe estar grabado de forma permanente. permite la adecuación del tamaño de las palabras y los buses a los requerimientos específicos de las instrucciones y de los datos.2 Memoria de programa El microcontrolador está diseñado para que en su memoria de programa se almacenen todas las instrucciones del programa de control. utilizando el mismo procedimiento que con la memoria EPROM. . OTP (Programable una vez): Este modelo de memoria sólo se puede grabar una vez por parte del usuario. como el que poseen los microcontroladores PIC. También la capacidad de cada memoria es diferente El procesador de los modernos microcontroladores responde a la arquitectura RISC (Computadores de Juego de Instrucciones Reducido). Otra aportación frecuente que aumenta el rendimiento del computador es el fomento del paralelismo implícito. pero su coste unitario es elevado.Computador tipo RISC . se debe a la conjunción de tres técnicas: . Su bajo precio y la sencillez de la grabación aconsejan este tipo de memoria para prototipos finales y series de producción cortas.1. Es interesante la memoria EPROM en la fase de diseño y depuración de los programas. EPROM: La grabación de esta memoria se realiza mediante un dispositivo físico gobernado desde un computador personal.

En la actualidad Microchip tiene abierta una línea de PIC con memoria Flash cada vez más extensa y utilizada. Se trata del PIC 16C84 y el PIC 16F84. respectivamente. que se puede escribir y borrar en circuito al igual que las EEPROM. etc. por lo que la memoria RAM estática (SRAM) es la más adecuada. Hay microcontroladores que también disponen como memoria de datos una de lectura y escritura no volátil. Son muy recomendables en aplicaciones en las que sea necesario modificar el programa a lo largo de la vida del producto. pero suelen disponer de mayor capacidad que estas últimas. todavía su tecnología de fabricación tiene obstáculos para alcanzar capacidades importantes y el tiempo de escritura de las mismas es relativamente grande y con elevado consumo de energía. 2. FLASH: Se trata de una memoria no volátil. el PIC16F83 y el PIC16F84 disponen de 64 bytes de memoria EEPROM para contener datos. que está disponible al reiniciarse el programa.000 ciclos de escritura-borrado. el USB. o sea.1. que sólo se diferencian en que la memoria de programa de uno de ellos es tipo EEPROM y la del otro tipo Flash. que reciben el nombre de Puertas. Hay modelos con líneas que soportan la comunicación en serie. pero el borrado es mucho más sencillo al poderse efectuar de la misma forma que el grabado. Sin necesidad de sacar el circuito integrado del zócalo del grabador pueden ser escritas y borradas numerosas veces. Sobre el mismo zócalo del grabador puede ser programada y borrada tantas veces como se quiera. El borrado sólo es posible con bloques completos y no se puede realizar sobre posiciones concretas. Líneas de E/S para los controladores de periféricos A excepción de dos patitas destinadas a recibir la alimentación. 2. 2. Por sus mejores prestaciones está sustituyendo a la memoria EEPROM para contener instrucciones. eléctricamente. aunque sea volátil.5.1.3 Memoria de datos Los datos que manejan los programas varían continuamente. Las líneas de E/S que se adaptan con los periféricos manejan información en paralelo y se agrupan en conjuntos de ocho. La memoria tipo EEPROM y la tipo Flash pueden escribirse y borrarse eléctricamente. y una más para provocar el Reset. Aunque se garantiza 1. como sucede con los vehículos. que regula la frecuencia de trabajo.EEPROM: La grabación es similar a las memorias OTP y EPROM. otros disponen de conjuntos de líneas que implementan puertas de comunicación para diversos protocolos. En las FLASH se garantizan 1. como el I2ºC. del tipo EEPROM. Recursos auxiliares . De esta forma.000 de ciclos de escritura/borrado en una EEPROM. y esto exige que la memoria que les contiene debe ser de lectura y escritura. El fabuloso PIC16C84 dispone de 1 K palabras de memoria EEPROM para contener instrucciones y también tiene algunos bytes de memoria de datos de este tipo para evitar que cuando se retira la alimentación se pierda información. las restantes patitas de un microcontrolador sirven para soportar su comunicación con los periféricos externos que controla. lo cual la hace ideal en la enseñanza y en la creación de nuevos proyectos.000. De esta forma Microchip comercializa dos microcontroladores prácticamente iguales. otras dos para el cristal de cuarzo. como consecuencia del desgaste o cambios de piezas.1. de bajo consumo. El PIC16C84. un corte en el suministro de la alimentación no ocasiona la pérdida de la información.4.

que determina la cantidad de bits que pueden procesar simultáneamente. 32 ó 64 bits). encargado de generar los impulsos que sincronizan el funcionamiento de todo el sistema. f) Sistema de protección ante fallos de la alimentación. 2. e) Comparadores analógicos. d) Conversores AD y DA. incorpora una diversidad de complementos que refuerzan la potencia y la flexibilidad del dispositivo.Según las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador. 2. en el que el sistema queda «congelado» y el consumo de energía se reduce al mínimo. destinado a provocar una reinicialización cuando el programa queda bloqueado. para poder recibir y enviar señales analógicas. g) Estado de Reposo. orientados a controlar tiempos.2 Registros internos. para verificar el valor de una señal analógica. c) Perro Guardián («watchdog»). 16.4 Periféricos internos. 2.5 Las instrucciones del microcontrolador . Un parámetro importante en los microprocesadores es el tamaño de sus registros internos (8. b) Temporizadores. Entre los recursos más comunes se citan a los siguientes: a) Circuito de reloj. 2.3 Tipos y distribución de las memorias internas.