ENRIQUE PALACIOS MUNICIO, FERNANDO REMIRO DOMINGUEZ
Microcontrolador PIC16F84 / Desarrollo de Proyectos
- 3a Edición
- MEXICO ALFAOMEGA 2009
- 652p Ilustración 17 x 23 cm
Capitulo 1: MICROCONTROLADOR PIC16FS4 .......................................... 1.1 Micrricontrolarlures PIC ................................................................................... 1.2 Alimentación de un PIC16F84 ..................................................................... 1.3 Puertos de entraddsalida .................................................................................. 1.4 Oscilador ........................................................................................................... 1.4.1 Oscilador XT ..................................................................................... 1.4.2 Oscjlador RC ..................................................................................... 1.4.3 Osciladores HS y LP ......................... ............................................. 1.4.4 Utilizando una señal de reloj externa ................................................ 1 . 5 Reset .................................................................................................................. 1.6 Montaje del entrenador ..................................................................................... capitulo 2: PERTFÉFUCOS BASICOS ......................................................... 2.1 Diodo LED ........................................................................................................ 2.2 Interruptores y pulsadores .................... .................................................... 2.3 Entradas &@tales con optoacopladores ........................................................... 2.4 Display de siete segmentos ................................ ......................................... 2.5 Controlando cargas a 230 V ............................................................................. 2.5.1 Conml con relé ................................................................................. 2.5 . 2 Control con re14 miniatura en cápsula DIL ....................................... 2.5.3 Control mediante fototriac .................... ......................................... 2.5.4 Conml de potencia con tnac .............................................................. 2.6 Zumbador .......................................................................................................... X MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS RA-MА RA-MA Capítulo 3: GRABACIÓN DE MICROCONTROLADORES PIC. 21 6.5 El código6.5.1 H3.1 Grabación de un microcontrolador 21 6.5.203.2 Grabadores. 22 6.5.3 3.3 Software de grabación IC-Prog. 24 6.5.4 3.4 Grabación con medios reducidos 25 6.5.5 3.5 Proceso de grabación..... 26 6.6 Constant3.6 Buffer de almacenamiento de programas....... 31 3.7 IC-Prog trabajando bajo Windows 2000 o XP 31 6.7 Operado6.8 El repen3.8 Errores frecuentes en la programación 32 6.9 Instrucc3.9 Prácticas de laboratorio 34 6.9.1 6.9.2Capítulo 4: ORGANIZACIÓN DE LA MEMORIA 37 6.9.3 4.1 Arquitectura interna del PIC16F84 37 6.9.4 4.2 Organización de la memoria 37 6.9.5 4.3 Memoria de programa 39 6.10 Instruco4.4 El contador de programa (PC) 39 6.10.14.5 Memoria de datos 41 6.10.24.6 Diferencias entre el PIC16F84A y el PIC16C84 41 6.11 Instrucс4.7 Registros del SFR. 42 6.12 Config4.8 Registros relacionados con los puertos. 42 6.13 Directiv4.9 Registro PCL y contador de programa 42 6.13.14.10 Registro de trabajo W 43 6.13.24.11 Registro de estado o STATUS.. 43 6.13.34.12 Estado de los registros tras un reset 44 6.13.44.13 Registro de configuración 45 6.13.56.13.6Capítulo 5: ARQUITECTURA INTERNA 47 Capítulo 7:5.1 Microprocesador y Microcontrolador. 47 5.2 Arquitectura de Von Neumann 48 7.1 Entorng5.3 Arquitectura Harvard.. 49 7.2 Primerd5.4 Procesador segmentado 50 7.3 Ensamb5.5 Procesador RISC 5.6 Arquitectura ortogonal 5.7 Puertos. 5.8 Puerto A 51 7.4 Fichero52 7.5 Ventana53 7.5.153 7.5.25.9 Puerto B. 56 7.5.37.5.4Capítulo 6: ENSAMBLADOR 57 7.5.57.5.66.1 Lenguaje máquina 57 7.6 Simula6.2 Lenguaje ensamblador 58 7.7 6.3 Programa ensamblador. 58 Simula7.8 Simula6.4 Ficheros resultantes del ensamblado 59 7.9 Grabac RA-MA RA-MA ÍNDICE XI 21 6.5 El código fuente. 59 21 6.5.1 Etiquetas. 60 6.5.2 Código de operación. 61 22 24 6.5.3 Operandos 61 6.5.4 Comentarios 61 25 6.5.5 Normas de estilo para escribir un archivo fuente 62 26 6.6 Constantes numéricas y alfanuméricas. 63 31 6.7 Operadores aritméticos. 64 31 32 6.8 El repertorio de instrucciones. 64 34 6.9 Instrucciones de carga 66 37 37 37 6.9.1 clrw 6.9.2 clrf f. 6.9.3 movlw k 6.9.4 movf f.d. 6.9.5 movwf f.. 66 67 67 67 67 39 6.10 Instrucciones de bit 68 39 6.10.1 bcf fb 68 41 6.10.2 bsf f.b 68 41 6.11 Instrucción "goto k" 68 42 6.12 Configurar las líneas de los puertos. 69 42 6.13 Directivas 71 42 6.13.1 END 71 43 6.13.2 EQU 72 43 6.13.3 ORG 72 44 6.13.4 CONFIG 73 45 6.13.5 LIST P=16F84A 73 6.13.6 INCLUDE . 73 47 47 Capítulo 7: MPLAB. 77 48 7.1 Entorno MPLAB 77 49 50 51 52 53 53 56 57 57 58 58 59 7.2 Primeros pasos con MPLAB IDE. 7.3 Ensamblado del programa. 7.4 Fichero hexadecimal resultante. 7.5 Ventanas de visualización 7.5.1 Ventana de visualización de la memoria de programa 7.5.2 Ventana Disassembly 7.5.3 Ventana de visualización de los registros del SFR 7.5.4 Ventana de contenido de la memoria RAM. 7.5.5 Ventana personalizada Watch.. 7.5.6 Linea de estado.... 7.6 Simulación básica 7.7 Simulación mediante Breakpoints y Traza 7.8 Simulación de entradas........... 7.9 Grabación con el archivo hexadecimal 78 84 86 87 88 88 88 90 90 91 91 93 95 96 XII MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS RA-MA RA-MA 7.10 Fichero listable. 7.11 Prácticas de laboratorio 98 9.3 Salt99 9.9.9.4 Con8.3 8.4 Capítulo 8: PROGRAMACIÓN ELEMENTAL 8.1 Instrucciones de suma 8.1,1 addlw k. 8.1.2 addwf f.d 8.2 Instrucciones de resta 8.2.1 sublw k 8.2.2 subwf f.d Incrementar y decrementar. 8.3.1 decf f.d 8.3.2 incf f,d Instrucciones lógicas 101 9.9.101 9 102 9.102 9.5 Laz103 9.103 و103 9.104 9.6 Pro104 9.7 Dia104 9.8 Má 104 9 8.4.1 andlw k.. 8.4.2 andwf f.d 8.4.3 comf f.d 8.4.4 iorlw k. 105 9.105 9.9 Con105 9.10 Sal105 9.11 Sal8.4.5 iorwf f,d. 8.4.6 rlf f.d.. 8.4.7 rrf fd 106 9.12 Prá106 106 Capítul8.4.8 swapf f,d. 107 8.4.9 xorlw k 107 10.1 Su8.4.10 xorwf f,d. 107 10.2 Su8.5 Instrucción "sleep" 108 10.3 La8.6 Algunas instrucciones útiles. 109 10.4 In:8.7 Herramientas 111 10.5 Ej8.7.1 Ensambladores y compiladores 111 10.6 Ve8.7.2 Simuladores software 111 10.7 Li8.7.3 Emuladores. 113 10.8 Di8.7.4 Grabadores o programadores 113 10.9 Si8.7.5 Sistemas de desarrollo 113 10.10 Pr8.8 Proyectos con medios reducidos 114 10.11 Pr8.9 Desarrollo de proyectos sencillos 115 8.10 Prácticas de laboratorio 117 Capítul11.1 Ta11Capítulo 9: SALTOS. 119 9.1 Saltos condicionales 119 11.2 M9.2 Saltos en función de un bit 120 119.2.1 Instrucción "btfsc f,b" 11120 9.2.2 Instrucción "btfss f,b" 120 11 9.3 Saltos en funcidn de un registro. .. .. . .. .. . .. . . . ... . . . . .. . .. .. .. . . . .. .. . . . .... . . . .. .. . .. .. .. . .. . . . ,. ,.. . r 9.3.1 I~hccion "decfsz f,d" . .. . . . .. . . . . . . . . .. .. . .. .. . . . .. . . . . . .. .. .. . . . .. . . .. . .. .. . . . .. .. . . . . . . . 9.3.2 Instrucción "incfsz f,d". .. . . . . . . . . . . . . . .. .. . . . .. . . . . . . . .. . .. .. .. . . . .. .. . . . .. . . . . . .. .. . .. .. . . . . , 9.4 Cotnparacion de registros.. . . .. . . .. . .. . .. .. . .. .. . .. .. . .. . . . .. .. .. .. . .. .. .. . .. .. .. . . . ... . . . . . . .. . .. .. .. . .. . 9.4.1 Comprobar que un registro vale O .................................... ... ......,......,. 9.4.2 Comprobar igualdad enlre dos regismos.. .. .. .. . .. .. .. . . . .. . . . .. .. ... .. .. . .. .. . .. .. . 9.4.3 Comprobar que un registro es mayor o menor que otro .................... 9.4.4 Programa ejemplo.. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . . . . . . .. .- .. . .. .. .. . .. . . .. . .. .. ... .. .. . .. .. . 9.5 Lazos o bucles .................................... ......,.,.,..,.......................... ..................... 9.5.1 Lazo de repeticihn infinita .. .. . . . .. . . . . . ... . . .. . .. .. . . . . . . . . .. .. . . . .. ... .. . . . . . .. .... .. 9.5.2 Lazo con condición de testeo ..... .. . . . .. . .. .. . . . .. ... . . .. .. .. . .. .. .. .. . .. .. .. .. . . . .. . .. .. . 9.5.3 Lazo que se repite un numero conocido de veces .............................. 9.6 Programacion y algoritmo.. .. . . . .. .. . .. .. . . . .. . . . .. .. .... , . . . . . . . .. . . . .. .. . .. .. , . . .. .. . .. .. .. . .. .. . . . .. . 9.7 Diagrama de flujo .. .... .. . . . . .. . . .. .. .... . . . .. . .. .. . . . .. .. .. . -. .. .. .. . . . .. ..... .. . . . .. .. . . . .. .. 9.8 Más directivas importantes .............................. ............................................. 9.8.1 CBLOCK y ENDC ... ......................... .... ... ......................................... 9.8.2 #DEFINE ..................................... ... ..................................................... 9.9 Conversionde binarionatural aBCD ................................. ... .......................... 9.10 Salto indexado ...................... .............. ... .......,.. ........................... ..................... 9.1 1 Salto indexado dcscontrolado ........................ ..... .................................... 9.12 Prácticas de labamtorio .................................................................................. Capitulo 10: SUBRUTTN.4S ..... ........... ......... ...... ........................... ..................... 10.1 Subrutinas ....................... ......................... ........................... ..................... 1 0.2 Subrutinas anidadas .... . . . . . . .. . . . . . . . .. . . . .. . . . .. . . . . . . . . .. .. . .. .. . .. .. . . . .. .. . . . .. . . . .. . . . . . .. . . . .. . . . .. . 10.3 La pila ..................... .............. .... ..................................................................... 10.4 Tnstnicciones "call" y "retuni" ...... . . . . .. . . . .. .. . .. . . . .. .. . . . .. .. . .. .. . . . .. .. . .. .. . . . .. .. . . . . . . .. .. 10.5 Ejemplo de utilización de las subrutinas ........... ........................................... 10.6 Ventajas de las subrutinac ..................................... ........................................ 10.7 Lbreria de subrutinas.. . . . . . . . . . .. .. . .. .. . .. .. . . . .. .. . .. .. . .. .. . .. .. . . . .. .. .. . .. .... . . . .. . . . .. .. ..... . . 10.8 Directiva "INCLUDE". .. . .. .. .. . .. . . . .. .. ,.. .. . .. .. . . . .. . .. .. ... .. . . . . . .. . .. .. . . . .. .. . .. . . . .. .. . . . .. . .. . 1 0.9 Simulación de subni tinas en MPLAEI . .. . .. .. . . . .. . . . .. . . . .. .. ... .. . .. .. .. . .. ... . . . . .. . . . .. , .. .. . , 10.10 Programacion estructurada ........................... .. ...qq.....,,,-..........,q, .q,.,.............,,, 1 O. 1 1 Practicas de laboratorjo . . . . . . . . . . . .. .. . .. . . .. . .. .. . . . . . . .. . . . .. .. .. . .. .. . .. .. . . . .. .. . .. . . . .. .. . .. .. . Capitulo 11: MANEJO DE TABLAS ..................................................... 1 1.1 Tablas de datos en memoria de programa ..................................................... -' 11 73 11.1.1 Insmccion retlw ............................................................................ 1 1 -1.2 Directiva "DT' ...... .. . .. .. . .. . . . . . .. . .. .. ... .. . . . .. . .. , . ,. . .. .. , .. .. . .. .. ... , . , ,. , ... .-....... 1 1.2 Mis directivas ................................................................................................. 11.2.1 MESSG .......................................................... . ................................... 11.2.2 ERROR .............................................................................................. 11.2.3 [FyENDF ........................................................................................ XIV MICRW0NTRC)tADC)R PIC' IbFB4. DCSiiR ROLLO DE PROYECTOS w nA-hW - $ 1 1.3 Gobierno de un display de 7 segmentos .................................................... 162 1 1.3 Practicas de laboratorio .................................................................................. Capítulo 12: SUBRUTINAS DE RETARDO ................................................ 1 69 i 12.1 Ciclo miquina ............................................................................................... 12.2 Medir tiempos con WLAB .............................. .... .................................. 171 I . I 12.3 Instniccion 'hop". ......................................................................................... 17 1 1 12.4 Retardos mediante lazo simple ..................................................................... 172 12.5 Retardos mediante lazos anidados ............................................................... 174 12.6 Librería con subnitinas de retardos .............................................................. 176 I 12.7 Rebotes m los pulsadores ......................... .. ................................................ 18 1 1 12.8 Practicas de laboratorio .................................................................................. 184 1 Capitulo 13: LCD ................................................................................................ 187 C 13.1 Visualizador LCD ........................................................................................... 187 1 13.2 Patillaje ............................................................................................................ 188 1 13.3 DDRAM ......................................................................................................... 189 1 1 3.4 Caracteres definidos en la CGROM ............................................................ 191 1 13.5 Modos de funcionamiento ....................... . ................................................. 19 1 1 13.6 Comandos de control ................................................................................. 192 1 13.7 Conexión de LCD mediante 4 bits .............................................................. 1 3.8 Librería de subnitinas .................................................................................... 194 C 13.9 Visualizacibn de caracteres .......................................................................... 201 13.10 Visualizacj6n de valores numéricos 202 1 ' .............................................................. ?O3 1 13.1 1 Conexibn de LCD mediante 8 bits ................................................................ 13.12 Visualización de mensajes fijos 204 1 ..................................................................... 13.13 Visualización de mensa-ies en mo~iniiento 208 1 ' ................................................... 13.14 Prkticas de laboratorio ......................................................................... 209 Capítulo 14: EEPROM DE DATOS 213 1 ' .................................................................. 1 ' 14.1 Memoria EEPROM de datm ......................................................................... 213 1' 14.2 Registro EECON 1 ....................................................................................... 215 1 ' 14.3 Librería de subrutinas ..................................................................................... 216 1 ' 14.4 Lectura de la EEPROM de datos ................................................................... 2 17 1' 14.5 Escritura en la EEPROM de datos.. ............................................................ 217 1 ' 14.6 Directiva "DE" .................... ..................................................................... 218 1 4.7 Ventana "EEPROM" en el MPLAB .......................................................... 218 C 14.8 Programa ejemplo.. ......................................................................................... . . 14.9 Bloquear un circuito ....................................................................................... 22 1 14.10 Prácticas de laboratorio 227- 1I .................................................................................. 1 I 111 I11 RA-MA CRA-MA ÍNDICE XV 169 171 171 172 174 176 181 184 162 166 169 Capítulo 15: TIMER0 15.1 El Timer 0 (TMRO) 15.2 TMRO como contador 15.3 TMRO como temporizador. 15.4 EI TMRO es un registro del SFR. 15.5 Divisor de frecuencia (Prescaler). 15.6 Bits de configuración del TMRO 15.6.1 Del registro INTCON. 15.6.2 Del registro OPTION..... 15.7 Ejemplo del TMRO como contador 15.8 Ejemplo del TMRO como temporizador. 15.9 Prácticas de laboratorio 223 223 224 224 225 225 226 226 226 227 229 233 187 Capítulo 16: OTROS RECURSOS 235 187 16.1 El Watchdog (WDT). 235 188 16.2 Modo de bajo consumo o "SLEEP" 237 189 16.3 Direccionamiento indirecto 241 191 16.4 Macros..... 243 191 16.5 Resistencias de Pull-Up del Puerto B 249 192 16.6 Prácticas de laboratorio 250 193 194 Capítulo 17: INTERRUPCIONES. LECTURA DE ENTRADAS. 253 201 202 17.1 Técnica Polling 253 17.2 Interrupciones. 255 203 17.3 Funcionamiento de una interrupción 257 204 208 209 17.4 Flags relacionados con interrupciones. 17.4.1 Del registro INTCON 17.4.2 Del registro OPTION 17.5 Instrucción "retfie" 258 258 259 259 213 17.6 Interrupción externa INT. 260 213 17.7 Registros alterados por la interrupción 261 215 17.8 Averiguar la causa de la interrupción 264 216 17.9 Fases de una interrupción. 264 217 17.10 Interrupción RBI 267 217 17.11 Prácticas de laboratorio 268 218 218 Capítulo 18: INTERRUPCIÓN POR DESBORDAMIENTO DEL 218 TIMERO 271 221 18.1 Interrupción producida por el TMRO 271 222 18.2 Temporizaciones exactas 273 18.3 Temporizaciones largas. 274 18.4 Temporizador digital 18.5 Prácticas de laboratorio 276 286 XVI MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS Capítulo 19: TECLADO MATRICIAL R©RA-MA 289 222219.1 Teclado hexadecimal. 290 2219.2 Conexión de un teclado a un PIC16F84 290 2219.3 Algoritmo de programación 292 2219.4 Librería de subrutinas 293 2219.5 Ejemplo de aplicación 298 19.6 Cerradura electrónica 299 C 19.7 Prácticas de laboratorio 303 23Capítulo 20: COMUNICACIÓN CON ORDENADOR. 305 232320.1 Puerto serie RS232 305 2320.2 El Baudio 307 2320.3 Niveles lógicos RS232 307 2320.4 Formato de un byte. 308 2320.5 MAX232. 309 20.6 Conexión puerto RS232 y PIC16F84 310 C 20.7 Librería de subrutinas para R$232 312 20.8 El Hyper Terminal. 315 2420.9 Programa ejemplo. 24318 20.10 Librería RS232_MEN.INC 319 2420.11 Sistema de monitorización 24322 20.12 Sistema de gobierno desde ordenador 324 242420.13 Prácticas de laboratorio 328 24Capítulo 21: BUS 12C 331 2421.1 Elbus 12C 331 Ca21.2 Hardware del bus 12C 333 21.3 Transferencia de un bit por la línea SDA 25334 21.4 Condiciones de START y STOP 25334 21.5 Transferencia de datos...... 25335 21.6 Formato de una transferencia de datos 25336 21.7 Tipos de formatos de transferencia 25337 21.8 Temporización 338 252521.9 Conexión de bus I2C a un PIC16F84 339 21.10 Librería de subrutinas para bus 12C 340 2521.11 Dispositivos I2C 343 C Capítulo 22: 24LC256, MEMORIA EEPROM EN BUS 12C. 345 2622.1 Memoria EEPROM serie 24LC256 26345 2622.2 Paginación de la memoria 24LC256 .... 346 22.3 Direccionamiento como esclavo... 26347 22.4 Conexión de una 24LC256 a un PIC16F84 347 2622.5 Escritura en la memoria 24LC256 26348 ORA-MA RA-MA ÍNDICE XVII 289 22.6 Lectura de la memoria 24LC256. 349 22.7 Librería de subrutinas 350 290 22.8 Ejemplo típico de aplicación 352 290 22.9 Grabación de datos mediante el IC-Prog 354 292 22.10 Visualización de mensajes largos 355 293 22.11 Control de muchos mensajes 356 298 299 Capítulo 23: DS1624, TERMÓMETRO EN BUS 12C. 359 303 23.1 El sensor de temperatura DS1624 359 305 23.2 Direccionamiento como esçlavo. 360 23.3 Lectura de la temperatura. 360 305 23.4 Registro de control 362 307 23.5 Comandos 363 307 23.6 Librería de subrutinas 364 308 23.7 Termómetro digital 367 309 310 Capítulo 24: DS1307, RELOJ CALENDARIO EN BUS 12C 371 312 315 24.1 El reloj-calendario DS1307. 371 318 24.2 Conexión de un DS1307 a un PIC16F84 372 319 24.3 Registros del DS1307 374 322 24.4 Registro de control 375 324 24.5 Escritura en el DS1307. 376 328 24.6 Lectura del DS1307. 376 24.7 Librería de subrutinas 377 331 24.8 Programa del reloj calendario digital. 379 331 Capítulo 25: SAA1064, CONTROLADOR DE DISPLAY 397 333 334 25.1 SAA1064, controlador de display. 397 334 25.2 Circuito típico para modo estático. 397 335 25.3 Circuito típico para modo dinámico 400 336 25.4 Direccionamiento como esclavo 400 337 25.5 Registros internos.......... 401 25.6 Escritura en el SAA1064. 338 403 339 25.7 Programa ejemplo. 403 340 25.8 Termómetro de visualización en displays 404 343 Capítulo 26: PCF8574, EXPANSOR DE BUS I2C. 409 345 26.1 El expansor de bus [2C PCF8574 409 345 26.2 Direccionamiento como esclavo. 410 346 26.3 Escritura en el PCF8574. 411 347 26.4 Lectura del PCF8574 411 26.5 Librería de subrutinas 347 412 348 26.6 Interrupción. 413 XVIII MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS RA-MA RA-MA 26.7 Conexión entre PCF8574 y PIC16F84 414 30.5 Cd26.8 Ejemplo de programa 415 30.6 Di26.9 Constitución interna del puerto 416 30.7 Pa 26.10 Teclado hexadecimal en bus I2C 417 30.8 Co30.9 IdeCapítulo 27: PCF8591, ADC Y DAC EN BUS 12C 423 30.10 Co27.1 PCF8591 423 30.11 Co 27.2 Direccionamiento como esclavo. 424 30.12 Cc27.3 Registro de control 425 30.13 Re27.4 El PCF8591 como DAC 426 30.14 Co27.5 Resolución del DAC. 428 30.15 Co27.6 Ejemplos del PCF8591 como DAC 430 27.7 El PCF8591 como ADC.. Capítulo436 27.8 Ejemplo del PCF8591 como ADC 438 31.1 Ser31.2 FuCapitulo 28: BUS DE UNA LÍNEA 441 31.3 Te28.1 Sensor de temperatura DS1820. 31.4 Co441 28.2 Diagrama en bloques del DS1820 28.3 Lectura de la temperatura. 28.4 Bus de una línea. 28.5 Señales del bus de una línea. 442 Capítulo443 32.1 Ser444 32.2 Inv445 28.6 Inicialización: Pulsos Reset y Presence. 32.3 LD445 28.7 Escritura de un bit sobre el DS1820.... 32.4 Fot446 28.8 Lectura de un bit procedente del DS1820 32.446 28.9 Librería de subrutinas para bus de 1 línea 32.447 28.10 Unico DS1820 conectado al bus de 1 línca. 450 32.28.11 Termostato digital 32.453 32.5 SenCapítulo 29: MOTORES DE CORRIENTE CONTINUA 32.467 32.29.1 Puente en H. 468 32.29.2 Driver L293В 469 32.29.3 Giro en un único sentido 471 32.6 Rec29.4 Giro en los dos sentidos 472 32.29.5 Conexión de motor c.c. y PIC16F84 473 32.029.6 Control de velocidad 475 32.032.7 Sen:Capítulo 30: MOTORES PASO A PASO. 481 32.8 Bun30.1 Motores paso a paso (PAP) 481 32.9 Dete30.2 Principio de funcionamiento 482 30.3 Motores PAP bipolares 30.3.1 Motor PAP bipolar en modo Full Step 30.3.2 Motor PAP bipolar en modo Half Step Capítulo484 485 485 30.4 Motores PAP unipolares 486 33.1 Intro33.2 Nive33.2 RA-MA *RA-MA ÍNDICE XIX 414 30.5 Constitución interna de un motor PAP 489 415 30.6 Disposición de las bobinas 490 416 30.7 Parámetro de los motores PAP 491 417 423 30.8 Control de los motores paso a paso 30.9 Identificación de un motor PAP. 30.10 Conexión motor PAP bipular y PIC16F84 492 492 494 423 30.11 Conexión motor PAP Unipolar y PIC16F84 495 424 30.12 Control de motor PAP en modo Full Step 496 425 30.13 Realización de secuencias de movimientos 498 426 30.14 Control de motor PAP en modo Half Step 500 428 30.15 Control de velocidad 502 430 436 Capítulo 31: SERVOMOTORES DE RADIOCONTROL 505 438 31.1 Servomotores para microrobótica 505 31.2 Funcionamiento del servomotor 507 441 31.3 Terminales 508 441 31.4 Conexión de un servomotor a un PIC16F84 509 442 Capítulo 32: SENSORES PARA MICROROBÓTICA. 515 443 444 32.1 Sensores para microrobótica 515 445 32.2 Inversor Trigger Schmitt 40106 515 32.3 LDR. 445 518 446 32.4 Fotosensores activos 521 446 32.4.1 Sensor óptico CNY 70 522 447 32.4.2 Sensores ópticos OPB703/4/5. 524 450 32.4.3 Ejemplo de aplicación. 525 453 32.4.4 Sensor óptico de barrera H21A1 526 32.5 Sensores infrarrojos GP2DXX 527 467 32.5.1 Principio de funcionamiento 528 32.5.2 GP2D05 529 468 32.5.3 GP2D15 530 469 32.5.4 GP2D12 530 471 32.6 Receptor para control remoto SFH5110.. 531 472 32.6.1 Descripción 531 473 32.6.2 Circuito detector 533 475 32.6.3 Circuito emisor 533 32.7 Sensor de proximidad IS471F. 533 481 32.8 Bumpers.. 535 481 32.9 Detector por ultrasonido SRF04 537 482 484 Capítulo 33: CONSTRUCCIÓN DE UN MICROROBOт 543 485 33.1 Introduccióna la Microbótica 543 485 486 33.2 Nivel fisico. Motores. 33.2.1 Motores de corriente continua de pequeña potencia. 545 545 XX MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS 33.2.2 Motores de corriente continua con reductoras 33.2.3 Servomotores RA-MA 545 545 33.2.4 Modificación de un servomotor 546 33.2.5 Fijación del motorala estructura 33.3 Nivel fisico. Estructura. 33.3.1 Estructuras comerciales. 33.3.2 Estructura del microrobot experimental "Trasto" 33.4 Nivel fisico. Ruedas 33.4.1 Estructuras según la colocación de las ruedas 33.4.2 Ruedas "locas". 33.4.3 Ruedas de tracción. 549 550 550 551 552 552 553 554 33.5 Nivel fisico. Movilidad 555 33.6 Nivel de reacción 556 33.7 Nivel de control 559 33.7.1 Estrategia a seguir para un microbot rastreador 33.7.2 Programa del rastreador 559 561 33.7.3 Estrategia a seguir para un robot detector de baliza 562 33.7.4 Programa de robot detector de baliza 563 hace los edtelevisAPÉNDICES pocoincluiA. CARACTERÍSTICAS TÉCNICAS DEL PIC16F84A 565 y, priB. REPERTORIO DE INSTRUCCIONES 569 C. CONSTANTES Y OPERADORES 587 microD. PRINCIPALES DIRECTIVAS DEL ENSAMBLADOR MPASM 589 montdondE. REGISTROS ESPECIALES 601 F. GRABADOR TE20-SE 611 nece G. CÓDIGO ASCII 613 diserH DIRECCIONES DE INTERNET 615 fabrimay I. CONTENIDO DEL CD-ROM 617 docuÍNDICE ALFABÉTICO 619
Este libro introduce al lector en la realización de proyectos de circuitos electrónicos construidos con el popular microcontrolador PIC16F84. Tanto los aficionados sin grandes conocimientos de electrónica, pero con inquietud suficiente para montar sencillos trabajos con microcontroladores, como los estudiantes de Ciclos Formativos de Electrónica y los estudiantes de Ingeniería Industrial, Telecomunicaciones o Informática, encontrarán de gran utilidad esta obra para la realización de sus primeros proyectos. El texto resulta eminentemente práctico ya que contiene más de 200 ejercicios resueltos con sus programas y esquemas, siendo muchos de ellos proyectos clásicos, como termómetros, relojes, calendarios, cerraduras electrónicas, control de displays, termostatos, temporizadores, alarmas, sirenas, comunicación con el ordenador, juegos, control de motores, microrobots, etc. También dispone de su propia página Web en www.pic16f84a.com que pretende ser un lugar de encuentro entre todos aquellos que utilicen el libro, y donde podrán intercambiar ideas, realizar consultas, descargar actualizaciones de los proyectos, apuntes de los conocimientos previos necesarios, así como el esquema de todos los ejercicios para poder comprobarlos con el popular simulador software PROTEUS. El software utilizado es de libre distribución y los circuitos emplean componentes que pueden adquirirse fácilmente en cualquier tienda de productos electrónicos. Para el desarrollo de cualquiera de los proyectos planteados no se precisa de grandes medios materiales, por lo que realizarlos resulta sencillo, económico y ameno, además, se incluye un CD-ROM que contiene el software necesario, las soluciones a los ejercicios y notas técnicas.
ISBN: 9786077686378
LC Class. No.: TJ223 / P76 P35
Dewey Class. No.: TJ223.P76 P35 2009