Você está na página 1de 24

MICROCONTROLADORES

Que es un microcontrolador? Un microcontrolador es un circuito integrado que nos ofrece las posibilidades de un pequeo computador. En su interior encontramos un procesador, memoria, y varios perifricos. El secreto de los microcontroladores lo encontramos en su tamao, su precio y su diversidad. Un microcontrolador es una mquina tonta, un objeto sin razonamiento ninguno, un cubo negro con patitas metlicas que se suelda a una placa con ms o menos componentes electrnicos. Su misin al igual que cualquier ordenador personal es la misma que una calculadora. Frente a datos de entrada, sigue un programa, un algoritmo dado por un programador y cambia su estado interior. Como objetos o dispositivos de entrada o salida podemos encontrar diversos perifricos, desde simples lneas de entrada digital que pueden estar a cero o a uno, hasta complejos puertos usados en ordenadores que permiten comunicar con otros dispositivos externos como microcontroladores o PC.

MICROCONTROLADORES
Que es un microcontrolador? El diagrama de un sistema microcontrolado es as Los dispositivos de entrada pueden ser un teclado, un interruptor, un sensor, etc.

Los dispositivos de salida pueden ser LED's, pequeos parlantes, zumbadores, interruptores de potencia (tiristores, optoacopladores), u otros dispositivos como rels, luces, un secador de pelo, en fin.. lo que quieras.

MICROCONTROLADORES
Para que se usan?
La limitacin en la aplicacin de los microcontroladores a un desarrollo de ingeniera tiene su lmite en la imaginacin del desarrollador. Con los diversos modelos disponibles podemos afrontar multitud de diseos distintos desde los ms simples hasta los ms complejos. Por nombrar varios ejemplos de aplicaciones, tenemos mandos a distancia, termmetros digitales, controles de acceso por puertas de seguridad, los sistemas ABS o EPS de los carros, control y sensrica de maquinaria, domtica del hogar, microrobtica, monederos electrnicos. tenemos que tener presente es que los microcontroladores nos solucionarn la vida en todos los temas, pero el objetivo es usar el mnimo nmero de ellos y con el menor coste por unidad. La frase anterior tiene trampa, todo diseo se puede afrontar con microcontroladores, pero segn qu especificacin o escenario, no siempre ser la mejor idea usar uno solo, sino varios distribuidos. Habr aplicaciones para las que no ser posible usar un nico microcontrolador, pero si varios de ellos, bien por restricciones de funcionamiento o econmicas. Un anlisis de costes nos dar la respuesta.

MICROCONTROLADORES
Controlador y microcontrolador. Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios procesos. Por ejemplo, el controlador que regula el funcionamiento de un horno dispone de un sensor que mide constantemente su temperatura interna y, cuando traspasa los lmites prefijados, genera las seales adecuadas que accionan los efectores que intentan llevar el valor de la temperatura dentro del rango estipulado. Aunque el concepto de controlador ha permanecido invariable a travs del tiempo, su implementacin fsica ha variado frecuentemente. Hace tres dcadas, los controladores se construan exclusivamente con componentes de lgica discreta, posteriormente se emplearon los microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los elementos del controlador se han podido incluir en un chip, el cual recibe el nombre de microcontrolador. Realmente consiste en un sencillo pero completo computador contenido en el corazn (chip) de un circuito integrado.

MICROCONTROLADORES
Controlador y microcontrolador.

Aqu tienen una representacin en bloques del microcontrolador, y pueden ver que lo adaptamos tal y cual es un ordenador, con su fuente de alimentacin, un circuito de reloj y el chip microcontrolador, el cual dispone de su CPU, sus memorias, y sus puertos de comunicacin listos para conectarse al mundo exterior.

MICROCONTROLADORES
Definamos entonces al microcontrolador; Es un circuito integrado programable, capaz de ejecutar las rdenes grabadas en su memoria. Est compuesto de varios bloques funcionales, los cuales cumplen una tarea especfica.

Memoria ROM (Memoria de slo lectura) Memoria RAM (Memoria de acceso aleatorio) Lneas de entrada/salida (I/O) Tambin llamados puertos Lgica de control Coordina la interaccin entre los dems bloques

Procesador o UCP (Unidad Central de Proceso).

MICROCONTROLADORES
Diferencia entre microprocesador y microcontrolador. El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP), tambin llamada procesador, de un computador. La UCP est formada por la Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta. Las conexiones de un microprocesador sacan al exterior las lneas de sus buses de direcciones, datos y control, para permitir conectarle con la Memoria y los Mdulos de E/S y configurar un computador implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuracin es variable de acuerdo con la aplicacin a la que se destine.

MICROCONTROLADORES
Diferencia entre microprocesador y microcontrolador.
El modelo de microcontrolador debera tener muy potenciados todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta potenciacin supondra en muchos casos un despilfarro. En la prctica cada fabricante de microcontroladores oferta un elevado nmero de modelos diferentes, desde los ms sencillos hasta los ms poderosos. Es posible seleccionar la capacidad de las memorias, el nmero de lneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseo es la seleccin del microcontrolador a utilizar.

MICROCONTROLADORES
Aplicaciones de los microcontroladores. Cada vez existen ms productos que incorporan un microcontrolador con el fin de aumentar sustancialmente sus prestaciones, reducir su tamao y coste, mejorar su fiabilidad y disminuir el consumo. Algunos fabricantes de microcontroladores superan el milln de unidades de un modelo determinado producidas en una semana. Este dato puede dar una idea de la masiva utilizacin de estos componentes. Los microcontroladores estn siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas, frigorficos, televisores, computadoras, impresoras, mdems, el sistema de arranque de nuestro coche, etc. Y otras aplicaciones con las que seguramente no estaremos tan familiarizados como instrumentacin electrnica, control de sistemas en una nave espacial, etc. Una aplicacin tpica podra emplear varios microcontroladores para controlar pequeas partes del sistema. Estos pequeos controladores podran comunicarse entre ellos y con un procesador central, probablemente ms potente, para compartir la informacin y coordinar sus acciones, como, de hecho, ocurre ya habitualmente en cualquier PC.

MICROCONTROLADORES
Aplicaciones de los microcontroladores.

MICROCONTROLADORES
Qu microcontrolador emplear? A la hora de escoger el microcontrolador a emplear en un diseo concreto hay que tener en cuenta multitud de factores, como la documentacin y herramientas de desarrollo disponibles y su precio, la cantidad de fabricantes que lo producen y por supuesto las caractersticas del microcontrolador (tipo de memoria de programa, nmero de temporizadores, interrupciones, etc.): Costes. Como es lgico, los fabricantes de microcontroladores compiten duramente para vender sus productos. Y no les va demasiado mal ya que sin hacer demasiado ruido venden 10 veces ms microcontroladores que microprocesadores. Para que nos hagamos una idea, para el fabricante que usa el microcontrolador en su producto una diferencia de precio en el microcontrolador de algunas pesos es importante (el consumidor deber pagar adems el coste del empaquetado, el de los otros componentes, el diseo del hardware y el desarrollo del software). Si el fabricante desea reducir costes debe tener en cuenta las herramientas de apoyo con que va a contar: emuladores, simuladores, ensambladores, compiladores, etc. Es habitual que muchos de ellos siempre se decanten por microcontroladores pertenecientes a una nica familia.

MICROCONTROLADORES
Qu microcontrolador emplear?
Aplicacin. Antes de seleccionar un microcontrolador es imprescindible analizar los requisitos de la aplicacin: Procesamiento de datos: puede ser necesario que el microcontrolador realice clculos crticos en un tiempo limitado. En ese caso debemos asegurarnos de seleccionar un dispositivo suficientemente rpido para ello. Por otro lado, habr que tener en cuenta la precisin de los datos a manejar: si no es suficiente con un microcontrolador de 8 bits, puede ser necesario acudir a microcontroladores de 16 32 bits, o incluso a hardware de coma flotante. Una alternativa ms barata y quiz suficiente es usar libreras para manejar los datos de alta precisin. Entrada Salida: para determinar las necesidades de Entrada/Salida del sistema es conveniente dibujar un diagrama de bloques del mismo, de tal forma que sea sencillo identificar la cantidad y tipo de seales a controlar. Una vez realizado este anlisis puede ser necesario aadir perifricos hardware externos o cambiar a otro microcontrolador ms adecuado a ese sistema. Consumo: algunos productos que incorporan microcontroladores estn alimentados con bateras y su funcionamiento puede ser tan vital como activar una alarma antirrobo. Lo ms conveniente en un caso como ste puede ser que el microcontrolador est en estado de bajo consumo pero que despierte ante la activacin de una seal (una interrupcin) y ejecute el programa adecuado para procesarla.

MICROCONTROLADORES
Qu microcontrolador emplear? Memoria: para detectar las necesidades de memoria de nuestra aplicacin debemos separarla en memoria
voltil (RAM), memoria no voltil (ROM, EPROM, etc.) y memoria no voltil modificable (EEPROM). Este ltimo tipo de memoria puede ser til para incluir informacin especfica de la aplicacin como un nmero de serie o parmetros de calibracin. El tipo de memoria a emplear vendr determinado por el volumen de ventas previsto del producto: de menor a mayor volumen ser conveniente emplear EPROM, y ROM. En cuanto a la cantidad de memoria necesaria puede ser imprescindible realizar una versin preliminar, aunque sea en pseudo-cdigo, de la aplicacin y a partir de ella hacer una estimacin de cunta memoria voltil y no voltil es necesaria y si es conveniente disponer de memoria no voltil modificable. Ancho de palabra: el criterio de diseo debe ser seleccionar el microcontrolador de menor ancho de palabra que satisfaga los requerimientos de la aplicacin. Usar un microcontrolador de 4 bits supondr una reduccin en los costes importante, mientras que uno de 8 bits puede ser el ms adecuado si el ancho de los datos es de un byte. Los microcontroladores de 16 y 32 bits, debido a su elevado coste, deben reservarse para aplicaciones que requieran sus altas prestaciones (Entrada/Salida potente o espacio de direccionamiento muy elevado). Diseo de la placa: la seleccin de un microcontrolador concreto condicionar el diseo de la placa de circuitos. Debe tenerse en cuenta que quiz usar un microcontrolador barato encarezca el resto de componentes del diseo.

MICROCONTROLADORES
Reloj principal Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronizacin de todas las operaciones del sistema. Generalmente, el circuito de reloj est incorporado en el microcontrolador y slo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador cermico o una red R-C. Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva aparejado un incremento del consumo de energa.

MICROCONTROLADORES
RECURSOS ESPECIALES Cada fabricante oferta numerosas versiones de una arquitectura bsica de microcontrolador. En algunas ampla las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para aplicaciones muy simples, etc. La labor del diseador es encontrar el modelo mnimo que satisfaga todos los requerimientos de su aplicacin. De esta forma, minimizar el coste, el hardware y el software. Los principales recursos especficos que incorporan los microcontroladores son: Temporizadores o "Timers". Perro guardin o "Watchdog". Proteccin ante fallo de alimentacin o "Brownout". Estado de reposo o de bajo consumo. Conversor A/D. Conversor D/A. Comparador analgico. Modulador de anchura de impulsos o PWM. Puertas de E/S digitales. Puertas de comunicacin.

MICROCONTROLADORES
Temporizadores o "Timers Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores). Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algn mltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos..

MICROCONTROLADORES
EL RESET
Como ya sabemos, un reset puede ser provocado por diversas fuentes: -Una conexin a la alimentacin del circuito. -Una accin sobre el pin MLCR mientras que el circuito est en modo normal. -Una accin sobre el pin MLCR mientras que el circuito est en modo SLEEP. -Un desbordamiento del watchdog, mientras el circuito est en modo normal. -Un desbordamiento del watchdog, mientras el circuito est en modo SLEEP. El comportamiento del circuito y el estado de los registros afectados por un reset son diferentes dependiendo de la situacin que se produzca. Es posible distinguir por software el origen del reset. Para ello, basta con leer los bits TO y PD del registro de estado como se muestra el la tabla adjunta TO 0 0 -1 -PD 0 1 0 1 -ORIGEN DEL RESET Watchdog en modo SLEEP Watchdog en funcionamiento normal MCLR en modo SLEEP Alimentacin MCLR en funcionamiento normal

MICROCONTROLADORES EL RESET
Cuando se suministra voltaje de alimentacin al microcontrolador, este ejecuta automticamente un RESET y todos los registros son colocados es sus estados lgicos originales; sin embargo los microcontroladores dispones de un pin destinado especficamente para ejecutar un RESET en el caso de una falla o cuando sea necesario aplicarle un RESET. Cuando se ejecuta un RESET, se producen dos acciones importantes. El contador de programa se vuelve a colocar en el principio del programa. Los registros modificados vuelven a su estado normal. La seal de reset se aplica al pin /MCLR. Esta entrada est negada, por lo cual tendremos que conectarlo a la alimentacin positiva VCC si queremos que nuestro PIC funcione. Esta entrada no slo se activa de manera externa, si no que el propio PIC la ejecuta en las siguientes ocasiones que bien conocemos: La tensin de alimentacin de el PIC ha bajado por debajo de los 2.2 V Se acaba de encender el circuito y si el fuse PWRT est activado, el PIC permanece reseteado hasta que la tensin se estabiliza. Estos procesos que el PIC realiza internamente los podemos implementar externamente con la siguiente circuitera

MICROCONTROLADORES EL RESET
Diferentes configuraciones externas para generar seales de reloj: 1 Mediante un pulsador y al iniciarse el circuito; 2 Nunca; 3 Mediante un divisor de tensin y un transistor que generan la seal de reset.

MICROCONTROLADORES EL RESET
Las configuraciones ms habituales que son implementadas en los circuitos son las siguientes, en la primera el transistor tiene a nivel alto la patilla /MCLR a travs de las dos resistencia. Cuando el pulsador es accionado, la entrada se pone a nivel bajo y el circuito se resetea. En la segunda imagen si el voltaje suministrado al microcontrolador se ubica entre 1.2 Voltios y 1.7 Voltios automticamente se ejecuta un Reset. Este rango de voltaje asegura que el microcontrolador se reinicie antes de cometer errores en cualquier proceso. En el caso de que el voltaje siga por debajo del rango especificado, el microcontrolador no arranca de nuevo hasta que se estabilicen los voltajes en su rango normal. Adems, cada vez que se inicie el circuito se generar un pulso a travs de la red R1-C que har que el PIC se resetee. Algunas reglas bsicas para realizar este circuito son: Es recomendable que R1sea menor de 40 K. Se recomienda que R2 est entre los 100 ohmios y 1 K El diodo D1 es utilizado para descargar el condensador rpidamente cuando el voltaje baja de su nivel normal.

MICROCONTROLADORES EL RESET
Configuracin bsica para realizar un reset manual Configuracin necesaria para realizar un reset automtico.

La mejor solucin es combinar ambas, como en el apartado 1 de la figura inicial, pero esto no nos servir de nada si realmente no lo necesitamos. En la mayora de los casos ser ms que suficiente con conectar /MCLR a la alimentacin positiva (VCC) y usar los dispositivos de reset del PIC.

MICROCONTROLADORES
Presentacin oficial - PIC16F877
Se denomina microcontrolador a un dispositivo programable capaz de realizar diferentes actividades que requieran del procesamiento de datos digitales y del control y comunicacin digital de diferentes dispositivos. Los microcontroladores poseen una memoria interna que almacena dos tipos de datos; las instrucciones, que corresponden al programa que se ejecuta, y los registros, es decir, los datos que el usuario maneja, as como registros especiales para el control de las diferentes funciones del microcontrolador. Los microcontroladores se programan en Assembler y cada microcontrolador vara su conjunto de instrucciones de acuerdo a su fabricante y modelo. De acuerdo al nmero de instrucciones que el microcontrolador maneja se le denomina de arquitectura RISC (reducido) o CISC (complejo). Los microcontroladores poseen principalmente una ALU (Unidad Lgico Aritmtica), memoria del programa, memoria de registros, y pines I/O (entrada y/0 salida). La ALU es la encargada de procesar los datos dependiendo de las instrucciones que se ejecuten (ADD, OR, AND), mientras que los pines son los que se encargan de comunicar al microcontrolador con el medio externo; la funcin de los pines puede ser de transmisin de datos, alimentacin de corriente para l funcionamiento de este o pines de control especifico.

MICROCONTROLADORES
Este microcontrolador es fabricado por MicroChip familia a la cual se le denomina PIC. El modelo 16F877 posee varias caractersticas que hacen a este microcontrolador un dispositivo muy verstil, eficiente y practico para ser empleado en la aplicacin que posteorimente ser detallada. Algunas de estas caractersticas se muestran a continuacin: Soporta modo de comunicacin serial, posee dos pines para ello. Amplia memoria para datos y programa. Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de memoria se puede borrar electrnicamente (esto corresponde a la "F" en el modelo). Set de instrucciones reducido (tipo RISC), pero con las instrucciones necesarias para facilitar su manejo. CARACTERISTICAS En siguiente tabla de pueden observar las caractersticas ms relevantes del dispositivo:
Descripcin de los puertos: Puerto A: Puerto de e/s de 6 pines RA0 RA0 y AN0 RA1 RA1 y AN1 RA2 RA2, AN2 y VrefRA3 RA3, AN3 y Vref+ RA4 RA4 (Salida en colector abierto) y T0CKI(Entrada de reloj del modulo Timer0) RA5 RA5, AN4 y SS (Seleccin esclavo para el puerto serie sncrono) Puerto B: Puerto e/s 8 pines Resistencias pull-up programables RB0 Interrupcin externa RB4-7 Interrupcion por cambio de flanco RB5-RB7 y RB3 programacion y debugger in circuit Puerto C: Puerto e/s de 8 pines RC0 RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del modulo Timer1). RC1-RC2 PWM/COMP/CAPT RC1 T1OSI (entrada osc timer1) RC3-4 IIC RC3-5 SPI RC6-7 USART

MICROCONTROLADORES

Dispositivos perifricos: Timer0: Temporizador-contador de 8 bits con preescaler de 8 bits Timer1: Temporizador-contador de 16 bits con preescaler que puede incrementarse en modo sleep de forma externa por un cristal/clock. Timer2: Temporizador-contador de 8 bits con preescaler y postescaler. Dos mdulos de Captura, Comparacin, PWM (Modulacin de Anchura de Impulsos). Conversor A/D de 1 0 bits. Puerto Serie Sncrono Master (MSSP) con SPI e I2C (Master/Slave). USART/SCI (Universal Syncheronus Asynchronous Receiver Transmitter) con 9 bit. Puerta Paralela Esclava (PSP) solo en encapsulados con 40 pines

Puerto D: Puerto e/s de 8 pines Bus de datos en PPS (Puerto paralelo esclavo) Puerto E: Puerto de e/s de 3 pines RE0 RE0 y AN5 y Read de PPS RE1 RE1 y AN6 y Write de PPS RE2 RE2 y AN7 y CS de PPS