El libro que tiene entre sus manos constituye la primera parte de una colección de tres libros y se destina a los microcontroladores más sencillos de la gama básica y media y a los lengu
Trang 2MICROCONTROLADORES «PIC»
DISEÑO PRÁCTICO DE APLICACIONES
Primera parte PIC12F508 Y PIC16F84A
Lenguajes Ensamblador, C y PBASIC
4.a edición
Trang 4MICROCONTROLADORES «PIC»
DISEÑO PRÁCTICO DE APLICACIONES
Primera parte PIC12F508 Y PIC16F84A Lenguajes Ensamblador, C y PBASIC
4.a edición
JOSÉ MARÍA ANGULO USATEGUI
Doctor Ingeniero IndustrialCatedrático de Arquitectura de Computadores
en la Universidad de Deusto
IGNACIO ANGULO MARTÍNEZ
Licenciado en InformáticaProfesor del Departamento de Arquitectura de Computadores
en la Universidad de Deusto
ARITZA ETXEBARRIA RUIZ
Licenciado en InformáticaJefe del Departamento de Informática
Colegio Vizcaya
MADRID • BOGOTÁ • BUENOS AIRES • CARACAS • GUATEMALA • LISBOA • MÉXICO
NUEVA YORK • P ANAMÁ • SAN JUAN • SANTIAGO • SÃO PAULO
AUCKLAND • HAMBURGO • LONDRES • MILÁN • MONTREAL • NUEVA DELHI • PARÍS SAN FRANCISCO • SIDNEY • SINGAPUR • SAN LUIS • TOKIO • TORONTO
Trang 5El nombre y logo de Microchip, dsPIC, PIC, PICmicro, PICSTART, PICMASTER, PRO MATE y MPLAB son marcas registradas por Microchip Technology Incorporated en Estados Unidos y otros países.
DsPICDEM, dsPIC.net, ICSP: In-Circuit Serial Programming (Programación Serie en Circuito), ICEPIC, MPASM, MPLIB, MPLINK, MPSIM, PICC, PICkit, PICDEM, PICDEM.net, rfLAB y rfPIC son marcas registradas por Microchip Technology Incorporated en Estados Unidos y otros países.
SQTP (Serialized Quick Turn Programming) es una marca de servicio de Microchip Technology porated en Estados Unidos.
Incor-Determinados materiales e informaciones contenidos en esta obra han sido reproducidos con el permiso
de Microchip Technology Incorporated No se pueden reproducir ni reeditar dichos materiales sin el vio consentimiento escrito de Microchip Technology Incorporated.
pre-BASIC Stamp, Home Work Board y el logo de Parallax son marcas registradas por Parallax, Inc Las restantes marcas, logos y productos mencionados en este libro están registrados por sus respectivos propietarios.
El software contenido en el CD destinado a la edición, compilación, simulación y depuración
de programas son propiedad de sus respectivos fabricantes:
Microchip Technology, Inc.; Parallax, Inc., e Ingeniería de Microsistemas Programados, S.L.
MICROCONTROLADORES «PIC» Diseño práctico de aplicaciones.
Primera parte: PIC12F508 Y PIC16F84A Lenguajes Ensamblador, C y PBASIC 4 a edición
No está permitida la reproducción total o parcial de este libro, ni su tratamiento informático, ni la misión de ninguna forma o por cualquier medio, ya sea electrónico, mecánico, por fotocopia, por registro
trans-u otros métodos, sin el permiso previo y por escrito de los tittrans-ulares del Copyright.
Editor: Carmelo Sánchez González
Asistente editorial: Israel Sebastián
Diseño de cubierta: Luis Sanz Cantero
Compuesto en: Fernández Ciudad, S L.
Impreso en:
IMPRESO EN ESPAÑA - PRINTED IN SPAIN
Trang 6CONTENIDO
Prólogo vii
PRIMERA PARTE La gama básica: el humilde PIC12F508 1
TEORÍA Capítulo 1 Microcontrolador: la solución está en un chip 3
Capítulo 2 Los PIC, una familia numerosa 21
Capítulo 3 El más humilde de la gama básica: PIC12F508 37
Capítulo 4 Las memorias 49
Capítulo 5 Recursos y periféricos principales 61
Capítulo 6 Recursos auxiliares 75
Capítulo 7 El repertorio de instrucciones 81
APLICACIONES PRÁCTICAS 1.a aplicación Simulando los primeros programas con el MPLAB y el MPLAB SIM 105
2.a aplicación Herramientas para la grabación, implementación y depuración: PIC School y WinPic800 121
3.a aplicación Las primeras experiencias 147
4.a aplicación Manejando el tercer estado en las E/S 163
5.a aplicación Controlando el tiempo con software 181
6.a aplicación Controlando el tiempo con hardware El temporizador TMR0 189
7.a aplicación Manejando el Perro Guardián, el modo de bajo consumo y el reset 205
8.a aplicación Comunicación serie RS232 219
9.a aplicación Controlando una pantalla LCD 231
10.a aplicación Manejando el bus I2C 245
11.a aplicación Aproximación a la conversión A/D 259
12.a aplicación Transmisión y recepción por RF 279
Trang 7SEGUNDA PARTE La gama media: el fabuloso PIC16F84A 291
TEORÍA Capítulo 8 El primer contacto con el PIC16F84A 293
Capítulo 9 En el interior del procesador 305
Capítulo 10 Los recursos fundamentales: temporizadores, puertas de E/S y EEPROM de datos 319
Capítulo 11 Interrupciones, reset y recursos auxiliares 335
Capítulo 12 Manejando el repertorio de instrucciones 351
Capítulo 13 Herramientas y diseño de proyectos 367
APLICACIONES PRÁCTICAS 1.er taller Simulando el primer taller 389
2.o taller Trabajando con entradas y salidas Concurso de televisión 397
3.er taller Manejo de la instrucción SLEEP 405
4.o taller Uso de temporizadores Contador ascendente/descendente 413
5.o taller Manejo del teclado 419
6.o taller Comunicación RS-232 425
7.o taller Manejo del LCD 433
8.o taller Generación de números aleatorios 439
9.o taller Manejo de la memoria EEPROM de datos 447
10.o taller Un ejercicio completo La máquina de «Su Turno» 457
TERCERA PARTE Los módulos microcontroladores BASIC Stamp y el lenguaje PBASIC Capítulo 14 Los sellos mágicos de Parallax 469
Capítulo 15 PBASIC El lenguaje más fácil del mundo Prácticas y gramas 485
CUARTA PARTE «Software» de desarrollo, programas fuente, apéndices y complementos incluidos en el CD Contenido del CD 511
Bibliografía y direcciones de interés relacionadas con los PIC 513
Índice analítico 515
Trang 8PRÓLOGO
Los microcontroladores están invadiendo el mundo Están presentes en nuestra casa, en nuestro trabajo y en nuestra vida Se pueden encontrar controlando los hornos microon-das y los televisores de nuestro hogar, en los teclados y ratones de los computadores y
en los automóviles En el bolsillo llevamos unos cuantos entre los del teléfono móvil, los que tienen las modernas llaves del coche y los mandos a distancia del garaje y la alarma doméstica Pero la invasión acaba de comenzar y el comienzo del siglo XXI será testigo
de la conquista masiva de estos diminutos computadores que gobernarán la mayor parte
de los aparatos que fabricamos y usamos los humanos
Las extensas áreas de aplicación de los microcontroladores, que se pueden rar ilimitad as, exigirán un gigantesco trabajo de diseño y aplicación
conside-Aprender a manejar y aplicar los microcontroladores sólo se consigue desarrollando prácticamente diseños reales Sucede lo mismo que con cualquier instrumento musical, cualquier deporte y muchas otras actividades
El objetivo primordial que nos ha movido a escribir este libro es facilitar el camino
al lector para que se entusiasme y utilice los microcontroladores; por eso, está plagado
de programas y experiencias, así como de proyectos reales
La filosofía y el método que hemos aplicado en la elaboración de esta obra han sido los mismos que usamos con nuestros alumnos de varias especialidades de inge-niería en la Universidad de Deusto Sospechamos que los excelentes resultados obte-nidos se deben principalmente a la calidad de los estudiantes
En esta nueva edición hemos introducido un cambio sustancial en el planteamiento del aprendizaje En el verano de 2006 nos reunimos los autores para establecer el pro-grama de la asignatura «Diseño de Sistemas Basados en Microcontrolador» y para es-tructurar este libro que sirviese de texto y guía Decidimos empezar por lo más sencillo
y elegimos el procesador más simple y fácil con la intención de alcanzar tres metas:1.ª En un par de semanas los alumnos comenzaban diseños reales
2.ª Un procesador humilde y sin apenas recursos obliga a «espabilarse» más para resolver las tareas
3.ª Una vez que se domina un microcontrolador por sencillo que sea, pasar a otros más potentes resulta natural y apetecible
Trang 9Así que tomamos la decisión de comenzar con el humildísimo PIC12F508 de la gama básica, que sólo posee ocho patitas Si bien es verdad que tiene poco de todo, era uno de los más populares y vendidos en todo el mundo Cosa lógica, porque la mayor parte de los productos masivos, como el mando a distancia de una alarma, no necesitan más de lo que posee el PIC12F508 Tras conocer la teoría y la práctica de dicho microcontrolador se decidió pasar al PIC16F84A, que es uno de los modelos más pobres de la gama básica, pero ya un clásico en la historia de los microcontrola-dores PIC Finalmente, para acabar de demostrar que con los elementos más sencillos
se alcanzan las metas más complejas, se presentan los módulos de Parallax, que
fa-cilitan el hardware y permiten confeccionar los programas con el lenguaje más fácil
del mundo: el BASIC
Este libro recoge los temas teóricos y las experiencias, programas y proyectos prácticos de laboratorio que impartimos en la anteriormente mencionada asignatura desde octubre de 2006 hasta febrero de 2007 Además, como nuestros alumnos tenían que aprender a diseñar proyectos con microcontrolador, les propusimos como evalua-ción un proyecto en equipos de cuatro personas para construir un prototipo operativo
de un «pastillero inteligente» El proyecto no tenía restricciones, pero sus ciones debían quedar determinadas a mitad de curso y al final el prototipo las debía cumplir y funcionar correctamente
especifica-Enlazando las diversas experiencias prácticas, aplicando los conocimientos teóricos
y demostrando que un futuro ingeniero debe tener el ingenio necesario para combinar todo ello y alcanzar brillantemente el objetivo, nuestros alumnos construyeron varios pastilleros en los que dejaron la huella de su capacidad técnica e imaginativa En un apéndice en el CD que acompaña la obra se presenta uno de dichos proyectos
El libro que tiene entre sus manos constituye la primera parte de una colección
de tres libros y se destina a los microcontroladores más sencillos de la gama básica y media y a los lenguajes de programación Ensamblador, C y PBASIC La segunda parte
se dedica a los poderosos PIC16F87X de la gama media, a los PIC18FXXX de la gama mejorada y ofrece una introducción a las familias de microcontroladores de 16 bits Por último, el tercer volumen de esta obra se refiere a los Controladores Digitales de Señales (DSC), que se materializan en las familias dsPIC30F y dsPIC33F, que reúnen lo mejor
de los microcontroladores PIC de 16 bits con los recursos principales de los DSP Para desarrollar todos los programas y proyectos de las tres partes se ha elegido el sistema de desarrollo PIC School
El contenido de esta primera parte consta de cuatro secciones:
Primera: PIC12F508
Teoría: Funcionamiento, arquitectura y repertorio de instrucciones Práctica: ción de doce aplicaciones desarrolladas con la PIC School de complejidad progresiva en los lenguajes Ensamblador y C
Colec-Segunda: PIC16F84A
Teoría: Funcionamiento, arquitectura y repertorio de instrucciones Práctica: ción de varias aplicaciones desarrolladas con la PIC School de complejidad progresiva
Colec-en Ensamblador y C
Trang 10Tercera: Módulos microcontroladores BASIC Stamp
Teoría y práctica sobre el funcionamiento y el desarrollo de aplicaciones con los módulos microcontroladores de Parallax resueltos con el lenguaje PBASIC
Cuarta: «Software» de desarrollo, programas fuente, apéndices y complementos
contenido en el CD
En el CD que acompaña a este libro se incluyen todas las herramientas software
necesarias, los programas fuente de todos los ejercicios y proyectos Además, en dicho
CD se dedica el Apéndice A a una guía rápida del PIC12F508 y el Apéndice B a una guía rápida del PIC16F84A El proyecto completo de un «pastillero» diseñado por un alumno se ofrece en el Apéndice C Toda la gama de modelos de los microcontroladores PIC que se comercializan en la actualidad con sus principales características se recogen
en el Apéndice D El Apéndice E describe una colección de experiencias muy didácticas
y útiles desarrolladas con un kit básico de componentes y el PIC16F84A Se completa este libro con una bibliografía y un directorio de direcciones interesantes en Internet y
de un índice analítico
Gran parte de la información proporcionada en este libro y su CD procede de
Microchip (www.microchip.com) y agradecemos especialmente la colaboración que
hemos obtenido de don Juan Gutiérrez, de la oficina central También desde Parallax
(www.parallax.com) hemos recibido toda la colaboración que hemos solicitado de don
Arístides Álvarez Finalmente, don Mikel Echevarría, de Ingeniería de Microsistemas
Programados (www.microcontroladores.com), nos ha facilitado multitud de programas
y experiencias soportadas por la extraordinaria herramienta PIC School
Trang 12La gama básica: el humilde PIC12F508
TEORÍA
Trang 141.1 ¿QUÉ ES UN MICROCONTROLADOR?
Es un pequeño computador construido sobre el «chip» o dado de silicio que hay dentro
de un circuito integrado Se emplea para controlar el funcionamiento de una tarea terminada o el de un producto, y debido a su reducido tamaño, suele estar incorporado
de-en el propio dispositivo que gobierna Esta última característica es la que le confiere la
denominación de «controlador incrustado» (embebed controller) (Fig 1.1).
Al microcontrolador se le considera como un «computador dedicado» pues en su memoria reside un único programa destinado a controlar una aplicación concreta, sus líneas de entrada/salida soportan el conexionado de los sensores y actuadores del siste-
ma a gobernar y todos los recursos complementarios disponibles tienen como finalidad exclusiva atender los requerimientos de la tarea a la que se dedica el microcontrolador (Fig 1.2)
3
Microcontrolador:
Figura 1.1 El microcontrolador es tan pequeño que podría incrustarse en un dado y cambiar su suerte.
Trang 15Un microcontrolador es un computador completo, aunque de capacidad limitada, que está contenido en un circuito integrado y se destina a gobernar una tarea o producto en donde suele ir incrustado.
Figura 1.2 Fotografía de un ratón para PC abierto Se distingue el microcontrolador que se encarga de
recoger los movimientos de la «bola» y transferirlos al PC para producir los tos correspondientes del cursor en la pantalla.
desplazamien-Figura 1.3 La inclusión de un microcontrolador en un pastillero le añade prestaciones que le otorgan el
calificativo de «inteligente».
Trang 16La potencia que se puede obtener de un computador es inmensa; por eso, si son pequeños y baratos, se pueden incorporar en cualquier producto por pequeño y econó-mico que sea, abriendo las puertas de la imaginación de los diseñadores Empresas del prestigio de Dataquest auguran la presencia de centenares de microcontroladores en los hogares del mundo desarrollado en un futuro cercano.
1.2 LA INVASIÓN DEL MUNDO
La potencia de los microcontroladores aumenta constantemente a la par que su volumen
y coste, lo que está dando lugar al crecimiento exponencial de su aplicación y, en cuencia, a su invasión en muchos de los productos típicos del mundo moderno Funda-mentalmente, existen cinco grandes campos de aplicación de los microcontroladores
profu-En el área de productos de gran consumo, los electrodomésticos de línea blanca (lavadoras, hornos, lavavajillas, etc.) y de línea marrón (televisores, vídeos, aparatos de audio, etc.) incorporan numerosos microcontroladores (Fig 1.6)
Figura 1.4 Distribución porcentual de la producción mundial de microcontroladores en las cinco grandes
áreas de aplicación.
Trang 17La industria de automoción es una firme candidata a incrementar el consumo de microcontroladores para soportar las nuevas y cada vez más exigentes funcionalidades
de los vehículos modernos En 2003, Microchip vendió veinticinco millones de
micro-controladores para el control del sensor del airbag
La industria informática acapara una buena parte de la producción de ladores, puesto que casi todos los periféricos del computador disponen de uno o varios, como sucede con las impresoras, teclados, discos duros, escáneres, etc
microcontro-En el área industrial, hay secciones como la robótica, la visión artificial, el control
de motores, las fuentes de alimentación ininterrumpibles, etc., que son grandes midores de microcontroladores
consu-Figura 1.5 Las comunicaciones absorben la mayor parte de la producción mundial de
microcontrolado-res, siendo el teléfono móvil uno de los dispositivos que más utilizan.
Figura 1.6 Los electrodomésticos de línea blanca y marrón, como el televisor, precisan numerosos
mi-crocontroladores para optimizar su funcionamiento y sus prestaciones.
Trang 18Más de la mitad de la producción mundial de microcontroladores es absorbida por las comunicaciones y los productos de gran consumo El resto se reparte entre el sector de la automoción, la informática y la industria.
Figura 1.7 Bastantes sistemas de control, confort y seguridad del automóvil son gobernados por
micro-controladores.
Figura 1.8 Casi todos los periféricos del computador, como la impresora, utilizan microcontroladores.
Trang 19Además de las cinco áreas comentadas, van apareciendo constantemente otras vas que precisan el empleo de microcontroladores, como la industria militar, la electro-medicina, los juegos, la navegación espacial, etc.
nue-Figura 1.9 Los robots industriales precisan numerosos y potentes microcontroladores para su control.
Figura 1.10 Fotografía de una pistola para la medida del dolor en pacientes de fibromialgia basada en
microcontrolador.
Trang 201.3 EN EL INTERIOR DEL MICROCONTROLADOR
Dentro del circuito integrado que materializa un microcontrolador hay un completo computador, aunque de recursos y prestaciones limitadas Consta de tres grandes bloques
BLOQUES DEL COMPUTADOR
microcon-el mundo exterior (Fig 1.11)
Si sólo existiese un modelo de microcontrolador, éste debería tener muy potenciados todos sus recursos para poderse adaptar a las exigencias de las múltiples aplicaciones posibles Esta potenciación supondría un despilfarro en muchos casos En la práctica, cada fabricante oferta un elevado número de modelos diferentes desde los más sencillos hasta los más potentes Es posible seleccionar la capacidad de la memoria, la velocidad
de funcionamiento, los periféricos y recursos complementarios, el número de líneas de E/S, etc Por todo ello, un aspecto muy destacado en la labor del ingeniero de diseño es
la elección del microcontrolador apropiado
EJEMPLO
Un horno microondas se gobierna mediante un microcontrolador en el que se almacena
el programa, que tiene 382 instrucciones, cada una de las cuales ocupa una palabra
de la memoria de código Para soportar el teclado y la pantalla LCD necesita de doce
Trang 21líneas de E/S ¿Cuál de los siguientes modelos de microcontroladores es el que más se adapta a los requerimientos de la aplicación?
Pro-Figura 1.11 El computador que hay en el microcontrolador sólo dispone de las patitas
exis-tentes en el encapsulado para comunicarse con los periféricos y dispositivos externos a gobernar, recibir la alimentación y la señal de reloj.
Trang 22Por las patitas de un microprocesador salen al exterior las líneas de los buses de direcciones, de datos y de control para permitir comunicar el procesador con la Memo-ria y los Módulos de E/S para configurar un computador completo De esta manera, el computador completo se construye con varios circuitos integrados y se dice que el sis-tema que configura un microprocesador es «abierto» porque su estructura varía según la aplicación a la que se destine (Fig 1.12).
Un microcontrolador es un sistema «cerrado» porque contiene un computador completo y
de prestaciones fijas y limitadas que son difíciles de modificar.
Un microprocesador sólo es una parte del computador, la más importante, la UCP, y para construir un computador completo hay que conectar otros circuitos integrados que contengan la Memoria y los Módulos de E/S; por eso, se puede configurar a medida y se llama sistema «abierto».
El PC es un computador conocido por todos que está basado en un microprocesador, como el Pentium, que reside en la tarjeta principal y se conecta con los módulos de me-moria, los controladores de periféricos (disco duro, impresora, etc.) y recursos auxiliares (fuente de alimentación, circuito de reloj, etc.) configurando la máquina a la medida del usuario (Fig 1.13)
Aunque hay excepciones, los microcontroladores contienen todos los elementos del computador y sus patitas se conectan directamente a los periféricos externos Al no disponer en el exterior de los buses, es bastante complicado ampliar las características con las que se ha fabricado
Figura 1.12 Un computador basado en un microprocesador es un sistema «abierto» que puede
configu-rarse a medida adaptando a sus buses los módulos necesarios.
Trang 231.5 ARQUITECTURA INTERNA
Las partes principales que existen en un microcontrolador son cinco
1 Procesador o UCP.
2 Memoria para las instrucciones y para los datos.
3 Líneas de E/S para la comunicación con el exterior.
4 Periféricos, como temporizadores, conversores AD, comparadores analógicos, etc.
5 Recursos auxiliares, como Perro Guardián, circuito de reloj, modo de funcionamiento con bajo consumo, etc.
1.5.1 El procesador
Es la parte más importante del computador y se compone de dos grandes bloques:
1.o Unidad de Control, que se encarga de interpretar el tipo de instrucción que se
debe realizar
2.o Camino de Datos, que realiza las operaciones con los datos que implican las
instrucciones
Figura 1.13 Alrededor del microprocesador Pentium se distribuyen y conectan los módulos de memoria
y de periféricos que configuran el PC.
Trang 24La Unidad de Control recibe las instrucciones en formato binario o máquina desde
la memoria que almacena el programa y genera las órdenes que necesita el Camino de Datos para efectuarlas, recibiendo datos de entrada y generando otros de salida que se almacenan en la memoria de datos (Fig 1.14)
La estructura del procesador mostrado en la Figura 1.14 corresponde a la propuesta
por Von Neumann y tiene el inconveniente de guardar en la misma memoria las
instruc-ciones y los datos Con objeto de poder acceder simultáneamente a instrucinstruc-ciones y datos
y, además, adaptar las características de las memorias a sus contenidos se utiliza la
ar-quitectura Harvard, que dispone de memorias independientes para datos e instrucciones
(Fig 1.15)
1.5.2 Memoria de programa
Es la memoria donde se guardan las instrucciones del programa que tiene que ejecutar
el microcontrolador La longitud de sus palabras se adapta al número de bits que tienen las instrucciones y su capacidad se adecúa al tamaño que previsiblemente tendrán los programas para los que se destina En los microcontroladores, es interesante no tener que ampliar el tamaño de esta memoria por lo que supone en el volumen y precio del sistema
Figura 1.14 La Unidad de Control de la UCP recibe las instrucciones de la memoria, las interpreta y
gobierna al Camino de Datos para realizar las operaciones correspondientes con los datos.
Trang 25Como el programa a ejecutar en un microcontrolador siempre es el mismo, debe estar grabado de forma permanente y no volátil Los tipos de memoria que se adaptan a estas exigencias son los siguientes:
A) ROM
El programa se graba en la memoria del microcontrolador durante su fabricación diante el uso de «máscaras» Los altos costes de diseño e instrumental sólo aconsejan el uso de la ROM en series de producción muy altas, como sucede con los electrodomésti-cos y productos de gran consumo No se puede borrar ni volver a utilizar
me-B) EPROM
Si el microcontrolador dispone de memoria EPROM para contener el programa, la bación del mismo se realiza con un dispositivo (grabador) gobernado desde un PC En la superficie de la cápsula del microcontrolador hay una ventana de cristal por la que puede someterse al chip a rayos ultravioleta para conseguir el borrado de la memoria EPROM y utilizarla nuevamente Este tipo de memoria es muy interesante en la fase de diseño y de-puración de programas, pero su coste unitario es elevado y su manipulación es complicada
gra-y precisa de grabadores gra-y «quemadores»
C) OTP (Programable una vez)
Al igual que la memoria EPROM, el usuario puede grabar el programa en este tipo de memoria, pero ya no se puede borrar El bajo precio de los microcontroladores con OTP
Figura 1.15 La arquitectura Harvard, habitual en los microcontroladores, dispone de memorias
inde-pendientes para datos e instrucciones.
Trang 26y la sencillez de la grabación recomiendan este tipo para prototipos finales y series de producción cortas.
Es una memoria no volátil que suele garantizar el fabricante hasta un millón de ciclos de grabación/borrado Como inconveniente, destaca el elevado y variable tiempo que se precisa para la escritura y el borrado, la dificultad de alcanzar grandes capacida-des y el elevado consumo de energía Está siendo desplazada por la tecnología FLASH.E) FLASH
Se trata de una memoria no volátil, de bajo consumo, que se puede grabar y borrar en cuito al igual que las EEPROM, aunque disponen de mayor capacidad que estas últimas
cir-Se suelen garantizar los mil ciclos de grabado/borrado El borrado y la escritura se realiza sobre bloques completos en lugar de bytes en la EEPROM
Son muy recomendables en aplicaciones en las que haya que modificar el programa
a lo largo de la vida del producto como consecuencia del desgaste o de cambios de piezas
o especificaciones, como ocurre con los automóviles
1.5.3 Memoria de datos
Los datos que manejan los programas varían continuamente y esto exige que la memoria que los contiene debe ser de lectura y escritura, por lo que la memoria RAM estática (SRAM) es la más adecuada, aunque sea «volátil» y pierda su contenido al quitar la alimentación
Para guardar datos permanentes o no volátiles suele existir en los res un pequeño espacio de datos con memoria EEPROM
microcontrolado-Las memorias tipo EEPROM y FLASH pueden escribirse y borrarse eléctricamente en el mismo circuito donde están montadas No se precisa sacar el circuito integrado del zócalo
en el que residen.
1.5.4 Líneas de E/S
A veces, en ciertos modelos de microcontroladores, existen algunas patitas de la cápsula que están reservadas para recibir la alimentación, la frecuencia de funcionamiento e
Trang 27incluso para producir la reinicialización o reset Las restantes se destinan a soportar la
comunicación con el mundo exterior
Las líneas de E/S sacan información de los periféricos y recursos internos al exterior También recogen información de los dispositivos exteriores y la introducen al microcon-trolador para su procesamiento Se suelen agrupar en conjuntos de ocho líneas, que se llaman «puertas» o «puertos» Son de tipo multifuncional, lo que significa que pueden realizar diversas funciones multiplexadas en el tiempo y programables
1.5.5 Recursos y periféricos auxiliares
Según las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador,
le incorpora diversos elementos que refuerzan y potencian su empleo Entre los recursos más comunes en casi todos los modelos se citan:
a) Circuito de reloj, que genera los impulsos que sincronizan el funcionamiento de todo
el sistema.
b) Temporizadores, destinados a controlar tiempos y retardos.
c) Perro Guardián («watchdog»), que vigila el programa y lo reinicializa cuando se
blo-quea.
d) Conversores A/D y D/A.
e) Comparadores analógicos, para analizar las señales analógicas.
f) Sistemas de protección ante fallos de la alimentación.
g) Modos de funcionamiento de bajo consumo.
h) Protocolos de comunicación, como I 2 C, USART, bus CAN, USB, etc.
Figura 1.16 Un proyecto con microcontrolador se materializa en una tarjeta de circuito impreso que
contiene al microcontrolador con el programa grabado y unos pocos elementos auxiliares
La fotografía muestra una tarjeta para la creación de prototipos basados en PIC.
Trang 281.6 HERRAMIENTAS DE DISEÑO
El resultado de un proyecto basado en microcontrolador suele consistir en una pequeña tarjeta de circuito impreso que soporta al microcontrolador, que tiene grabado en su memoria de código el programa de control y una serie de componentes auxiliares Dicha tarjeta se conecta a la fuente de alimentación y a los sensores, actuadores y dispositivos que gobierna (Fig 1.16)
Para desarrollar un proyecto se precisan de herramientas para la creación del software
y para la implementación y puesta a punto del hardware Entre las herramientas nadas al software se precisa un programa que permita desde un PC editar los programas
desti-en un ldesti-enguaje, compilarlos para obtdesti-ener el programa ejecutable, simular el programa y
depurarlo Microchip ha creado para trabajar con sus microcontroladores PIC un entorno integrado, denominado MPLAB IDE, que contiene todas las herramientas requeridas para el desarrollo del software El MPLAB IDE puede encontrarlo en el CD que acom-
paña al libro y su propietario lo pone a disposición de los usuarios libremente en su sitio
en Internet (www.microchip.com) Se recomienda visitar este sitio habitualmente para
trabajar con la última versión disponible (Fig 1.17)
Figura 1.17 El entorno MPLAB IDE de Microchip contiene todas las herramientas necesarias para el
des-arrollo del software de los proyectos que utilizan microcontroladores PIC.
1 Gestión del proyecto
Trang 29Los lenguajes usados normalmente para la confección de los programas para crocontroladores son el Ensamblador, el C y el BASIC Para todos ellos existen en el mercado eficientes compiladores e intérpretes.
mi-Confeccionado y puesto a punto el software, hay que grabar el programa ejecutable
en la memoria del microcontrolador, montar y conectar todos los componentes que
con-Figura 1.18 Fotografía del grabador de PIC denominado «PIC’ Burner», de Ingeniería de
Microsiste-mas Programados.
Figura 1.19 Fotografía de un emulador de Microchip que permite comprobar en tiempo real el
compor-tamiento del prototipo y depurarlo.
Trang 30figuran el hardware en la PCB y comprobar el correcto funcionamiento del prototipo
Tanto los fabricantes de microcontroladores como otras empresas relacionadas ofrecen
un completo abanico de grabadores, emuladores y sistemas para el desarrollo de ciones
aplica-1.7 LOS FABRICANTES Y EL MERCADO MUNDIAL
Hasta el año 2002, Motorola ha ocupado el primer puesto del ranking mundial de
fa-bricantes de microcontroladores de 8 bits, que son los más populares A partir de dicho
año, Microchip le ha reemplazado como líder mundial de dicho tipo de
microcontrola-dores Otros importantes fabricantes de estos dispositivos son Mitsubishi, NEC, Intel, SGS-Thomson, Hitachi, ST-Micro, Renesas, etc (Fig 1.21)
En el año 2000 casi se vendieron cuatro billones de microcontroladores de 8 bits,
alcanzando Microchip unas ventas superiores cercanas a los 500 millones de dólares En
2006, dicha empresa alcanzó una cifra de ventas cercana a los 1.000 millones de dólares (Fig 1.22)
Figura 1.20 Los sistemas de desarrollo permiten grabar los microcontroladores, conectar los
perifé-ricos y comprobar en tiempo real el comportamiento del prototipo Fotografía de la PIC School empleada en esta obra para el desarrollo de las aplicaciones prácticas.
Trang 31Figura 1.21 «Ranking» mundial de los principales fabricantes de microcontroladores de 8 bits ordenado
por el número de unidades vendidas (Dataquest).
Figura 1.22 Crecimiento de las ventas anuales de microcontroladores de Microchip.
Trang 322.1 LA SELECCIÓN DEL MEJOR
De un centenar de fabricantes de microcontroladores con varios miles de modelos rentes resulta una misión imposible elegir al «mejor» En realidad, no existe, porque en cada aplicación son sus requerimientos específicos y las circunstancias que la rodean los que determinan el microcontrolador más conveniente para ese caso
dife-Los microcontroladores PIC tienen «ángel», así como una gran aceptación en la comunidad de profesionales y aficionados que se dedican al diseño de aplicaciones Ésta
es la favorable sensación que comparten los autores de este libro, quienes, admitiendo su subjetividad, sólo han utilizado PIC desde que los conocieron
apasionan a los que trabajamos a caballo entre la electrónica y la informática, de los cuales citamos los más importantes:
• Sencillez de manejo.
• Magnífica información técnica.
• Precio ajustado y buena disponibilidad.
• Instrucciones comprensibles y poco numerosas.
• Excelente promedio de los parámetros de funcionamiento: velocidad, consumo, tación, tamaño, etc.
alimen-• Herramientas de desarrollo abundantes, fáciles y baratas.
• Compatibilidad del software y hardware que facilitan la migrabilidad hacia modelos
su-periores.
• Gran variedad de modelos para encontrar el más apropiado para cada caso.
• Disposición del fabricante Microchip y de sus empleados para ayudar a sus clientes
poten-tes herramientas software a través de Internet También comercializa a precios titivos herramientas hardware que soportan la realización de proyectos y colabora con
compe-otras empresas a desarrollar equipos y programas para cimentar un mercado con una gran variedad de ayudas al diseño con microcontroladores PIC
21
Los PIC,
Trang 33Microchip es el líder mundial en la venta de microcontroladores de 8 bits desde 2002,
y en la actualidad, potencia la línea de microcontroladores de 16 bits y la de los ladores Digitales de Señal (DSC)
Contro-Figura 2.1 En el mercado existen excelentes y económicas herramientas para el entrenamiento y diseño
con PIC En la fotografía, el sistema de desarrollo «Micro’ PIC Trainer», de Ingeniería de Microsistemas Programados.
Figura 2.2 Espectacular crecimiento del número de modelos diferentes de microcontroladores PIC.
Trang 342.2 LA GRAN FAMILIA DE LOS PIC
Cada proyecto tiene sus propios requerimientos técnicos y necesidades y lo ideal es resolverlo con aquel microcontrolador que las cumpla exactamente Si no cubre algu-
na de ellas, habría que añadir elementos auxiliares externos que complican, encarecen
y aumentan el volumen del equipo físico Si el microcontrolador tiene más potencia, capacidad y recursos que lo que necesita la aplicación, se están desaprovechando y se está pagando más y trabajando con un dispositivo más complejo y voluminoso que lo necesario
El objetivo de los fabricantes de microcontroladores es ofertar una amplia gama de modelos, desde los más simples hasta los más complejos, para que todos encuentren el que precisan
La variedad de PIC aumenta incesantemente, y en la actualidad, los modelos nidos en el catálogo comercial alcanzan aproximadamente los tres centenares, incluyen-
conte-do los de 8 y 16 bits
Desde 1990, Microchip ha vendido más de cuatro billones de microcontroladores PIC y
más de 400.000 sistemas de desarrollo.
o gamas en cada tipo (Fig 2.3)
Paralelamente al aumento del número de modelos, ha ido creciendo la potencia y
el rendimiento de los microcontroladores PIC, hasta alcanzar versiones muy cercanas
a los DSP (Procesadores Digitales de Señales), que permiten resolver aplicaciones de alta complejidad y que tienen un espléndido futuro (Fig 2.4)
Figura 2.3 Clasificación de los microcontroladores PIC fabricados por Microchip.
Trang 352.3 PRINCIPALES CARACTERÍSTICAS
Los microcontroladores PIC se distinguen por poseer cinco características específicas que les otorga una ventaja significativa sobre sus competidores
1 a Arquitectura RISC, tipo Harvard, basada en un banco de registros.
2 a Juego de instrucciones reducido de la misma longitud y ortogonal.
3 a Cauce de procesamiento segmentado.
4 a Herramientas de desarrollo abundantes, fáciles y económicas.
5 a Gran diversidad de modelos para facilitar la migrabilidad.
Figura 2.4 Aumento del rendimiento y prestaciones de los microcontroladores PIC.
Trang 362.3.1 Arquitectura RISC, tipo Harvard, basada en un banco
de registros
La arquitectura Harvard se caracteriza por disponer de dos memorias independientes para contener los datos y las instrucciones Esta dualidad permite el acceso simultáneo, así como que la longitud de las posiciones y la capacidad de cada memoria se acomode
a los requerimientos de las instrucciones y de los datos
Por ser un procesador RISC, el número de instrucciones es reducido Así, la gama básica sólo dispone de 33 instrucciones en su repertorio, la gama media de 35 y la gama mejorada
de 79 Una propiedad muy interesante hace referencia a la longitud de las posiciones de la memoria de programa, que se ajusta al tamaño de la instrucción De esta forma, la longitud de las posiciones de la memoria de instrucciones de la gama básica es de 12 bits, la de la gama media de 14 bits y la de la gama mejorada de 16 bits La simplicidad de la función que realiza cada instrucción permite que la mayoría se ejecute en un solo ciclo de instrucción equivalente
a cuatro ciclos de reloj Todas estas características permiten que el tamaño de los programas sea muy compacto, la velocidad de ejecución excelente y los compiladores para el lenguaje
La longitud de las instrucciones es diferente para cada gama
Figura 2.5 Las memorias independientes permiten el acceso simultáneo y la adecuación de la capacidad
y longitud de cada memoria a los datos y las instrucciones.
Trang 37A) GAMA BÁSICA: instrucciones de 12 bits de longitud.
B) GAMA MEDIA: instrucciones de 14 bits de longitud.
C) GAMA MEJORADA: instrucciones de 16 bits de longitud.
2.3.3 Cauce de procesamiento segmentado
El dividir el cauce donde se ejecutan las instrucciones en etapas supone una notable ducción del tiempo que tarda en ejecutarse cada una debido al paralelismo implícito En cada instante se están ejecutando tantas instrucciones como etapas existan en el cauce,
re-ya que en cada etapa hay una instrucción En la Figura 2.6 se muestra el cauce de dos etapas correspondiente a los PIC Mientras en la segunda etapa se realiza la fase de ejecu-ción de la instrucción en curso, en la primera se procede a la búsqueda de la siguiente instrucción en la memoria de programa Si las dos etapas necesitan el mismo tiempo una vez que está el cauce lleno, el tiempo que transcurre entre cada ejecución de una instrucción es de T/2
2.3.4 Herramientas de desarrollo abundantes, fáciles y económicas
Tanto Microchip como otras segundas fuentes se esfuerzan en poner a disposición de los usuarios de PIC herramientas software y hardware eficaces en la implementación de
proyectos La más destacable es el entorno integrado MPLAB IDE y el
programador-depurador ICD2, ambas de Microchip (Fig 2.7).
2.3.5 Gran diversidad de modelos para facilitar la migrabilidad
Optimizar un proyecto conlleva la elección del modelo de microcontrolador que cumpla todas las especificaciones Entre unos 300 modelos de PIC resulta fácil elegir el más adecuado para cada aplicación
Figura 2.6 El cauce segmentado en dos etapas supone que cada T/2 sale de él una instrucción
Trang 38ejecu-La migrabilidad es la posibilidad de poder cambiar de microcontrolador cuando lo
requiere la aplicación, pues existe compatibilidad del hardware y del software
La compatibilidad hardware se consigue manteniendo la distribución de las
funcio-nes de las patitas en los diferentes encapsulados y las características fundamentales de los módulos periféricos (Fig 2.8)
La compatibilidad software se produce:
a) Por existir las mismas instrucciones en cada gama
b) Por ser muy parecidas las instrucciones en distintas familias
c) Por utilizar las mismas herramientas de desarrollo para todas las familias
Figura 2.7 Fotografía del grabador-depurador ICD2 de Microchip.
Figura 2.8 Al mantener la distribución de las patitas y sus funciones en los diversos encapsulados se
favorece la migrabilidad entre dispositivos; en este caso, de 8, 14 y 20 patitas.
Trang 39Estas propiedades de los PIC posibilitan la ampliación de la capacidad de la
me-moria del dispositivo, así como la inclusión de nuevos periféricos sin perder el software
desarrollado y con mínimos cambios en el conexionado
Se describen otras aportaciones típicas de los PIC
A) Tecnología nanoWatt
Con ella se consigue una gran flexibilidad en el voltaje de alimentación (de 2 a 5,5 VDC), múltiples modos de generar las señales de reloj y posibilidad de funcionamiento con bajo consumo.
B) Encapsulados variados
Para poder usar en diferentes montajes.
C) Mejora del proceso de fabricación
Entre 1998 y 2003, Microchip rebajó la tecnología de fabricación de sus chips desde 0,7
hasta 0,4 µm (micras), con un voltaje de alimentación comprendido entre 2 y 5,5 VDC Desde 2003 al 2006, la tecnología ha bajado hasta 0,22 µm y la tensión del núcleo del procesador de 2 a 3,6 VDC, manteniéndose en 5 V la tensión para los elementos de entrada/salida.
D) Fabricación libre de plomo
E) Estrategia comercial
Red mundial de oficinas con soporte tecnológico y comercial.
F) Información técnica
Existe una sección en Internet completísima que incluye herramientas gratuitas, suministro
de muestras, atención exquisita y disponibilidad inmediata.
2.4 LA GAMA BÁSICA
La misión de este libro, que constituye la primera parte de una obra dedicada a los
micro-controladores de Microchip, es la de facilitar al lector el diseño de aplicaciones usando los
microcontroladores PIC de 8 bits de la gama básica y los más sencillos de la gama media La segunda parte se dedica a los modelos avanzados de la gama media y a los de la gama mejorada
Finalmente, el libro dsPIC Diseño Práctico de Aplicaciones está destinado a los Controladores
Digitales de Señal (DSC), que son la combinación de los microcontroladores PIC de 16 bits con los principales recursos propios de los DSP (Procesadores Digitales de Señales)
Los modelos de la gama básica son los más simples y económicos, estando
bastan-te limitada su pobastan-tencia, su capacidad de memoria y el número de recursos y periféricos
que disponen Pero ¡son los que más se venden! Con ellos se fabrican multitud de
productos de consumo masivo, y si lo quiere comprobar, métase la mano al bolsillo
o curiosee lo que tiene alrededor Probablemente encontrará las llaves y el mando a distancia del coche, el de la alarma de casa, el de apertura de la puerta del garaje Abra
la tapa y localice un pequeño circuito integrado con muy pocas patitas ¿Qué es? Un microcontrolador PIC de la gama básica (Fig 2.9)
Trang 40Como se refleja en el gráfico de la Figura 2.10, la gama básica abarca modelos que se caracterizan por sus encapsulados con pocas patitas (de 6 a 40) y por su escasa capacidad de memoria de programa (hasta 2 K palabras de 12 bits).
Estos pequeños microcontroladores están orientados a proveer soluciones con el menor coste y volumen posible, lo que les hace muy recomendables para gobernar todos los productos de escasa complejidad que funcionan con batería, como los mandos a dis-tancia, los pastilleros y las alarmas portátiles
La familia PIC10F, comprende un conjunto de baratísimos microcontroladores de
8 bits presentados en una cápsula diminuta con sólo seis patitas Resuelven numerosas aplicaciones y sólo requieren un corto período de aprendizaje
La familia PIC12F, cuyos modelos están encapsulados con ocho patitas, se utiliza universalmente para resolver las aplicaciones típicas que están limitadas por el volumen
y por el peso y que hasta hace poco se resolvían con dispositivos electrónicos lógicos, ASIC, elementos electromagnéticos, etc Su extraordinaria sencillez de manejo y sus excepcionales prestaciones, unidas al bajo precio, han popularizado el empleo de estos microcontroladores en numerosas aplicaciones de bajo coste, entre las que destacan las siguientes: