b'\n_START_ARTICLE_\nMicrocontrolador\n_START_PARAGRAPH_\nUn microcontrolador (abreviado \xce\xbcC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las \xc3\xb3rdenes grabadas en su memoria. Est\xc3\xa1 compuesto de varios bloques funcionales que cumplen una tarea espec\xc3\xadfica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y perif\xc3\xa9ricos de entrada/salida._NEWLINE_Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja potencia (mW o microwatts). Por lo general, tendr\xc3\xa1 la capacidad de mantenerse a la espera de un evento como pulsar un bot\xc3\xb3n o de otra interrupci\xc3\xb3n; as\xc3\xad, el consumo de energ\xc3\xada durante el estado de reposo (reloj de la CPU y los perif\xc3\xa9ricos de la mayor\xc3\xada) puede ser s\xc3\xb3lo de nanowatts, lo que hace que muchos de ellos sean muy adecuados para aplicaciones con bater\xc3\xada de larga duraci\xc3\xb3n. Otros microcontroladores pueden servir para roles de rendimiento cr\xc3\xadtico, donde sea necesario actuar m\xc3\xa1s como un procesador digital de se\xc3\xb1al (DSP), con velocidades de reloj y consumo de energ\xc3\xada m\xc3\xa1s altos._NEWLINE_Cuando es fabricado el microcontrolador, no contiene datos en la memoria ROM. Para que pueda controlar alg\xc3\xban proceso es necesario generar o crear y luego grabar en la EEPROM o equivalente del microcontrolador alg\xc3\xban programa, el cual puede ser escrito en lenguaje ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el programa pueda ser grabado en la memoria del microcontrolador, debe ser codificado en sistema num\xc3\xa9rico hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador cuando \xc3\xa9ste es alimentado con el voltaje adecuado y asociado a dispositivos anal\xc3\xb3gicos y discretos para su funcionamiento.\xe2\x80\x8b\n_START_SECTION_\nHistoria\n_START_PARAGRAPH_\nEl primer microprocesador fue el Intel 4004 de 4 bits, lanzado en 1971, seguido por el Intel 8008 y otros m\xc3\xa1s capaces. Sin embargo, ambos procesadores requieren circuitos adicionales para implementar un sistema de trabajo, elevando el costo del sistema total._NEWLINE_El Instituto Smithsoniano dice que los ingenieros de Texas Instruments Gary Boone y Michael Cochran lograron crear el primer microcontrolador, TMS 1000, en 1971; fue comercializado en 1974. Combina memoria ROM, memoria RAM, microprocesador y reloj en un chip y estaba destinada a los sistemas embebidos.\xe2\x80\x8b_NEWLINE_Debido en parte a la existencia del TMS 1000,\xe2\x80\x8b Intel desarroll\xc3\xb3 un sistema de ordenador en un chip optimizado para aplicaciones de control, el Intel 8048, que comenz\xc3\xb3 a comercializarse en 1977.\xe2\x80\x8b Combina memoria RAM y ROM en el mismo chip y puede encontrarse en m\xc3\xa1s de mil millones de teclados de compatible IBM PC, y otras numerosas aplicaciones. El en ese momento presidente de Intel, Luke J. Valenter, declar\xc3\xb3 que el microcontrolador es uno de los productos m\xc3\xa1s exitosos en la historia de la compa\xc3\xb1\xc3\xada, y ampli\xc3\xb3 el presupuesto de la divisi\xc3\xb3n en m\xc3\xa1s del 25%. _NEWLINE_La mayor\xc3\xada de los microcontroladores en aquel momento ten\xc3\xadan dos variantes. Unos ten\xc3\xadan una memoria EPROM reprogramable, significativamente m\xc3\xa1s caros que la variante PROM que era s\xc3\xb3lo una vez programable. Para borrar la EPROM necesita exponer a la luz ultravioleta la tapa de cuarzo transparente. Los chips con todo opaco representaban un coste menor._NEWLINE_En 1993, el lanzamiento de la EEPROM en los microcontroladores (comenzando con el Microchip PIC16x84)\xe2\x80\x8b  permite borrarla el\xc3\xa9ctrica y r\xc3\xa1pidamente sin necesidad de un paquete costoso como se requiere en EPROM, lo que permite tanto la creaci\xc3\xb3n r\xc3\xa1pida de prototipos y la programaci\xc3\xb3n en el sistema. El mismo a\xc3\xb1o, Atmel lanza el primer microcontrolador que utiliza memoria flash.\xe2\x80\x8b Otras compa\xc3\xb1\xc3\xadas r\xc3\xa1pidamente siguieron el ejemplo, con los dos tipos de memoria._NEWLINE_El costo se ha desplomado en el tiempo, con el m\xc3\xa1s barato microcontrolador de 8 bits disponible por menos de 0,25 d\xc3\xb3lares para miles de unidades en 2009,  y algunos microcontroladores de 32 bits a 1 d\xc3\xb3lar por cantidades similares. En la actualidad los microcontroladores son baratos y f\xc3\xa1cilmente disponibles para los aficionados, con grandes comunidades en l\xc3\xadnea para ciertos procesadores._NEWLINE_En el futuro, la MRAM podr\xc3\xada ser utilizada en microcontroladores, ya que tiene resistencia infinita y el coste de su oblea semiconductora es relativamente bajo.\n_START_SECTION_\nCaracter\xc3\xadsticas\n_START_PARAGRAPH_\nLos microcontroladores est\xc3\xa1n dise\xc3\xb1ados para reducir el costo econ\xc3\xb3mico y el consumo de energ\xc3\xada de un sistema en particular. Por eso el tama\xc3\xb1o de la unidad central de procesamiento, la cantidad de memoria y los perif\xc3\xa9ricos incluidos depender\xc3\xa1n de la aplicaci\xc3\xb3n. El control de un electrodom\xc3\xa9stico sencillo como una batidora utilizar\xc3\xa1 un procesador muy peque\xc3\xb1o (4 u 8 bits) porque sustituir\xc3\xa1 a un aut\xc3\xb3mata finito. En cambio, un reproductor de m\xc3\xbasica y/o v\xc3\xaddeo digital (MP3 o MP4) requerir\xc3\xa1 de un procesador de 32 bits o de 64 bits y de uno o m\xc3\xa1s c\xc3\xb3decs de se\xc3\xb1al digital (audio y/o v\xc3\xaddeo). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bits, al igual que el sistema de control electr\xc3\xb3nico del motor en un autom\xc3\xb3vil._NEWLINE_Los microcontroladores representan la inmensa mayor\xc3\xada de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSP m\xc3\xa1s especializados. Mientras se pueden tener uno o dos microprocesadores de prop\xc3\xb3sito general en casa (Ud. est\xc3\xa1 usando uno para esto), usted tiene distribuidos seguramente entre los electrodom\xc3\xa9sticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electr\xc3\xb3nico como autom\xc3\xb3viles, lavadoras, hornos microondas, tel\xc3\xa9fonos, etc._NEWLINE_Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que es m\xc3\xa1s f\xc3\xa1cil convertirla en una computadora en funcionamiento, con un m\xc3\xadnimo de circuitos integrados externos de apoyo. La idea es que el circuito integrado se coloque en el dispositivo, enganchado a la fuente de energ\xc3\xada y de informaci\xc3\xb3n que necesite, y eso es todo. Un microprocesador tradicional no le permitir\xc3\xa1 hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los m\xc3\xb3dulos de entrada y salida (puertos) y la memoria para almacenamiento de informaci\xc3\xb3n._NEWLINE_Un microcontrolador t\xc3\xadpico tendr\xc3\xa1 un generador de reloj integrado y una peque\xc3\xb1a cantidad de memoria de acceso aleatorio y/o ROM/EPROM/EEPROM/flash, con lo que para hacerlo funcionar todo lo que se necesita son unos pocos programas de control y un cristal de sincronizaci\xc3\xb3n. Los microcontroladores disponen generalmente tambi\xc3\xa9n de una gran variedad de dispositivos de entrada/salida, como convertidor anal\xc3\xb3gico digital, temporizadores, UARTs y buses de interfaz serie especializados, como I\xc2\xb2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programaci\xc3\xb3n integrado, como el lenguaje de programaci\xc3\xb3n BASIC que se utiliza bastante con este prop\xc3\xb3sito._NEWLINE_Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuiter\xc3\xada.\n_START_SECTION_\nArquitecturas de computadora\n_START_PARAGRAPH_\nB\xc3\xa1sicamente existen dos arquitecturas de computadoras, y por supuesto, est\xc3\xa1n presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexi\xc3\xb3n de la memoria al procesador y en los buses que cada una necesita.\n_START_SECTION_\nArquitectura Von Neumann\n_START_PARAGRAPH_\nLa arquitectura Von Neumann utiliza el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos, siendo la que se utiliza en un ordenador personal porque permite ahorrar una buena cantidad de l\xc3\xadneas de E/S, que son bastante costosas, sobre todo para aquellos sistemas donde el procesador se monta en alg\xc3\xban tipo de z\xc3\xb3calo alojado en una placa madre. Tambi\xc3\xa9n esta organizaci\xc3\xb3n les ahorra a los dise\xc3\xb1adores de placas madre una buena cantidad de problemas y reduce el costo de este tipo de sistemas._NEWLINE_En un ordenador personal, cuando se carga un programa en memoria, a \xc3\xa9ste se le asigna un espacio de direcciones de la memoria que se divide en segmentos, de los cuales t\xc3\xadpicamente tendremos los siguientes: c\xc3\xb3digo (programa), datos y pila. Es por ello que podemos hablar de la memoria como un todo, aunque existan distintos dispositivos f\xc3\xadsicos en el sistema (disco duro, memoria RAM, memoria flash, unidad de disco \xc3\xb3ptico...)._NEWLINE_En el caso de los microcontroladores, existen dos tipos de memoria bien definidas: memoria de datos (t\xc3\xadpicamente alg\xc3\xban tipo de SRAM) y memoria de programas (ROM, PROM, EEPROM, flash u de otro tipo no vol\xc3\xa1til). En este caso la organizaci\xc3\xb3n es distinta a las del ordenador personal, porque hay circuitos distintos para cada memoria y normalmente no se utilizan los registros de segmentos, sino que la memoria est\xc3\xa1 segregada y el acceso a cada tipo de memoria depende de las instrucciones del procesador._NEWLINE_A pesar de que en los sistemas integrados con arquitectura Von Neumann la memoria est\xc3\xa9 segregada, y existan diferencias con respecto a la definici\xc3\xb3n tradicional de esta arquitectura; los buses para acceder a ambos tipos de memoria son los mismos, del procesador solamente salen el bus de datos, el de direcciones, y el de control. Como conclusi\xc3\xb3n, la arquitectura no ha sido alterada, porque la forma en que se conecta la memoria al procesador sigue el mismo principio definido en la arquitectura b\xc3\xa1sica._NEWLINE_Algunas familias de microcontroladores como la Intel 8051 y la Z80 implementan este tipo de arquitectura, fundamentalmente porque era la utilizada cuando aparecieron los primeros microcontroladores.\n_START_SECTION_\nArquitectura Harvard\n_START_PARAGRAPH_\nLa otra variante es la arquitectura Harvard, y por excelencia la utilizada en supercomputadoras, en los microcontroladores, y sistemas integrados en general. En este caso, adem\xc3\xa1s de la memoria, el procesador tiene los buses segregados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control._NEWLINE_La ventaja fundamental de esta arquitectura es que permite adecuar el tama\xc3\xb1o de los buses a las caracter\xc3\xadsticas de cada tipo de memoria; adem\xc3\xa1s, el procesador puede acceder a cada una de ellas de forma simult\xc3\xa1nea, lo que se traduce en un aumento significativo de la velocidad de procesamiento. T\xc3\xadpicamente los sistemas con esta arquitectura pueden ser dos veces m\xc3\xa1s r\xc3\xa1pidos que sistemas similares con arquitectura Von Neumann._NEWLINE_La desventaja est\xc3\xa1 en que consume muchas l\xc3\xadneas de E/S del procesador; por lo que en sistemas donde el procesador est\xc3\xa1 ubicado en su propio encapsulado, solo se utiliza en supercomputadoras. Sin embargo, en los microcontroladores y otros sistemas integrados, donde usualmente la memoria de datos y programas comparten el mismo encapsulado que el procesador, este inconveniente deja de ser un problema serio y es por ello que encontramos la arquitectura Harvard en la mayor\xc3\xada de los microcontroladores._NEWLINE_Por eso es importante recordar que un microcontrolador se puede configurar de diferentes maneras, siempre y cuando se respete el tama\xc3\xb1o de memoria que este requiera para su correcto funcionamiento.\n_START_SECTION_\nProcesador en detalle\n_START_PARAGRAPH_\nEn los a\xc3\xb1os 1970, la electr\xc3\xb3nica digital no estaba suficientemente desarrollada, pero dentro de la electr\xc3\xb3nica ya era una especialidad consagrada. En aquel entonces las computadoras se dise\xc3\xb1aban para que realizaran algunas operaciones muy simples, y si se quer\xc3\xada que estas m\xc3\xa1quinas pudiesen hacer cosas diferentes, era necesario realizar cambios bastante significativos al hardware._NEWLINE_A principios de la d\xc3\xa9cada de 1970, una empresa japonesa le encarg\xc3\xb3 a una joven compa\xc3\xb1\xc3\xada norteamericana que desarrollara un conjunto de circuitos para producir una calculadora de bajo costo. Intel se dedic\xc3\xb3 de lleno a la tarea y entre los circuitos encargados desarroll\xc3\xb3 uno muy especial, algo no creado hasta la fecha: el primer microprocesador integrado._NEWLINE_El Intel 4004 sali\xc3\xb3 al mercado en 1971, es una m\xc3\xa1quina digital sincr\xc3\xb3nica compleja, como cualquier otro circuito l\xc3\xb3gico secuencial sincr\xc3\xb3nico. Sin embargo, la ventaja de este componente est\xc3\xa1 en que aloja internamente un conjunto de circuitos digitales que pueden hacer operaciones corrientes para el c\xc3\xa1lculo y procesamiento de datos, pero desde una \xc3\xb3ptica diferente: sus entradas son una serie de c\xc3\xb3digos bien definidos, que permiten hacer operaciones de car\xc3\xa1cter espec\xc3\xadfico cuyo resultado est\xc3\xa1 determinado por el tipo de operaci\xc3\xb3n y los operandos involucrados._NEWLINE_Visto as\xc3\xad, no hay nada de especial en un microprocesador; la maravilla est\xc3\xa1 en que la combinaci\xc3\xb3n adecuada de los c\xc3\xb3digos de entrada, su ejecuci\xc3\xb3n secuencial, el poder saltar hacia atr\xc3\xa1s o adelante en la secuencia de c\xc3\xb3digos sobre la base de decisiones l\xc3\xb3gicas u \xc3\xb3rdenes espec\xc3\xadficas, permite que la m\xc3\xa1quina realice gran cantidad de operaciones complejas, no contempladas en los simples c\xc3\xb3digos b\xc3\xa1sicos._NEWLINE_Hoy estamos acostumbrados a los sistemas con microprocesadores, pero en el lejano 1971 esta era una forma de pensar un poco diferente y hasta escandalosa, a tal punto que Busicom, la empresa que encarg\xc3\xb3 los chips a Intel, no se mostr\xc3\xb3 interesada en el invento, por lo que Intel lo comercializ\xc3\xb3 para otros que mostraron inter\xc3\xa9s; el resto es historia: una revoluci\xc3\xb3n sin precedentes en el avance tecnol\xc3\xb3gico de la humanidad._NEWLINE_Es l\xc3\xb3gico pensar que el invento del microprocesador integrado no fue una revelaci\xc3\xb3n divina para sus creadores, sino que se sustent\xc3\xb3 en los avances, existentes hasta el momento, en el campo de la electr\xc3\xb3nica digital y las teor\xc3\xadas sobre computaci\xc3\xb3n. Pero sin lugar a dudas fue la gota que colm\xc3\xb3 la copa de la revoluci\xc3\xb3n cient\xc3\xadfico-t\xc3\xa9cnica, porque permiti\xc3\xb3 desarrollar aplicaciones impensadas o acelerar algunas ya encaminadas._NEWLINE_Ahora comenzaremos a ver c\xc3\xb3mo es que est\xc3\xa1 hecho un procesador, no ser\xc3\xa1 una explicaci\xc3\xb3n demasiado detallada porque desde su invenci\xc3\xb3n \xc3\xa9ste ha tenido importantes revoluciones propias, pero hay aspectos b\xc3\xa1sicos que no han cambiado y que constituyen la base de cualquier microprocesador._NEWLINE_En la Figura \'Esquema de un microcontrolador\' podemos ver la estructura t\xc3\xadpica de un microprocesador, con sus componentes fundamentales, claro est\xc3\xa1 que ning\xc3\xban procesador real se ajusta exactamente a esta estructura, pero aun as\xc3\xad nos permite conocer cada uno de sus elementos b\xc3\xa1sicos y sus interrelaciones.\n_START_SECTION_\nRegistros\n_START_PARAGRAPH_\nSon un espacio de memoria muy reducido pero necesario para cualquier microprocesador, de aqu\xc3\xad se toman los datos para varias operaciones que debe realizar el resto de los circuitos del procesador. Los registros sirven para almacenar los resultados de la ejecuci\xc3\xb3n de instrucciones, cargar datos desde la memoria externa o almacenarlos en ella._NEWLINE_Aunque la importancia de los registros parezca trivial, no lo es en absoluto. De hecho una parte de los registros, la destinada a los datos, es la que determina uno de los par\xc3\xa1metros m\xc3\xa1s importantes de cualquier microprocesador. Cuando escuchamos que un procesador es de 4, 8, 16, 32 o 64 bits, nos estamos refiriendo a procesadores que realizan sus operaciones con registros de datos de ese tama\xc3\xb1o, y por supuesto, esto determina muchas de las potencialidades de estas m\xc3\xa1quinas._NEWLINE_Mientras mayor sea el n\xc3\xbamero de bits de los registros de datos del procesador, mayores ser\xc3\xa1n sus prestaciones, en cuanto a poder de c\xc3\xb3mputo y velocidad de ejecuci\xc3\xb3n, ya que este par\xc3\xa1metro determina la potencia que se puede incorporar al resto de los componentes del sistema, por ejemplo, no tiene sentido tener una ALU de 16 bits en un procesador de 8 bits._NEWLINE_Por otro lado un procesador de 16 bits, puede que haga una suma de 16 bits en un solo ciclo de m\xc3\xa1quina, mientras que uno de 8 bits deber\xc3\xa1 ejecutar varias instrucciones antes de tener el resultado, aun cuando ambos procesadores tengan la misma velocidad de ejecuci\xc3\xb3n para sus instrucciones. El procesador de 16 bits ser\xc3\xa1 m\xc3\xa1s r\xc3\xa1pido porque puede hacer el mismo tipo de tareas que uno de 8 bits, en menos tiempo.\n_START_SECTION_\nUnidad de control\n_START_PARAGRAPH_\nEsta unidad es de las m\xc3\xa1s importantes en el procesador, en ella recae la l\xc3\xb3gica necesaria para la decodificaci\xc3\xb3n y ejecuci\xc3\xb3n de las instrucciones, el control de los registros, la ALU, los buses y cuanta cosa m\xc3\xa1s se quiera meter en el procesador. _NEWLINE_La unidad de control es uno de los elementos fundamentales que determinan las prestaciones del procesador, ya que su tipo y estructura determina par\xc3\xa1metros tales como el tipo de conjunto de instrucciones, velocidad de ejecuci\xc3\xb3n, tiempo del ciclo de m\xc3\xa1quina, tipo de buses que puede tener el sistema, manejo de interrupciones y un buen n\xc3\xbamero de cosas m\xc3\xa1s que en cualquier procesador van a parar a este bloque._NEWLINE_Por supuesto, las unidades de control son el elemento m\xc3\xa1s complejo de un procesador y normalmente est\xc3\xa1n divididas en unidades m\xc3\xa1s peque\xc3\xb1as trabajando de conjunto. La unidad de control agrupa componentes tales como la unidad de decodificaci\xc3\xb3n, unidad de ejecuci\xc3\xb3n, controladores de memoria cach\xc3\xa9, controladores de buses, controlador de interrupciones, pipelines, entre otros elementos, dependiendo siempre del tipo de procesador.\n_START_SECTION_\nUnidad aritm\xc3\xa9tico-l\xc3\xb3gica (ALU)\n_START_PARAGRAPH_\nComo los procesadores son circuitos que hacen b\xc3\xa1sicamente operaciones l\xc3\xb3gicas y matem\xc3\xa1ticas, se le dedica a este proceso una unidad completa, con cierta independencia. Aqu\xc3\xad es donde se realizan las sumas, restas, y operaciones l\xc3\xb3gicas t\xc3\xadpicas del \xc3\xa1lgebra de Boole._NEWLINE_Actualmente este tipo de unidades ha evolucionado mucho y los procesadores m\xc3\xa1s modernos tienen varias ALU, especializadas en la realizaci\xc3\xb3n de operaciones complejas como las operaciones en coma flotante. De hecho en muchos casos le han cambiado su nombre por el de \xe2\x80\x9ccoprocesador matem\xc3\xa1tico\xe2\x80\x9d, aunque este es un t\xc3\xa9rmino que surgi\xc3\xb3 para dar nombre a un tipo especial de procesador que se conecta directamente al procesador m\xc3\xa1s tradicional._NEWLINE_Su impacto en las prestaciones del procesador es tambi\xc3\xa9n importante porque, dependiendo de su potencia, tareas m\xc3\xa1s o menos complejas, pueden hacerse en tiempos muy cortos, como por ejemplo, los c\xc3\xa1lculos en coma flotante.\n_START_SECTION_\nPerif\xc3\xa9ricos\n_START_PARAGRAPH_\nCuando observamos la organizaci\xc3\xb3n b\xc3\xa1sica de un microcontrolador, se\xc3\xb1alamos que dentro de este se ubican un conjunto de perif\xc3\xa9ricos. A continuaci\xc3\xb3n describiremos algunos de los perif\xc3\xa9ricos que con mayor frecuencia encontraremos en los microcontroladores.\n_START_SECTION_\nEntradas y salidas de prop\xc3\xb3sito general\n_START_PARAGRAPH_\nTambi\xc3\xa9n conocidos como puertos de E/S, generalmente agrupadas en puertos de 8 bits de longitud, permiten leer datos del exterior o escribir en ellos desde el interior del microcontrolador, el destino habitual es el trabajo con dispositivos simples como rel\xc3\xa9s, LED, o cualquier otra cosa que se le ocurra al programador._NEWLINE_Algunos puertos de E/S tienen caracter\xc3\xadsticas especiales que le permiten manejar salidas con determinados requerimientos de corriente, o incorporan mecanismos especiales de interrupci\xc3\xb3n para el procesador._NEWLINE_T\xc3\xadpicamente cualquier pin de E/S puede ser considerada E/S de prop\xc3\xb3sito general, pero como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los pines que queramos, las E/S de prop\xc3\xb3sito general comparten los pines con otros perif\xc3\xa9ricos. Para usar un pin con cualquiera de las caracter\xc3\xadsticas a \xc3\xa9l asignadas debemos configurarlo mediante los registros destinados a ellos.\n_START_SECTION_\nTemporizadores y contadores\n_START_PARAGRAPH_\nSon circuitos sincr\xc3\xb3nicos para el conteo de los pulsos que llegan a su poder para conseguir la entrada de reloj. Si la fuente de un gran conteo es el oscilador interno del microcontrolador es com\xc3\xban que no tengan un pin asociado, y en este caso trabajan como temporizadores. Por otra parte, cuando la fuente de conteo es externa, entonces tienen asociado un pin configurado como entrada, este es el modo contador._NEWLINE_Los temporizadores son uno de los perif\xc3\xa9ricos m\xc3\xa1s habituales en los microcontroladores y se utilizan para muchas tareas, como por ejemplo, la medici\xc3\xb3n de frecuencia, implementaci\xc3\xb3n de relojes, para el trabajo de conjunto con otros perif\xc3\xa9ricos que requieren una base estable de tiempo entre otras funcionalidades. Es frecuente que un microcontrolador t\xc3\xadpico incorpore m\xc3\xa1s de un temporizador/contador e incluso algunos tienen arreglos de contadores. Como veremos m\xc3\xa1s adelante este perif\xc3\xa9rico es un elemento casi imprescindible y es habitual que tengan asociada alguna interrupci\xc3\xb3n. Los tama\xc3\xb1os t\xc3\xadpicos de los registros de conteo son 8 y 16 bits, pudiendo encontrar dispositivos que solo tienen temporizadores de un tama\xc3\xb1o o con m\xc3\xa1s frecuencia con ambos tipos de registro de conteo.\n_START_SECTION_\nConversor anal\xc3\xb3gico/digital\n_START_PARAGRAPH_\nComo es muy frecuente el trabajo con se\xc3\xb1ales anal\xc3\xb3gicas, \xc3\xa9stas deben ser convertidas a digital y por ello muchos microcontroladores incorporan un conversor anal\xc3\xb3gico-digital, el cual se utiliza para tomar datos de varias entradas diferentes que se seleccionan mediante un multiplexor._NEWLINE_Las resoluciones m\xc3\xa1s frecuentes son 8 y 10 bits, que son suficientes para aplicaciones sencillas. Para aplicaciones en control e instrumentaci\xc3\xb3n est\xc3\xa1n disponibles resoluciones de 12bit, 16bit y 24bit.\xe2\x80\x8b Tambi\xc3\xa9n es posible conectar un convertidor externo, en caso de necesidad\n_START_SECTION_\nPuerto serie\n_START_PARAGRAPH_\nEste perif\xc3\xa9rico est\xc3\xa1 presente en casi cualquier microcontrolador, normalmente en forma de UART (Universal Asynchronous Receiver Transmitter) o USART (Universal Synchronous Asynchronous Receiver Transmitter) dependiendo de si permiten o no el modo sincr\xc3\xb3nico de comunicaci\xc3\xb3n. _NEWLINE_El destino com\xc3\xban de este perif\xc3\xa9rico es la comunicaci\xc3\xb3n con otro microcontrolador o con una PC y en la mayor\xc3\xada de los casos hay que agregar circuitos externos para completar la interfaz de comunicaci\xc3\xb3n._NEWLINE_La forma m\xc3\xa1s com\xc3\xban de completar el puerto serie es para comunicarlo con una PC mediante la interfaz EIA-232 (m\xc3\xa1s conocida como RS-232), es por ello que muchas personas se refieren a la UART o USART como puerto serie RS-232, pero esto constituye un error, puesto que este perif\xc3\xa9rico se puede utilizar para interconectar dispositivos mediante otros est\xc3\xa1ndares de comunicaci\xc3\xb3n._NEWLINE_En aplicaciones industriales se utiliza preferiblemente RS-485 por sus superior alcance en distancia,  velocidad y resistencia al ruido.\n_START_SECTION_\nSPI\n_START_PARAGRAPH_\nEste tipo de perif\xc3\xa9rico se utiliza para comunicar al microcontrolador con otros microcontroladores o con perif\xc3\xa9ricos externos conectados a \xc3\xa9l, por medio de una interfaz muy sencilla. Hay solo un nodo controlador que permite iniciar cualquier transacci\xc3\xb3n, lo cual es una desventaja en sistemas complejos, pero su sencillez permite el aislamiento galv\xc3\xa1nico de forma directa por medio de optoacopladores.\n_START_SECTION_\nI2C\n_START_PARAGRAPH_\nCumple las mismas funciones que el SPI, pero requiere menos se\xc3\xb1ales de comunicaci\xc3\xb3n y cualquier nodo puede iniciar una transacci\xc3\xb3n. Es muy utilizado para conectar las tarjetas gr\xc3\xa1ficas de las computadoras personales con los monitores, para que estos \xc3\xbaltimos informen de sus prestaciones y permitir la autoconfiguraci\xc3\xb3n del sistema de v\xc3\xaddeo.\n_START_SECTION_\nUSB\n_START_PARAGRAPH_\nLos microcontroladores son los que han permitido la existencia de este sistema de comunicaci\xc3\xb3n. Es un sistema que trabaja por polling (monitorizaci\xc3\xb3n) de un conjunto de perif\xc3\xa9ricos inteligentes por parte de un amo, que es normalmente un computador personal. Cada modo inteligente est\xc3\xa1 gobernado inevitablemente por un microcontrolador.\n_START_SECTION_\nEthernet\n_START_PARAGRAPH_\nEs el sistema m\xc3\xa1s extendido en el mundo para redes de \xc3\xa1rea local cableadas. Los microcontroladores m\xc3\xa1s poderosos de 32 bits se usan para implementar perif\xc3\xa9ricos lo suficientemente poderosos como para que puedan ser accesados directamente por la red. Muchos de los enrutadores caseros de peque\xc3\xb1as empresas est\xc3\xa1n construidos sobre la base de un microcontrolador que hace del cerebro del sistema.\n_START_SECTION_\nCan\n_START_PARAGRAPH_\nEste protocolo es del tipo CSMA/CD con tolerancia a elevados niveles de tensi\xc3\xb3n de modo com\xc3\xban y orientado al tiempo real._NEWLINE_Este protocolo es el est\xc3\xa1ndar m\xc3\xa1s importante en la industria automotriz (OBD). Tambi\xc3\xa9n se usa como capa f\xc3\xadsica del "field bus" para el control industrial.\n_START_SECTION_\nOtros puertos de comunicaci\xc3\xb3n\n_START_PARAGRAPH_\nHay una enorme cantidad de otros buses disponibles para la industria automotriz (linbus) o de medios audiovisuales como el i2s, IEEE 1394. El usuario se los encontrar\xc3\xa1 cuando trabaje en alg\xc3\xban \xc3\xa1rea especializada.\n_START_SECTION_\nComparadores\n_START_PARAGRAPH_\nSon circuitos anal\xc3\xb3gicos basados en amplificadores operacionales que tienen la caracter\xc3\xadstica de comparar dos se\xc3\xb1ales anal\xc3\xb3gicas y dar como salida los niveles l\xc3\xb3gicos \xe2\x80\x980\xe2\x80\x99 o \xe2\x80\x981\xe2\x80\x99 en dependencia del resultado de la comparaci\xc3\xb3n. Es un perif\xc3\xa9rico muy \xc3\xbatil para detectar cambios en se\xc3\xb1ales de entrada de las que solamente nos interesa conocer cuando est\xc3\xa1 en un rango determinado de tensi\xc3\xb3n.\n_START_SECTION_\nModulador de ancho de pulsos\n_START_PARAGRAPH_\nLos PWM (Pulse Width Modulator) son perif\xc3\xa9ricos muy \xc3\xbatiles sobre todo para el control de motores, sin embargo hay un grupo de aplicaciones que pueden realizarse con este perif\xc3\xa9rico, dentro de las cuales podemos citar: inversi\xc3\xb3n DC/AC para UPS, conversi\xc3\xb3n digital anal\xc3\xb3gica D/A, control regulado de luz (dimming) entre otras.\n_START_SECTION_\nMemoria de datos no vol\xc3\xa1til\n_START_PARAGRAPH_\nMuchos microcontroladores han incorporado estos tipos de memoria como un perif\xc3\xa9rico m\xc3\xa1s, para el almacenamiento de datos de configuraci\xc3\xb3n o de los procesos que se controlan. Esta memoria es independiente de la memoria de datos tipo RAM o la memoria de programas, en la que se almacena el c\xc3\xb3digo del programa a ejecutar por el procesador del microcontrolador._NEWLINE_Muchos de los microcontroladores PIC incluyen este tipo de memoria, t\xc3\xadpicamente en forma de memoria EEPROM, incluso algunos de ellos permiten utilizar parte de la memoria de programas como memoria de datos no vol\xc3\xa1til, por lo que el procesador tiene la capacidad de escribir en la memoria de programas como si \xc3\xa9sta fuese un perif\xc3\xa9rico m\xc3\xa1s.'