PortMICROCONTROL.qxd 13/7/09 14:16 Página 1 M Microcontrolador Microcontrolador i PIC16F84 c r o Desarrollo de proyectos PIC16F84 c 3ª EDICIÓN o n Este libro introduce al lector en la realización de proyectos de circuitos t r electrónicos construidos con el popular microcontrolador PIC16F84. Tanto los Desarrollo de proyectos aficionados sin grandes conocimientos de electrónica, pero con inquietud suficiente o para montar sencillos trabajos con microcontroladores, como los estudiantes de l a Ciclos Formativos de Electrónica y los estudiantes de Ingeniería Industrial, 3ª EDICIÓN d Telecomunicaciones o Informática, encontrarán de gran utilidad esta obra para la o realización de sus primeros proyectos. r El texto resulta eminentemente práctico ya que contiene más de 200 ejercicios resueltos con sus programas y esquemas, siendo muchos de ellos P proyectos clásicos, como termómetros, relojes, calendarios, cerraduras I C electrónicas, control de displays, termostatos, temporizadores, alarmas, sirenas, comunicación con el ordenador, juegos, control de motores, microrobots, etc. 1 También dispone de su propia página Web en www.pic16f84a.com que pretende 6 ser un lugar de encuentro entre todos aquellos que utilicen el libro, y donde podrán F intercambiar ideas, realizar consultas, descargar actualizaciones de los proyectos, 8 apuntes de los conocimientos previos necesarios, así como el esquema de todos 4 los ejercicios para poder comprobarlos con el popular simulador software PROTEUS. 3ª EDICIÓN El software utilizado es de libre distribución y los circuitos emplean F E componentes que pueden adquirirse fácilmente en cualquier tienda de L e n u r r productos electrónicos. Para el desarrollo de cualquiera de los proyectos c n i planteados no se precisa de grandes medios materiales, por lo que as an qu realizarlos resulta sencillo, económico y ameno, además, se incluye un d e ejeCrDci-cRioOsM y nqoutaes ctéocnntiiecnaes . el software necesario, las soluciones a los J. Ló o Re Pala p m c e i i z r o o s Enrique Palacios Fernando Remiro 9 788478979172 Lucas J. López Incluye CD-ROM 9 7 8 8 4 7 8 9 7 9 1 7 2 MICROCONTROLADOR PIC16F84 DESARROLLO DE PROYECTOS 3.a edición Descarga de Material Adicional Este E-book tiene disponible un material adicional que complementa el contenido del mismo. Este material se encuentra disponible en nuestra página Web www.ra-ma.com. Para descargarlo debe dirigirse a la ficha del libro de papel que se corresponde con el libro electrónico que Ud. ha adquirido. Para localizar la ficha del libro de papel puede utilizar el buscador de la Web. Una vez en la ficha del libro encontrará un enlace con un texto similar a este: “Descarga del material adicional del libro” Pulsando sobre este enlace, el fichero comenzará a descargarse. Una vez concluida la descarga dispondrá de un archivo comprimido. Debe utilizar un software descompresor adecuado para completar la operación. En el proceso de descompresión se le solicitará una contraseña, dicha contraseña coincide con los 13 dígitos del ISBN del libro de papel (incluidos los guiones). Encontrará este dato en la misma ficha del libro donde descargó el material adicional. Si tiene cualquier pregunta no dude en ponerse en contacto con nosotros en la siguiente dirección de correo: [email protected] MICROCONTROLADOR PIC16F84 DESARROLLO DE PROYECTOS 3.a edición ENRIQUE PALACIOS MUNICIO FERNANDO REMIRO DOMÍNGUEZ LUCAS J. LÓPEZ PÉREZ La ley prohíbe Copiar o Imprimir este libro MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS, 3ª EDICIÓN © Enrique Palacios Municio, Fernando Remiro Domínguez y Lucas J. López Pérez © De la Edición Original en papel publicada por Editorial RA-MA ISBN de Edición en Papel: 978-84-9964-917-2 Todos los derechos reservados © RA-MA, S.A. Editorial y Publicaciones, Madrid, España. MARCAS COMERCIALES. Las designaciones utilizadas por las empresas para distinguir sus productos (hardware, software, sistemas operativos, etc.) suelen ser marcas registradas. RA-MA ha intentado a lo largo de este libro distinguir las marcas comerciales de los términos descriptivos, siguiendo el estilo que utiliza el fabricante, sin intención de infringir la marca y solo en beneficio del propietario de la misma. Los datos de los ejemplos y pantallas son ficticios a no ser que se especifique lo contrario. RA-MA es una marca comercial registrada. Se ha puesto el máximo empeño en ofrecer al lector una información completa y precisa. Sin embargo, RA-MA Editorial no asume ninguna responsabilidad derivada de su uso ni tampoco de cualquier violación de patentes ni otros derechos de terceras partes que pudieran ocurrir. Esta publicación tiene por objeto proporcionar unos conocimientos precisos y acreditados sobre el tema tratado. Su venta no supone para el editor ninguna forma de asistencia legal, administrativa o de ningún otro tipo. En caso de precisarse asesoría legal u otra forma de ayuda experta, deben buscarse los servicios de un profesional competente. Reservados todos los derechos de publicación en cualquier idioma. Según lo dispuesto en el Código Penal vigente ninguna parte de este libro puede ser reproducida, grabada en sistema de almacenamiento o transmitida en forma alguna ni por cualquier procedimiento, ya sea electrónico, mecánico, reprográfico, magnético o cualquier otro sin autorización previa y por escrito de RA-MA; su contenido está protegido por la Ley vigente que establece penas de prisión y/o multas a quienes, intencionadamente, reprodujeren o plagiaren, en todo o en parte, una obra literaria, artística o científica. Editado por: RA-MA, S.A. Editorial y Publicaciones Calle Jarama, 33, Polígono Industrial IGARSA 28860 PARACUELLOS DE JARAMA, Madrid Teléfono: 91 658 42 80 Fax: 91 662 81 39 Correo electrónico: [email protected] Internet: www.ra-ma.es y www.ra-ma.com Maquetación: Autores Diseño de portada: Autores ISBN: 978-84-9964-358-8 E-Book desarrollado en España en septiembre de 2014 A mi mujer, Maribel, por su apoyo, cariño y paciencia. A mis hijos, Cristina y Enrique, mi mayor fuente de alegrías y satisfacciones. A mis padres, Enrique y Sagrario, en reconocimiento a su sacrificio. Enrique A mis padres, hijo y demás personas importantes de mi vida. Lucas A mis dos mujeres, Natalia con la que decidí compartir mis días y Mónica que me alegra cada día desde que nació y que a sus tres años no deja de querer ayudarme a escribir y programar microcontroladores y periféricos. Fernando CONTENIDO PRÓLOGO........................................................................................................................................XXI CAPÍTULOS 1. MICROCONTROLADOR PIC16F84..............................................................................................1 2. PERIFÉRICOS BÁSICOS.................................................................................................................9 3. GRABACIÓN DE MICROCONTROLADORES PIC.........................................................................21 4. ORGANIZACIÓN DE LA MEMORIA.............................................................................................37 5. ARQUITECTURA INTERNA.........................................................................................................47 6. ENSAMBLADOR.........................................................................................................................57 7. MPLAB.....................................................................................................................................77 8. PROGRAMACIÓN ELEMENTAL.................................................................................................101 9. SALTOS....................................................................................................................................119 10. SUBRUTINAS............................................................................................................................141 11. MANEJO DE TABLAS................................................................................................................157 12. SUBRUTINAS DE RETARDO......................................................................................................169 13. LCD.........................................................................................................................................187 14. EEPROM DE DATOS...............................................................................................................213 15. TIMER 0...................................................................................................................................223 16. OTROS RECURSOS....................................................................................................................235 17. INTERRUPCIONES. LECTURA DE ENTRADAS...........................................................................253 18. INTERRUPCIÓN POR DESBORDAMIENTO DEL TIMER 0...........................................................271 VIII MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS RA-MA 19. TECLADO MATRICIAL..............................................................................................................289 20. COMUNICACIÓN CON ORDENADOR ........................................................................................305 21. BUS I2C..................................................................................................................................331 22. 24LC256, MEMORIA EEPROM EN BUS I2C........................................................................345 23. DS1624, TERMÓMETRO EN BUS I2C.....................................................................................359 24. DS1307, RELOJ CALENDARIO EN BUS I2C............................................................................371 25. SAA1064, CONTROLADOR DE DISPLAY.................................................................................397 26. PCF8574, EXPANSOR DE BUS I2C.........................................................................................409 27. PCF8591, ADC Y DAC EN BUS I2C....................................................................................423 28. BUS DE UNA LÍNEA.................................................................................................................441 29. MOTORES DE CORRIENTE CONTINUA.....................................................................................467 30. MOTORES PASO A PASO...........................................................................................................481 31. SERVOMOTORES DE RADIOCONTROL .....................................................................................505 32. SENSORES PARA MICROROBÓTICA.........................................................................................515 33. CONSTRUCCIÓN DE UN MICROBOT.........................................................................................543 APÉNDICES A. CARACTERÍSTICAS TÉCNICAS DEL PIC16F84A.....................................................................565 B. REPERTORIO DE INSTRUCCIONES ...........................................................................................569 C. CONSTANTES Y OPERADORES ................................................................................................587 D. PRINCIPALES DIRECTIVAS DEL ENSAMBLADOR MPASM.....................................................589 E. REGISTROS ESPECIALES..........................................................................................................601 F. GRABADOR T20-SE................................................................................................................611 G. CÓDIGO ASCII........................................................................................................................613 H. DIRECCIONES DE INTERNET....................................................................................................615 I. CONTENIDO DEL CD-ROM....................................................................................................617 ÍNDICE ALFABÉTICO............................................................................................................................619