You are on page 1of 5

Ttulo de la obra:

MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC

Autores:
Fernando E. Valds Prez
Ramon Palls Areny

Composicin y preimpresin:
Carles Parcerisas Civit (3Q Editorial)

Reservados todos los derechos de publicacin, reproduccin, prstamo, alquiler o cualquier


otra forma del uso de este ejemplar de la presente edicin espaola por:
MARCOMBO, S.A. 2007
Gran Va de les Corts Catalanes, 594
Queda prohibida, salvo excepcin prevista en la ley, cualquier forma de reproduccin,
distribucin, comunicacin pblica y transformacin de esta obra sin contar con la
autorizacin de los titulares de la propiedad intelectual. La infraccin de los derechos
mencionados puede ser constitutiva de delito contra la propiedad intelectual (arts 270 y
siguientes. Cdigo Penal). El Centro espaol de Derechos Reprogrcos (www.cedro.org)
vela por el respeto de los citados derechos.

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

PIC_PALLAS.indb 4 19/12/2006 13:30:19


ndice general 5

ndice general

Prlogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1 Introduccin a los microcontroladores . . . . . . . . . . . . . . . . . . . . 11


1.1 Microprocesadores y microcontroladores: caracterizacin ................................................ 11
1.2 Componentes de un microcontrolador ............................................................................ 14
1.2.1 El perro guardin .............................................................................................................................................. 17
1.2.2 Reset ................................................................................................................................................................ 18
1.2.3 Bajo consumo................................................................................................................................................... 19
1.2.4 Proteccin 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 Caractersticas generales de los microcontroladores PIC .................................................. 29
2.1.1 La Unidad Aritmtica y Lgica y el registro W en los microcontroladores PIC ...................................................... 30
2.1.2 Ciclos de mquina y ejecucin de instrucciones ................................................................................................. 31
2.1.3 Segmentado (pipeline) en la ejecucin de instrucciones ................................................................................... 33
2.1.4 Osciladores ....................................................................................................................................................... 34
2.1.5 Bits de conguracin ........................................................................................................................................ 36
2.1.6 Fuentes de reset................................................................................................................................................ 38
2.1.7 Modo de bajo consumo .................................................................................................................................... 42
2.1.8 Perro guardin ................................................................................................................................................. 43
2.2 Familias de microcontroladores PIC................................................................................. 45
2.2.1 Microcontroladores de gama baja .................................................................................................................... 45
2.2.2 Microcontroladores de gama media.................................................................................................................. 47
2.2.3 Microcontroladores de gama alta ..................................................................................................................... 51

3 La memoria en los microcontroladores . . . . . . . . . . . . . . . . . . . . 55


3.1 Conceptos bsicos .......................................................................................................... 55
3.1.1 Organizacin lgica de la memoria ................................................................................................................... 56
3.1.2 Tipos de memorias ........................................................................................................................................... 58
3.2 La memoria en los microcontroladores PIC de gama media .............................................. 61
3.2.1 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

PIC_PALLAS.indb 5 19/12/2006 13:30:19


6 Microcontroladores PIC

3.2.2 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
3.2.3 La memoria EEPROM de datos. ......................................................................................................................... 75

4 Repertorio de instrucciones y programacin en lenguaje ensamblador . . . . . 79


4.1 Conceptos bsicos .......................................................................................................... 79
4.1.1 Cdigo de mquina y lenguaje ensamblador .................................................................................................... 79
4.1.2 Estructura de las instrucciones.......................................................................................................................... 82
4.1.3 Modos de direccionar los datos ......................................................................................................................... 84
4.1.4 La pila. ............................................................................................................................................................. 85
4.2 Repertorio de instrucciones de los PIC de gama media..................................................... 88
4.2.1 Instrucciones de transferencia de datos. ........................................................................................................... 91
4.2.2 Instrucciones aritmticas y lgicas. ................................................................................................................... 92
4.2.3 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
4.2.4 Instrucciones que operan con bits ................................................................................................................... 102
4.2.5 Otras instrucciones ......................................................................................................................................... 103
4.3 Elementos del lenguaje ensamblador (para el ensamblador MPASM de Microchip) ......... 103
4.3.1 Introduccin ................................................................................................................................................... 103
4.3.2 Expresiones, operaciones y operadores ........................................................................................................... 109
4.3.2.1 Operadores aritmticos .................................................................................................................. 110
4.3.2.2 Operadores lgicos y de relacin ..................................................................................................... 111
4.3.2.3 Operadores lgicos que operan directamente con bits..................................................................... 112
4.3.2.4 Operadores de asignacin .............................................................................................................. 112
4.3.2.5 Operadores de direccin ................................................................................................................. 114
4.3.3 Directivas ....................................................................................................................................................... 114
4.3.3.1 Directivas de uso general................................................................................................................ 116
4.3.3.2 Directivas utilizadas en la codicacin relocalizable........................................................................ 121
4.3.4 Macroinstrucciones ........................................................................................................................................ 127
4.3.5 Organizacin 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 El ensamblador MPASM.................................................................................................................................. 137
4.4.1.1 Generacin de cdigo absoluto ....................................................................................................... 137
4.4.1.2 Generacin de cdigo relocalizable ................................................................................................. 138
4.4.1.3 Archivos involucrados en el ensamblaje.......................................................................................... 139
4.4.2 El enlazador MPLINK ...................................................................................................................................... 142
4.4.3 El gestor de bibliotecas MPLIB ........................................................................................................................ 145

5 La entrada y salida en paralelo. . . . . . . . . . . . . . . . . . . . . . . 149


5.1 Conceptos bsicos sobre entradas y salidas digitales ..................................................... 149
5.1.1 Mtodos de transferencia de datos ................................................................................................................. 150
5.1.2 Tcnicas de entrada y salida ........................................................................................................................... 153

PIC_PALLAS.indb 6 19/12/2006 13:30:19


ndice general 7

5.2 Los puertos paralelos en los PIC de clase media ............................................................. 155
5.2.1 El puerto A ..................................................................................................................................................... 158
5.2.2 El puerto B...................................................................................................................................................... 159
5.2.3 El puerto C ...................................................................................................................................................... 161
5.2.4 Los puertos D, E, F y G ..................................................................................................................................... 161
5.2.5 El Puerto Paralelo Esclavo ............................................................................................................................... 162
5.3 Conexin y tratamiento a perifricos comunes .............................................................. 164
5.3.1 Interruptores y diodos LED .............................................................................................................................. 164
5.3.2 Teclados matriciales ....................................................................................................................................... 169
5.3.3 Visualizadores numricos de 7 segmentos ...................................................................................................... 177
5.3.4 Visualizadores alfanumricos de cristal lquido ............................................................................................... 180

6 Los temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189


6.1 Los temporizadores en los microcontroladores PIC ........................................................ 189
6.1.1 El mdulo Timer0 ........................................................................................................................................... 190
6.1.2 El mdulo Timer1 ........................................................................................................................................... 195
6.1.3 El mdulo Timer2 ........................................................................................................................................... 199
6.2 El mdulo CCP .............................................................................................................. 202
6.2.1 Modo de captura ............................................................................................................................................ 204
6.2.2 Modo comparador .......................................................................................................................................... 208
6.2.3 Modo PWM .................................................................................................................................................... 210

7 Las interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217


7.1 Conceptos bsicos sobre las interrupciones ................................................................... 217
7.1.1 Las solicitudes de interrupcin y recursos asociados........................................................................................ 217
7.1.2 Atencin a las solicitudes de interrupcin ....................................................................................................... 219
7.1.3 Interrupciones jas y vectorizadas .................................................................................................................. 221
7.2 Las interrupciones en los microcontroladores PIC .......................................................... 224
7.2.1 Fuentes de interrupcin y registros asociados ................................................................................................. 224
7.2.2 Estructura del subprograma de atencin a una interrupcin ........................................................................... 230
7.3 Ejemplos de uso de las interrupciones ........................................................................... 234
7.3.1 Reloj de tiempo real ........................................................................................................................................ 234
7.3.2 Sincronizacin de eventos al reloj de tiempo real ............................................................................................ 239
7.3.3 Proteccin contra fallos de hardware .............................................................................................................. 243

8 La entrada y salida en serie . . . . . . . . . . . . . . . . . . . . . . . . 247


8.1 Conceptos bsicos sobre entradas y salidas en serie ....................................................... 247
8.1.1 Introduccin a la transmisin de datos en serie ............................................................................................... 247
8.1.2 Comunicacin asincrnica .............................................................................................................................. 249
8.1.3 Comunicacin sincrnica ................................................................................................................................ 249
8.1.4 Conexin entre equipos: interfaz RS-232C....................................................................................................... 250
8.1.5 El bus I2C ........................................................................................................................................................ 252

PIC_PALLAS.indb 7 19/12/2006 13:30:19


8 Microcontroladores PIC

8.2 El puerto serie USART en los microcontroladores PIC ...................................................... 258


8.2.1 Descripcin general ........................................................................................................................................ 258
8.2.2 Funcionamiento en modo asincrnico............................................................................................................. 259
8.2.3 Funcionamiento en modo sincrnico............................................................................................................... 262
8.2.4 Velocidad de la comunicacin. ........................................................................................................................ 263
8.3 El puerto serie SSP en los microcontroladores PIC .......................................................... 265
8.3.1 Interfaz SPI..................................................................................................................................................... 265
8.3.2 Interfaz I2C ..................................................................................................................................................... 270

9 Las entradas y salidas analgicas. Adquisicin y distribucin de seales. . . . 275


9.1 Funciones y estructura de un sistema de adquisicin y distribucin de seales ............... 275
9.1.1 Funciones bsicas en los sistemas de medida y control.................................................................................... 275
9.1.2 Margen o rango dinmico .............................................................................................................................. 278
9.1.3 Ancho de banda ............................................................................................................................................. 280
9.1.4 Muestreo de seales ....................................................................................................................................... 282
9.1.5 Arquitecturas para la adquisicin de seales. Sistemas de alto y bajo nivel ..................................................... 283
9.2 La etapa frontal para la adquisicin de seales ............................................................. 284
9.2.1 Atenuadores ................................................................................................................................................... 285
9.2.2 Amplicadores ............................................................................................................................................... 289
9.2.3 Filtros y protecciones de entrada ..................................................................................................................... 293
9.2.4 Multiplexores analgicos ................................................................................................................................ 296
9.2.5 Filtros anti-alias ............................................................................................................................................. 298
9.2.6 Amplicador de muestreo y retencin ............................................................................................................. 300
9.2.7 Convertidores A/D .......................................................................................................................................... 302
9.3 El mdulo de conversin A/D de 10 bits en los microcontroladores PIC............................ 305
9.3.1 Arquitectura del mdulo de conversin A/D .................................................................................................... 305
9.3.2 Tiempos de una conversin A/D ...................................................................................................................... 309
9.3.3 Programacin del mdulo de conversin A/D.................................................................................................. 312
9.4 Calibracin .................................................................................................................. 315
9.5 Interfaces directas entre sensor y microcontrolador ...................................................... 316
9.6 La etapa de salida para salidas analgicas .................................................................... 320
9.6.1 Convertidores D/A .......................................................................................................................................... 320
9.6.2 Desmultiplexado analgico ............................................................................................................................ 321
9.6.3 Mtodos de extrapolacin .............................................................................................................................. 321
9.6.4 Salidas PWM .................................................................................................................................................. 322
9.6.5 Protecciones de salida .................................................................................................................................... 324

Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

Anexo. Siglas y acrnimos utilizados en el libro. . . . . . . . . . . . . . . . . 329

Indice alfabtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

PIC_PALLAS.indb 8 19/12/2006 13:30:19

You might also like