Indice Microcontroladores - Fundamentos Y Aplicaciones Con Pic.pdf

Título de la obra: MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC Autores: © Fernando E. Valdés Pérez © Ramon

Views 100 Downloads 0 File size 418KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Título de la obra:

MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC

Autores: © Fernando E. Valdés Pérez © Ramon Pallàs Areny Composición y preimpresión: Carles Parcerisas Civit (3Q Editorial)

© Reservados todos los derechos de publicación, reproducción, préstamo, alquiler o cualquier otra forma del uso de este ejemplar de la presente edición española por: MARCOMBO, S.A. 2007 Gran Vía de les Corts Catalanes, 594 Queda prohibida, salvo excepción prevista en la ley, cualquier forma de reproducción, distribución, comunicación pública y transformación de esta obra sin contar con la autorización de los titulares de la propiedad intelectual. La infracción de los derechos mencionados puede ser constitutiva de delito contra la propiedad intelectual (arts 270 y siguientes. Código Penal). El Centro español de Derechos Reprográficos (www.cedro.org) vela por el respeto de los citados derechos.

ISBN: 84-267-14XX Impreso en España Printed in Spain D.L.: XXXXX

PIC_PALLAS.indb 4

19/12/2006 13:30:19

Índice general — 5

Índice general Prólogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1 Introducción a los microcontroladores . . . . . . . . . . . . . . . . . . . . 11 1.1 Microprocesadores y microcontroladores: caracterización ................................................ 11 1.2 Componentes de un microcontrolador ............................................................................ 14 1.2.1 1.2.2 1.2.3 1.2.4

El perro guardián .............................................................................................................................................. 17 Reset ................................................................................................................................................................ 18 Bajo consumo................................................................................................................................................... 19 Protección del programa frente a copias ........................................................................................................... 21

1.3 Arquitecturas von Neumann y Harvard ........................................................................... 21 1.4 Arquitecturas CISC y RISC ................................................................................................ 24 1.5 Microcontroladores, microprocesadores y sus fabricantes ................................................ 24

2 Los microcontroladores PIC . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.1 Características generales de los microcontroladores PIC .................................................. 29 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8

La Unidad Aritmética y Lógica y el registro W en los microcontroladores PIC ...................................................... 30 Ciclos de máquina y ejecución de instrucciones ................................................................................................. 31 Segmentado (pipeline) en la ejecución de instrucciones ................................................................................... 33 Osciladores ....................................................................................................................................................... 34 Bits de configuración ........................................................................................................................................ 36 Fuentes de reset................................................................................................................................................ 38 Modo de bajo consumo .................................................................................................................................... 42 Perro guardián ................................................................................................................................................. 43

2.2 Familias de microcontroladores PIC................................................................................. 45 2.2.1 2.2.2 2.2.3

Microcontroladores de gama baja .................................................................................................................... 45 Microcontroladores de gama media.................................................................................................................. 47 Microcontroladores de gama alta ..................................................................................................................... 51

3 La memoria en los microcontroladores . . . . . . . . . . . . . . . . . . . . 55 3.1 Conceptos básicos .......................................................................................................... 55 3.1.1 3.1.2

Organización lógica de la memoria ................................................................................................................... 56 Tipos de memorias ........................................................................................................................................... 58

3.2 La memoria en los microcontroladores PIC de gama media .............................................. 61 3.2.1

PIC_PALLAS.indb 5

La memoria de programa. ................................................................................................................................ 62 3.2.1.1 Direccionamiento de la memoria de programa ................................................................................. 62 3.2.1.2 Lectura y escritura de la memoria de programa ................................................................................ 64

19/12/2006 13:30:19

6 — Microcontroladores PIC 3.2.2 3.2.3

La memoria RAM de datos ................................................................................................................................ 68 3.2.2.1 Direccionamiento de la memoria de datos. ....................................................................................... 70 3.2.2.2 Registros de funciones especiales ..................................................................................................... 72 La memoria EEPROM de datos. ......................................................................................................................... 75

4 Repertorio de instrucciones y programación en lenguaje ensamblador . . . . . 79 4.1 Conceptos básicos .......................................................................................................... 79 4.1.1 4.1.2 4.1.3 4.1.4

Código de máquina y lenguaje ensamblador .................................................................................................... 79 Estructura de las instrucciones.......................................................................................................................... 82 Modos de direccionar los datos ......................................................................................................................... 84 La pila. ............................................................................................................................................................. 85

4.2 Repertorio de instrucciones de los PIC de gama media..................................................... 88 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5

Instrucciones de transferencia de datos. ........................................................................................................... 91 Instrucciones aritméticas y lógicas. ................................................................................................................... 92 Instrucciones de transferencia de control. ......................................................................................................... 95 4.2.3.1 Saltos incondicionales, llamadas a subrutinas y retornos. ................................................................ 95 4.2.3.2 Saltos condicionados........................................................................................................................ 99 Instrucciones que operan con bits ................................................................................................................... 102 Otras instrucciones ......................................................................................................................................... 103

4.3 Elementos del lenguaje ensamblador (para el ensamblador MPASM de Microchip) ......... 103 4.3.1 4.3.2

4.3.3 4.3.4 4.3.5

Introducción ................................................................................................................................................... 103 Expresiones, operaciones y operadores ........................................................................................................... 109 4.3.2.1 Operadores aritméticos .................................................................................................................. 110 4.3.2.2 Operadores lógicos y de relación ..................................................................................................... 111 4.3.2.3 Operadores lógicos que operan directamente con bits..................................................................... 112 4.3.2.4 Operadores de asignación .............................................................................................................. 112 4.3.2.5 Operadores de dirección ................................................................................................................. 114 Directivas ....................................................................................................................................................... 114 4.3.3.1 Directivas de uso general................................................................................................................ 116 4.3.3.2 Directivas utilizadas en la codificación relocalizable........................................................................ 121 Macroinstrucciones ........................................................................................................................................ 127 Organización de un programa en lenguaje ensamblador ................................................................................ 130

4.4 Recursos disponibles para programar en el lenguaje ensamblador de los microcontroladores PIC ..................................................................................................136 4.4.1

4.4.2 4.4.3

El ensamblador MPASM.................................................................................................................................. 137 4.4.1.1 Generación de código absoluto ....................................................................................................... 137 4.4.1.2 Generación de código relocalizable ................................................................................................. 138 4.4.1.3 Archivos involucrados en el ensamblaje.......................................................................................... 139 El enlazador MPLINK ...................................................................................................................................... 142 El gestor de bibliotecas MPLIB ........................................................................................................................ 145

5 La entrada y salida en paralelo. . . . . . . . . . . . . . . . . . . . . . . 149 5.1 Conceptos básicos sobre entradas y salidas digitales ..................................................... 149 5.1.1 5.1.2

PIC_PALLAS.indb 6

Métodos de transferencia de datos ................................................................................................................. 150 Técnicas de entrada y salida ........................................................................................................................... 153

19/12/2006 13:30:19

Índice general — 7 5.2 Los puertos paralelos en los PIC de clase media ............................................................. 155 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5

El puerto A ..................................................................................................................................................... 158 El puerto B...................................................................................................................................................... 159 El puerto C ...................................................................................................................................................... 161 Los puertos D, E, F y G ..................................................................................................................................... 161 El Puerto Paralelo Esclavo ............................................................................................................................... 162

5.3 Conexión y tratamiento a periféricos comunes .............................................................. 164 5.3.1 5.3.2 5.3.3 5.3.4

Interruptores y diodos LED .............................................................................................................................. 164 Teclados matriciales ....................................................................................................................................... 169 Visualizadores numéricos de 7 segmentos ...................................................................................................... 177 Visualizadores alfanuméricos de cristal líquido ............................................................................................... 180

6 Los temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 6.1 Los temporizadores en los microcontroladores PIC ........................................................ 189 6.1.1 6.1.2 6.1.3

El módulo Timer0 ........................................................................................................................................... 190 El módulo Timer1 ........................................................................................................................................... 195 El módulo Timer2 ........................................................................................................................................... 199

6.2 El módulo CCP .............................................................................................................. 202 6.2.1 6.2.2 6.2.3

Modo de captura ............................................................................................................................................ 204 Modo comparador .......................................................................................................................................... 208 Modo PWM .................................................................................................................................................... 210

7 Las interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 7.1 Conceptos básicos sobre las interrupciones ................................................................... 217 7.1.1 7.1.2 7.1.3

Las solicitudes de interrupción y recursos asociados........................................................................................ 217 Atención a las solicitudes de interrupción ....................................................................................................... 219 Interrupciones fijas y vectorizadas .................................................................................................................. 221

7.2 Las interrupciones en los microcontroladores PIC .......................................................... 224 7.2.1 7.2.2

Fuentes de interrupción y registros asociados ................................................................................................. 224 Estructura del subprograma de atención a una interrupción ........................................................................... 230

7.3 Ejemplos de uso de las interrupciones ........................................................................... 234 7.3.1 7.3.2 7.3.3

Reloj de tiempo real ........................................................................................................................................ 234 Sincronización de eventos al reloj de tiempo real ............................................................................................ 239 Protección contra fallos de hardware .............................................................................................................. 243

8 La entrada y salida en serie . . . . . . . . . . . . . . . . . . . . . . . . 247 8.1 Conceptos básicos sobre entradas y salidas en serie ....................................................... 247 8.1.1 8.1.2 8.1.3 8.1.4 8.1.5

PIC_PALLAS.indb 7

Introducción a la transmisión de datos en serie ............................................................................................... 247 Comunicación asincrónica .............................................................................................................................. 249 Comunicación sincrónica ................................................................................................................................ 249 Conexión entre equipos: interfaz RS-232C....................................................................................................... 250 El bus I2C ........................................................................................................................................................ 252

19/12/2006 13:30:19

8 — Microcontroladores PIC 8.2 El puerto serie USART en los microcontroladores PIC ...................................................... 258 8.2.1 8.2.2 8.2.3 8.2.4

Descripción general ........................................................................................................................................ 258 Funcionamiento en modo asincrónico............................................................................................................. 259 Funcionamiento en modo sincrónico............................................................................................................... 262 Velocidad de la comunicación. ........................................................................................................................ 263

8.3 El puerto serie SSP en los microcontroladores PIC .......................................................... 265 8.3.1 8.3.2

Interfaz SPI..................................................................................................................................................... 265 Interfaz I2C ..................................................................................................................................................... 270

9 Las entradas y salidas analógicas. Adquisición y distribución de señales. . . . 275 9.1 Funciones y estructura de un sistema de adquisición y distribución de señales ............... 275 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5

Funciones básicas en los sistemas de medida y control.................................................................................... 275 Margen o rango dinámico .............................................................................................................................. 278 Ancho de banda ............................................................................................................................................. 280 Muestreo de señales ....................................................................................................................................... 282 Arquitecturas para la adquisición de señales. Sistemas de alto y bajo nivel ..................................................... 283

9.2 La etapa frontal para la adquisición de señales ............................................................. 284 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7

Atenuadores ................................................................................................................................................... 285 Amplificadores ............................................................................................................................................... 289 Filtros y protecciones de entrada ..................................................................................................................... 293 Multiplexores analógicos ................................................................................................................................ 296 Filtros anti-alias ............................................................................................................................................. 298 Amplificador de muestreo y retención ............................................................................................................. 300 Convertidores A/D .......................................................................................................................................... 302

9.3 El módulo de conversión A/D de 10 bits en los microcontroladores PIC............................ 305 9.3.1 9.3.2 9.3.3

Arquitectura del módulo de conversión A/D .................................................................................................... 305 Tiempos de una conversión A/D ...................................................................................................................... 309 Programación del módulo de conversión A/D.................................................................................................. 312

9.4 Calibración .................................................................................................................. 315 9.5 Interfaces directas entre sensor y microcontrolador ...................................................... 316 9.6 La etapa de salida para salidas analógicas .................................................................... 320 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5

Convertidores D/A .......................................................................................................................................... 320 Desmultiplexado analógico ............................................................................................................................ 321 Métodos de extrapolación .............................................................................................................................. 321 Salidas PWM .................................................................................................................................................. 322 Protecciones de salida .................................................................................................................................... 324

Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Anexo. Siglas y acrónimos utilizados en el libro. . . . . . . . . . . . . . . . . 329 Indice alfabético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

PIC_PALLAS.indb 8

19/12/2006 13:30:19