You are on page 1of 20

por Víctor Rossano

CONÉCTESE CON LOS MEJORES

LIBROS DE COMPUTACIÓN
usershop.redusers.com

DOMINE EL SISTEMA OPERATIVO MÁS ESTABLE
MANUALES USERS I 320 páginas I ISBN 978-987-1347-94-0

UNA ALTERNATIVA COMPETITIVA A LOS MÉTODOS TRADICIONALES

DESARROLLADORES I 336 páginas I ISBN 978-987-1347-97-1

CONOZCA LAS TÉCNICAS DE LOS HACKERS
MANUALES USERS I 320 páginas I ISBN 978-987-1347-93-3

DESARROLLE DESDE LA PERSPECTIVA DE LOS MODELOS
DESARROLLADORES I 320 páginas I ISBN 978-987-1347-95-7

Microprocesadores Los microcontroladores Los microcontroladores PIC Herramientas necesarias Componentes Editores y ensambladores Simuladores Grabadores El PIC16F84A Alimentación del PIC16F84A Resumen Actividades 14 18 19 20 20 20 21 22 24 25 27 28 SERVICIO DE ATENCIÓN AL LECTOR: lectores@redusers. tanto a nivel aficionado como profesional e industrial.com .Microcontroladores PIC Capítulo 1 Introducción a los microcontroladores Los microcontroladores son muy utilizados hoy en día para múltiples aplicaciones. desde las más sencillas hasta las más complejas y poderosas. En este capítulo estudiaremos qué es un microcontrolador y daremos los primeros pasos para introducirnos en este interesante tema.

14 . a procesar (llamada memoria de datos). que se encarga de realizar diferentes tareas. el cual consta de un contador de programa (PC). memoria de proCore2quad Q9650 es uno grama) y una memoria donde guardaremos los datos de los más poderosos. Un microprocesador es un circuito integrado digital que es capaz de realizar múltiples funciones. INTRODUCCIÓN A LOS MICROCONTROLADORES MICROPROCESADORES Un microprocesador es un circuito integrado que contiene un circuito digital complejo. De esta forma. Bus de datos Registro temporal Registro de instrucciones Contador de programa Bus de direcciones ALU Decodificador de instrucciones Bus de control Acumulador Bloque de control Reloj Figura 1. Está diseñado para ejecutar una serie de instrucciones que nosotros le daremos en una lista. al ser un sistema programado. de acuerdo con lo que necesitemos.1. En la Figura 1 vemos un diagrama simplificado de un microprocesador. El microprocesador programa (llamada. De esta manera. podemos ver que necesitaremos una memoria donde grabaremos las instrucciones que forman nuestro Figura 2. que no es más que un contador binario que inicia desde cero al arrancar el sistema. Esta lista se denomina programa y las instrucciones serán ejecutadas una a una por el microprocesador. y se va incrementando automáticamente. podemos lograr que el circuito realice tareas distintas con tan sólo cambiar el programa que ejecutará. Su propósito es generar el acceso a las instrucciones que el microprocesador ejecutará. precisamente. El contenido de este contador apunta a la dirección de memoria en donde están almacenadas las instrucciones del microprocesador a través del bus de direcciones.

tal como lo indica su nombre. La unidad aritmético-lógica es una parte fundamental de todo microprocesador. En esa dirección se almacena la primera instrucción. Este registro es muy importante ya que prácticamente todos los datos que maneja el microprocesador pasan por él.Microprocesadores El contador de programa contiene la dirección 0 (cero) al inicio. y así sucesivamente. Comparación entre la arquitectura Harvard y la Von Neumman. ya sean lógicas o aritméticas. Memoria Memoria Memoria Programa Micropocesador Datos Micropocesador Programa ––– Datos Reloj Arquitectura Harvard Reloj Arquitectura Von Neumann Figura 3. El contador de programa va accediendo secuencialmente a las direcciones de la memoria de programa de donde se leerán las instrucciones almacenadas allí y pasarán al microprocesador para ser decodificadas y ejecutadas una a una. con los datos. El bloque de control se encarga de llevar la correcta sincronía entre todos los 15 . A la salida de la ALU tenemos un registro especial llamado acumulador. luego se incrementa para acceder a la dirección 1 y ejecutar la instrucción almacenada ahí. que es en donde se guardarán los resultados de las operaciones. Dato Dato Control ALU Resultado Figura 4. La unidad aritmético-lógica (ALU) es la encargada de llevar a cabo las operaciones necesarias. Podemos tener dos tipos de arquitecturas dependiendo de la separación o no de la memoria de datos y de programa: la arquitectura Harvard y la Von Neumman.

Desde su nacimiento. o recibir datos de un teclado o un convertidor analógico a digital. y de los elementos externos. Además de las memorias. 16 . Por ejemplo. memorias y unidades de E/S se lo llama usualmente microcomputadora.1. allá por el año 1971. Por ejemplo. De esta forma. Podemos tener más de una unidad de entrada/salida. Periféricos Señal de salida Señal de entrada Micropocesador Memoria de Programa Memoria de Datos Unidad E/S Bus de direcciones Bus de datos Bus de control Figura 5. A un sistema completo de microprocesador. INTRODUCCIÓN A LOS MICROCONTROLADORES demás bloques. Como podemos darnos cuenta. ❴❵ MILLONES DE TRANSISTORES Los microprocesadores son circuitos integrados digitales complejos. Comunicación de un microprocesador con otros dispositivos. por ejemplo. mediante las unidades de entrada/salida (E/S) el microprocesador puede comunicar datos hacia el exterior o recibir datos. Estos dispositivos con los que el microprocesador se puede comunicar a través de la unidad E/S son comúnmente llamados periféricos. el microprocesador también puede comunicarse con otros dispositivos a través de sus buses. indicando a la memoria de datos si se va a leer o escribir en ella. puede enviar datos hacia un display o una impresora. se han tornado cada vez más y más complejos y poderosos. por lo que debemos agregar las memorias adecuadas para lograr que el sistema funcione. los microprocesadores modernos que se usan en las computadoras pueden contener más de 300 millones de transistores. el microprocesador necesita de algún medio externo a él para almacenar tanto las instrucciones como los datos que se están procesando.

es un sistema complejo. que lo grabaremos o guardaremos en la memoria de programa para que el sistema lo ejecute desde ahí. las memorias y las unidades de E/S necesarias). Los microprocesadores son uno de los mayores desarrollos de las últimas décadas en la electrónica moderna. ya que podemos elegir la cantidad de memoria de datos y de programa que necesitemos. haciéndolo difícil y lento de construir. y difícil de implementar. Una computadora es una de las aplicaciones clásicas de los microprocesadores. Pero a su vez. ❴❵ NACE UN GIGANTE Los microprocesadores nacen en 1971 con el lanzamiento del modelo 4004 de Intel. caro. 17 . De esta forma. El uso de varios circuitos integrados eleva el costo final y el tamaño del sistema. tenemos un sistema muy flexible y poderoso. debemos darle la lista de instrucciones o programa. un microprocesador de tan sólo 4 bits. Las instrucciones son valores binarios que harán que se ejecute algún proceso específico en el microprocesador. sobre todo en aplicaciones sencillas o de propósito específico.Microprocesadores Figura 6. Para que el microprocesador realice las tareas que necesitamos. que fue utilizado en calculadoras. además de cuáles y cuántos periféricos necesitamos integrar a nuestro sistema. Es por eso que un sistema de microprocesador no es lo más conveniente siempre. por lo que podemos fácilmente cometer errores. dado que tendremos varios circuitos integrados independientes que debemos interconectar (el microprocesador.

lo cual lo hace muy pequeño. los sistemas computarizados de los automóviles. rápido y hasta más barato implementar un circuito electrónico con un microcontrolador que hacerlo con componentes discretos (compuertas. puede resultar más fácil. los sistemas de alarma. un horno de microondas. Por ejemplo. la memoria. barato y fácil de manejar. 18 . la memoria de datos. desde los más sencillos.1. Es decir. hasta las aplicaciones más complejas. un microcontrolador contiene en un solo circuito integrado el microprocesador. una lavadora. la memoria de programa y las unidades de entrada/salida. un juguete. debido a la flexibilidad y posibilidad de elegir o cambiar sus componentes (el propio procesador. los periféricos. que no es otra cosa que un sistema de microcomputadora completo. se crean los microcontroladores. INTRODUCCIÓN A LOS MICROCONTROLADORES LOS MICROCONTROLADORES Para resolver el problema de la complejidad y el alto costo de los sistemas basados en microprocesadores. utilizan microcontroladores en sus circuitos. etcétera. Los microcontroladores son cada vez más utilizados en muchos campos debido a sus ventajas y a la facilidad de diseñar circuitos con ellos. y son llamados sistemas abiertos. mientras que un microcontrolador es un sistema cerrado. incluso a nivel industrial. Desde aficionados hasta profesionales. cada vez son más los sistemas que son gobernados por uno o varios microcontroladores. CPU RAM E/S ROM Figura 7. Un microcontrolador encierra todos los elementos de una microcomputadora en un solo circuito integrado. ❘❘❘ SISTEMAS ABIERTOS Y CERRADOS Las computadoras son sistemas basados en microprocesadores. Actualmente. por lo que es ideal para muchas aplicaciones de propósito específico. etcétera).

Es por eso que el aprendizaje del manejo de microcontroladores cada vez toma mayor importancia para los aficionados y profesionales de la electrónica. Atmel. Intel. Los microcontroladores PIC Los microcontroladores PIC ofrecen una amplia gama de dispositivos desde 6 hasta 100 pines. bajo costo. los fabricantes más importantes son: Microchip. Freescale (Motorola).Los microcontroladores multivibradores. El PIC16F84A es uso como de la programación de microcontroladores un simple circuito integrado PIC. elegiremos el PIC16F84A. Un sistema basado en microcontrolador es más pequeño. ya que son ampliamente usados actualmente debido a su facilidad de uso. pero encierra este dispositivo. Sus familias de 8 bits más importantes son: PIC12. la migración hacia cualquier otro un dispositivo muy poderoso. Microchip es actualmente el mayor fabricante de microcontroladores de 8 bits en todo el mundo. y a la facilidad de encontrar herramientas. registros. sencillo y económico. Nosotros elegiremos en esta ocasión los microcontroladores PIC de la firma Microchip para estudiar su estructura. programación y utilización práctica. una vez que conozcamos bien a fondo de 18 pines. En particular. Existe una gran gama de microcontroladores de muchos fabricantes con características y prestaciones muy variadas. Este PIC es ideal para aprender las bases tanto del Figura 9. La gama de microcontroladores de 8 bits consta de más de 400 modelos diferentes para elegir. En la actualidad. tanto de software como de hardware. 19 . su gran oferta con una amplia gama de dispositivos. PIC16 y PIC18. muy versátil. para nuestro estudio de introducción a los microcontroladores PIC. para el desarrollo de proyectos con estos versátiles microcontroladores. y demás). desde los más sencillos de 8 bits hasta los más poderosos de 32 bits. contadores. que es de gama media. económico y fácil de usar. Además. Micropocesador Periféricos Memoria de Programa Memoria de Datos Periféricos Unidades E/S Microcontrolador Figura 8.

Componentes Por supuesto que para construir nuestros proyectos necesitaremos los propios componentes. al menos la mayor parte de ellas. por lo que es recomendable comprar al menos uno de ellos y. el microcontrolador. leds. necesitaremos algunas herramientas tanto de software como de hardware.1. Trataremos de que dichas herramientas sean fáciles de encontrar y de que sean gratuitas o de bajo costo. debemos adquirir otros componentes que estudiaremos a lo largo del libro. Editores y ensambladores Sabemos que el microcontrolador es un dispositivo que funciona a través de un programa que escribiremos nosotros. los cuales iremos detallando en el momento en que sea necesario. Es por eso que el PIC16F84A nos servirá de plataforma para entrar en el mundo de los microcontroladores PIC. Incluso la compatibilidad entre los microcontroladores PIC hace que los programas puedan migrar de uno hacia otro con muy pocos cambios en ellos. si podemos. En primer lugar. como por ejemplo. En este caso utilizaremos el entorno de desarrollo ❘❘❘ OTROS PIC C Generalmente. etcétera. Además. Los modelos C han sido reemplazados casi por completo por modelos F con memoria Flash. La mayoría de los dispositivos C sólo podían ser grabados una sola vez. INTRODUCCIÓN A LOS MICROCONTROLADORES microcontrolador PIC será bastante fácil. teclados. algunos circuitos integrados. HERRAMIENTAS NECESARIAS Para el desarrollo de nuestros proyectos con microcontroladores PIC. con excepción del PIC16C84 que contaba con memoria EEPROM. la C en los microcontroladores PIC indicaba una memoria EPROM. 20 . uno más ya que nunca se sabe cuándo cometeremos un error. A lo largo de este libro veremos que realmente no necesitamos invertir una fortuna para poder construir poderosos circuitos electrónicos con microcontroladores PIC. por lo que debemos tener herramientas de software para poder escribir nuestros programas y ensamblarlos (más adelante estudiaremos qué es esto de ensamblar un programa). para luego poder grabarlos en la memoria de nuestro PIC. displays.

ya que permite la simulación de cualquier tipo de circuito electrónico con animación y análisis de señales. que es uno de los mejores simuladores de circuitos electrónicos en la actualidad. Figura 10. El programa MPLAB de la empresa Microchip contiene las herramientas de desarrollo de programas de forma gratuita. que es distribuido gratuitamente por el propio fabricante de los microcontroladores PIC. por lo que quedará en nosotros la decisión de comprarlos para usarlos como herramientas de desarrollo. En el Capítulo 4 estudiaremos con detalle el uso de este software. y que también estudiaremos en el Capítulo 4. Además de MPLAB SIM. incluyendo. lo cual nos ahorrará tiempo y esfuerzo. Los dos últimos simuladores que mencionamos tienen licencias pagas. Este entorno de desarrollo contiene todas las herramientas de software necesarias para poder escribir nuestros programas. así evitamos tener que grabar varias veces nuestro microcontrolador para probar si los programas funcionan como deben. existen otros simuladores. por supuesto. que es gratuito. la depuración y la corrección de errores. 21 . Microchip. Éstos pueden ser muy útiles para el desarrollo. Simuladores Existe software para la PC que permite simular el funcionamiento de los programas que estamos escribiendo para nuestro microcontrolador. circuitos con microcontroladores PIC. Por ahora nos bastará con estudiar MPLAB SIM. como PIC Simulator IDE o el simulador de circuitos Proteus VSM. que nos será de mucha utilidad.Herramientas necesarias llamado MPLAB IDE. El programa MPLAB contiene un simulador integrado llamado MPLAB SIM.

Grabadores Después de desarrollar los programas debemos grabarlos de alguna forma en la memoria de nuestro PIC para que el sistema quede completo.1. Después viene el PIC16F84A. tiene memoria de programa tipo Flash. mientras que el PIC16F84. que fue su predecesor. La C indica una memoria de programa de tipo EEPROM. para poder enviar el programa desde la PC hacia la memoria de nuestro PIC. donde la A indica que es una versión mejorada. serial. La desventaja es que algunos pueden ser caros y difíciles de encontrar en las tiendas locales. Para esto tenemos que contar con un grabador. Existen multitud de grabadores para microcontroladores PIC. o USB. 22 . Microchip ofrece algunos que aseguran un perfecto funcionamiento y están listos para usar. INTRODUCCIÓN A LOS MICROCONTROLADORES Figura 11. Existe una gran gama de software de simuladores para verificar el funcionamiento de los programas. que no es más que un circuito que se conecta a la PC por medio de algún puerto. ❘❘❘ EVOLUCIÓN DEL PIC16X84 El microcontrolador que estamos estudiando es ya un veterano en el mercado: nació originalmente como PIC16C84. ya sea el puerto paralelo.

aunque puede que resulte la más difícil. no las necesitaremos. un cable para la conexión a la PC y un poco de paciencia. Sólo lo proponemos para quienes todavía no tengan uno. para usos sencillos. pero estas herramientas pueden ser complejas de usar para los principiantes. con diferentes tipos de conexión a la PC. además de estudiar su uso por completo. Existe suficiente información para poder hacerlo. Existen otras. y los sistemas de desarrollo o emuladores. además de ser caras. ya que tiene una memoria Flash mejorada. Mediante un grabador se puede leer o escribir en la memoria de programa del PIC. 23 . y algunos pueden ser baratos y también están armados y listos para usar. es armar nuestro propio grabador de PICs. En el Capítulo 5 veremos cuáles son los tipos de grabadores y propondremos un circuito para la construcción de un versátil y económico grabador. Por otra parte. como por ejemplo los compiladores. El grabador que propondremos para su construcción se conectará a nuestra computadora a través del puerto serial.Herramientas necesarias Figura 12. además de contar con la posibilidad de trabajar a una frecuencia mayor: 20 MHz para el PIC16F84A-20 contra 10 MHz máximos que puede funcionar el PIC16F84. que permiten escribir programas en un lenguaje de alto nivel. sólo necesitamos unos cuantos componentes. La alternativa más económica. Al menos. y no será necesario construirlo si ya contamos con algún grabador de microcontroladores PIC. como Basic o C. Éstas son las herramientas básicas que necesitaremos para desarrollar nuestros proyectos con microcontroladores PIC. están los grabadores que podemos adquirir en algunas tiendas del ramo. ❴❵ PIC16F84 Y PIC16F84A La A al final en el PIC16F84A indica que es una versión modernizada con respecto al PIC16F84.

Si vamos a la página oficial del fabricante (www. que proporciona la empresa Microchip. Algunos tienen más de una función. el PIC16F84A tiene una hoja de datos (datasheet). 24 . ya que a lo largo de nuestro estudio hablaremos con detalle de cada función: • RA0:RA4: pertenecen al puerto A y cada uno de estos pines puede utilizarse como entrada o salida de datos. El pin RA4 está marcado también ❘❘❘ HOJAS DE DATOS Como todo componente electrónico.microchip. y pueden configurarse independientemente como entrada o como salida. aunque se encuentra solamente en inglés. de entrada o de entrada/salida.1. Nombre que reciben los pines del PIC16F84A. Las flechas indican si el pin es de salida.com) podremos descargarla. según necesitemos. RA2 RA3 RA4/T0CKI MCLR Vss RB0/INT RB1 RB2 RB3 1 2 3 4 5 6 7 8 9 PIC16F84A 18 17 16 15 14 13 12 11 10 RA1 RA0 OSC1/CLKIN OSC2/CLKOUT Vdd RB7 RB6 RB5 RB4 Figura 13. INTRODUCCIÓN A LOS MICROCONTROLADORES EL PIC16F84A Comencemos a conocer la estructura de nuestro microcontrolador. Por ahora no es necesario que los entendamos. que no es más que un circuito integrado de 18 pines. En la Figura 13 vemos un diagrama completo con la disposición de los pines y el nombre que toma cada uno. Veamos a grandes rasgos cuál es la función de cada uno de los pines. con la descripción completa de su arquitectura y su funcionamiento.

Más adelante hablaremos en detalle de este tema. mejor. este PIC requiere de un voltaje de alimentación de 5 V entre las terminales Vdd y Vss. OSC2/CLKOUT: estos pines son la entrada y salida de la señal de reloj necesaria para que el sistema funcione correctamente. el microcontrolador irá al estado de reset y si hay un nivel alto. OSC1/CLKIN. Alimentación del PIC16F84A Como acabamos de mencionar. 25 . RB0:RB7: pertenecen al puerto B y la función es la misma que la de los pines del puerto A. En Vdd debemos poner un voltaje de 5 V y si es un voltaje regulado. MCLR (Master clear): este pin es el de reset. Vss. Vdd: estos pines pertenecen al voltaje de alimentación de nuestro PIC.El PIC16F84A • • • • como T0CKI. En las secciones donde hablaremos del timer detallaremos esta función. así que debemos tener una fuente de 5 V para poder trabajar con los circuitos que armemos. El pin RB0 además cumple con la función de entrada de interrupción externa (INT). 1 5V 2 3 4 Vss 5 6 7 8 9 PIC16F84A 18 17 16 15 14 13 12 11 10 Vdd Figura 14. Es decir que si ponemos un nivel bajo en él. lo que significa que además cumple otra función que es la de servir de entrada a una señal para el Timer 0. El PIC16F8A requiere de un voltaje de 5 V entre las terminales Vdd (positivo) y Vss (tierra). En Vss debemos poner tierra (masa). que también detallaremos en su momento. el microcontrolador funcionará normalmente.

7805 + Vin GND Vin 7 a 12V 0. La desventaja es que el precio es generalmente alto. • Si contamos con alguna fuente no regulada que entregue entre 7 y 12 V de potencia y al menos 1A a su salida. podemos construirla siguiendo el diagrama de la Figura 16. siempre es recomendable colocar un disipador de calor al regulador. De todos modos. 26 . Es recomendable también. entonces tenemos varias opciones: • Si ya contamos con alguna fuente de 5 V regulados y que pueda entregar al menos 1A de corriente.33uF Vout 5V 10uF/10V al pin Vss Vout al pin Vdd – Figura 15.1. displays. en cualquier caso. lo más cercano posible a ellos para asegurar un correcto funcionamiento. podemos agregar el regulador para obtener el voltaje de 5 V. etcétera. colocar un capacitor de desacoplo de 100 nf (0. No obstante ello. e incluso permiten grabar el PIC en ellos. podemos utilizarla. sensores. más allá de que podamos armar nuestra propia fuente de alimentación. como teclados. ❘❘❘ SISTEMAS DE DESARROLLO Un sistema de desarrollo es un conjunto de herramientas de software y hardware que permiten el rápido desarrollo de proyectos con PICs. como vemos en el diagrama de la Figura 15. • Si no contamos con ninguna fuente de alimentación. Consiste en una placa con múltiples periféricos listos para funcionar. debemos tener en cuenta que tal vez sea necesario agregar un disipador de calor al regulador para evitar que se dañe por sobrecalentamiento (pero esto sólo si vamos a utilizar más de 500 mA de corriente). INTRODUCCIÓN A LOS MICROCONTROLADORES Es recomendable tener un voltaje regulado. El LM7805 nos proporcionará una salida de 5 V regulados al colocarlo en una fuente no regulada.1 uf) entre los pines Vss y Vdd del microcontrolador.

cómo funciona y para qué sirve. … RESUMEN En este primer capítulo comprendimos qué es un microprocesador. En el capítulo siguiente continuaremos estudiando la estructura interna del PIC16F84A para comprender su funcionamiento y posteriormente poder aprender a escribir programas en lenguaje ensamblador. También vimos qué es un microcontrolador y la diferencia con un microprocesador.El PIC16F84A T 9V/1A W02M o similar 7805 Línea 1 Vi GND 2 FUSIBLE 1A 2200uF/25V 0. Podemos construir esta fuente de alimentación para nuestros circuitos con el PIC16F84A. conocimos cuáles son las herramientas que necesitaremos para el desarrollo de proyectos con microcontroladores PIC. del cual hablaremos a lo largo de los capítulos siguientes. y así tener la posibilidad de comenzar a diseñar y construir circuitos electrónicos con microcontroladores PIC. 27 . y también comenzamos a estudiar el PIC16F84A.1uF 10uF/10V Vo 3 5V Figura 16. Además.

✔ ACTIVIDADES TEST DE AUTOEVALUACIÓN 1 ¿Qué es un microprocesador? 2 ¿Qué es el contador de programa? 3 ¿Para qué sirve una ALU? 4 ¿Cómo se llama la serie de instrucciones que ejecuta un microprocesador? 5 ¿Cuál es la diferencia entre la arquitectura Harvard y la Von Neumann? 6 ¿Qué es una microcomputadora? 7 ¿Qué es un microcontrolador? 8 ¿Cuántos pines tiene el PIC16F84A? 9 ¿Para qué sirven el Puerto A y el Puerto B del PIC16F84A? 10 ¿Cuál es el voltaje con el que se debe alimentar el PIC16F84A? 28 .