Sei sulla pagina 1di 48

1 La familia de

microcontroladores PIC

1.1. IMPORTANCIA DE LOS MICROCONTROLADORES PIC

Microchip, fabricante de los microcontroladores PIC, se mantiene desde el año 2002 como líder
mundial de ventas de microcontroladores de 8 bits. Como se aprecia en el gráfico de la Figura 1.1,
en el año 2005 el mencionado fabricante facturó un total de 847 millones de dólares, de los cuales
675 procedieron de las ventas de microcontroladores (MCU).
Las ventas de los productos de Microchip son absorbidos en un 43% por Asia y Japón, mientras
que Europa soporta el 28% y América el 29%.
En cuanto a los segmentos de mercado a los que se destinan los microcontroladores PIC desta-
ca el área genérica de la Electrónica de Consumo con el 35%, seguida por la industria de automo-
ción con el 18%. (Figura 1.2.)

900
Copyright © 2006. McGraw-Hill España. All rights reserved.

800

700
Millones Dólares

600

500

400
675
300
517 557
469 443
200 393
272 306
100 167 220
122
0
AÑO 95 AÑO 96 AÑO 97 AÑO 98 AÑO 99 AÑO 00 AÑO 01 AÑO 02 AÑO 03 AÑO 04 AÑO 05

MCU Memorias Analógicos

Figura 1.1. Gráfico que muestra el aumento de las ventas anuales de Microchip en las que destaca
el porcentaje debido a los microcontroladores (MCU).

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
2 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

OFIMATICA
17% CONSUMO
COMUNICACIONES 35%
13%

INDUSTRIA
AUTOMOCION
17%
18%

Figura 1.2. Distribución de las ventas de microcontroladores PIC en los principales segmentos del
mercado.

Microchip tiene una gran preocupación por el cumplimiento de las normas ecológicas y ofrece
una selección de sus productos, cada vez más numerosa, libre de plomo. Además, el éxito y acep-
tación de los microcontroladores de este fabricante viene avalado por la oferta creciente de los mo-
delos que comercializa y que se aprecia en el gráfico de la Figura 1.3.
La gran diversidad de modelos de microcontroladores permite al diseñador encontrar el que con-
tenga todos los recursos y capacidades de memoria que precisa para su aplicación. (Figura 1.4.)
La tecnología empleada en la fabricación de los dispositivos PIC ha pasado de las 0,7 micras
en 1998 a las 0,22 micras en 2006. Esto ha supuesto una reducción en el voltaje de alimentación,
que ha pasado de estar comprendida entre 2 y 5,5 V, para funcionar con 5V, a un margen entre 2 y
3,6 V, siendo la nominal de 3,3 V aunque las E/S siguen trabajando con 5V. (Figura 1.5.)
Una de las grandes ventajas de los microcontroladores de Microchip es su “migrabilidad”, que
significa la posibilidad de cambiar de modelo de MCU y pasar a otro más potente con más capaci-
dad de memoria y periféricos, manteniendo la distribución de las patitas en el encapsulado o “pin-
Copyright © 2006. McGraw-Hill España. All rights reserved.

out”, la compatibilidad del software y del repertorio de instrucciones, la compatibilidad de los peri-
féricos y la de las herramientas de desarrollo.

300

250

200

150
262
214
100 187
142 159
129
50 111
55 77
25
0
AÑO 95 AÑO 96 AÑO 97 AÑO 98 AÑO 99 AÑO 00 AÑO 01 AÑO 02 AÑO 03 AÑO 04

Figura 1.3. El gráfico recoge el espectacular crecimiento del número de diferentes modelos de
microcontroladores PIC de 8 bits.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
LA FAMILIA DE MICROCONTROLADORES PIC 3

E/S de Comunicaciones
Voltaje Alto IR RF Telecom
DTMF
Codec

Drivers de
Potenciómetro Voltaje de
Potencia
digital Referencia
PICmicro®
Motores
Filtros Relés
Sensores Conversor A/D
Amplificadores MICROCONTROLADORES

O Conversor D/A

Control de Potencia
- Reguladores
DSC (dsPIC)
LCD
- Supevisión
- Detectores de voltaje
LED
- Bombas de carga
- Cargadores de batería
- Control de alimentación
Controladores
Refrigeración
Comparadores

Buses de Funciones
Memoria Interfaz Periferia Digital
KEELOQ® Comunicación DSP de
NV Serie - RS232/485 - Captura
Dispositivos de - CAN Bus Encriptación
- RS422/423 - PWM
seguridad - I2CTM - USB - Temporizadores
- SPITM - LIN Bus - Reloj en tiempo Procesamiento
- USART - Serial I/O real de voz

Figura 1.4. La variedad de dispositivos PIC con sus distintas configuraciones permite encontrar el
modelo que cumpla con las especificaciones de cualquier proyecto.
Copyright © 2006. McGraw-Hill España. All rights reserved.

1.2. CLASIFICACIÓN DE LOS MICROCONTROLADORES PIC

Estos microcontroladores o MCU se caracterizan por su arquitectura Harvard con memorias de pro-
grama y de datos independientes, lo que permite la accesibilidad simultánea y la diversidad en la
longitud de las posiciones y el tamaño de ambas memorias. (Figura 1.6.)
Genéricamente los microcontroladores se clasifican según el tamaño de los datos que maneja el
repertorio de instrucciones y existen 4 grandes grupos: de 4, de 8, de 16 y de 32 bits. Microchip só-
lo fabrica microcontroladores de 8 y de 16 bits y como se ha indicado es el líder mundial en ventas
del primer grupo.

1.3. MICROCONTROLADORES PIC DE 8 BITS

Se distinguen porque la longitud de los datos nativos que manejan las instrucciones es de 8 bits, que
se corresponde con el tamaño del bus de datos y el de los registros de la CPU.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
4 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

0.22m
FLASH
200K

0.35m
FLASH
185K

0.4m
FLASH
160K

0.5m
FLASH/ROM
150K

0.7m
FLASH/EPROM/ROM
120K

2 – 5.5V NÚCLEO: 2-3,6V NÚCLEO: 2-3,6V


(NÚCLEO y E/S) E/S: 5V E/S: 5V

1998 2001 2003 2006

Figura 1.5. Evolución de la tecnología de fabricación desarrollada por Microchip junto a la de la


tensión correspondiente de alimentación.

BUS DE BUS
INSTRUCCIONES DE DATOS
Copyright © 2006. McGraw-Hill España. All rights reserved.

MEMORIA MEMORIA
DE CPU DE
PROGRAMA DATOS

DIRECCIÓN DIRECCIÓN

Figura 1.6. La arquitectura Harvard dispone de dos memorias independientes permitiendo que la
longitud de las posiciones y la capacidad de cada una sea la más adecuada.

Los microcontroladores PIC de 8 bits se clasifican en tres grandes gamas: Base, Media y Mejo-
rada, con un total de unos 300 modelos diferentes que contienen distintas capacidades de memoria,
periféricos y distintos tipos de encapsulados. (Figura 1.7.)

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
LA FAMILIA DE MICROCONTROLADORES PIC 5

GAMA MEJORADA
77 instrucciones de 16 bits
de longitud
PIC18FXXX

GAMA MEDIA
PIC12F6XX
35 instrucciones de 14 bits
PIC16FXXX
de longitud

PIC10F2XX GAMA BASE


PIC12F5XX 33 instrucciones de 12 bits
PIC16F5XX de longitud

Figura 1.7. Los microcontroladores PIC de 8 bits se clasifican en 3 grandes gamas: Base, Media y
Mejorada.

1.3.1. La gama Base

Los modelos de esta gama se caracterizan porque responden a un juego de 33 instrucciones máqui-
na de 12 bits de longitud cada una y disponen de una Pila con sólo dos niveles de profundidad. Sus
capacidades de memoria al igual que el número de recursos internos son reducidos, lo que limita su
campo de aplicación. Está compuesta por 14 modelos, de los cuales 6 están encapsulados sólo con
6 patitas, por lo que se les suele apodar “enanos”. (Figura 1.8.)

MEMORIA DE
PROGRAMA
Copyright © 2006. McGraw-Hill España. All rights reserved.

PIC16F57 PIC16F59
2K
PIC12F510 PIC16F506

1K
PIC12F509 PIC16F505
PIC10F220 PIC10F222
512
PIC12F508 PIC16F54
PIC10F202 PIC10F206

256 PIC10F200 PIC10F204


Nº PATITAS

6 8 14 18 28 40

Figura 1.8. Posicionamiento de los 14 dispositivos PIC de la gama Base teniendo en cuenta su
capacidad de memoria de programa y las patitas con las que están encapsulados.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
6 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Los PIC enanos de 6 patitas tienen un gran éxito comercial para resolver aplicaciones simples
por su reducido volumen y precio. En ellos la alimentación se aplica a 2 de las patitas, quedan-
do las 4 restantes para las E/S y las funciones de sus periféricos, entre los que se encuentra un
temporizador o Timer, un Comparador analógico, un CAD de 8 bits, Perro Guardián, etc. Véase
Figura 1.9.

MEM. PROG.:
Fmáx 8 MHz 256/512 w F200 F202 F204 F206 F220 F222
(RC interno) RAM An. Comp 6 patitas
16/24 +Vref 4 E/S *
ICD 2 * 256w 512w 256w 512w 256w 512w
8 bit ADC RAM RAM RAM RAM RAM RAM
ICE 2000 Timer 0 (8)
16 24 16 24 16 24
Otros 1x
2 x ADC
Int RC +
WDT
- Comparador
8 bits
Osciladores lógico

ICSP POR

* : 1Q 05 * : 25mA (Absorben/Suministran)

Figura 1.9. Los PIC enanos de 6 patitas de la gama Base ofrecen una capacidad de memoria
y un conjunto de recursos internos suficientes para resolver multitud de aplicaciones
sencillas.

Para favorecer la migrabilidad en el hardware y permitir la transición a modelos PIC más po-
tentes y con más patitas, se mantiene la distribución de las funciones asignadas a las patitas, de ma-
nera que los cambios de conexionado y de trazado de pistas sean mínimos. En la Figura 1.11 se
muestra la distribución de las funciones de las patitas de los encapsulados con 8, 14 y 20 patitas con
Copyright © 2006. McGraw-Hill España. All rights reserved.

la finalidad de facilitar la migrabilidad.


El aumento del número de patitas significa el incremento en las capacidades de memoria y en el
número de los periféricos y recursos integrados en el dispositivo.

1.3.2. La gama Media

Los microcontroladores que componen esta gama responden a un repertorio de 35 instrucciones con
un formato de 14 bits de longitud cada una, teniendo la Pila 8 niveles de profundidad y disponien-
do de un vector de interrupción. Es una gama numerosa que alcanza en la actualidad 71 modelos di-
ferentes, que comienza con los que se hallan encapsulados con 8 patitas y llegan hasta los que tie-
nen 68 patitas. En la Figura 1.12 se presentan los aspectos más relevantes de algunos PIC de la gama
Media de 8 patitas y otros con más.
En la Figura 1.13 se presenta junto a la nomenclatura o designación de los PIC de la gama Me-
dia las principales características que les distinguen.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

Analógico Digital ICD


MEM. FREC. BOR/
RAM LÍNEAS OSCI. TM nº de VOLTAJE
MODELO PROG. ENCAPSULADOS MAX PBOR/
Bytes E/S ADC Timers INT. ICSP puntos (V)
Words MHz PLVD
CANALES COMP. /WDT parada
PIC10FXXX
1-8BIT
PIC10F200 384 16 4 6OT,8P - - 4 4 SI - 1** 2.0-5.5
1-WDT
1-8BIT
PIC10F202 768 24 4 6OT,8P - - 4 4 SI - 1** 2.0-5.5
1-WDT
1-8BIT
PIC10F204 384 16 4 6OT,8P - 1 4 4 SI - 1** 2.0-5.5
1-WDT
1-8BIT
PIC10F206 768 24 4 6OT,8P - 1 4 4 SI - 1** 2.0-5.5
1-WDT
PIC12C/FXXX
1-8BIT
PIC12C508A 768 25 6 8P,8SM,8JW,8SN,8MF - - 4 4 SI - - 2.5-5.5
1-WDT
1-8BIT
PIC12C509A 1536 41 6 8P,8SM,8JW,8SN,8MF - - 4 4 SI - - 2.5-5.5
1-WDT
1-8BIT
PIC12F508 768 25 6 8P,8SL,8SM - - 4 4 SI - 1** 2.5-5.5
1-WDT
1-8BIT
PIC12F509 1536 41 6 8P,8SL,8SM - - 4 4 SI - 1** 2.5-5.5
1-WDT
PIC16C/F5X

LA FAMILIA DE MICROCONTROLADORES PIC


1-8BIT
PIC16C55A 768 24 20 28P,28JW,28SP,28SO,28SS - - 40 - - - - 2.5-5.5
1-WDT
1-8BIT
PIC16C56A 1536 12 12 18P,18JW,18SO,20SS - - 40 - - - - 2.5-5.5
1-WDT
1-8BIT
PIC16CR56A 1536 25 12 18P,18SO,20SS - - 20 - - - - 2.5-5.5
1-WDT
1-8BIT
PIC16C58B 3072 73 12 18P,18JW,18SO,20SS - - 40 - - - - 2.5-5.5
1-WDT
1-8BIT
PIC16CR58B 3072 73 12 18P,18SO,20SS - - 20 - - - - 2.5-5.5
1-WDT
1-8BIT
PIC16HV540 768 25 12 18P,18JW,18SO,20SS - - 40 - - BOR - 3.5-15
1-WDT
1-8BIT
PIC16F505 1536 72 12 14P,14JW,14SL - - 20 4 SI - 1** 2.0-5.5
1-WDT
1-8BIT
PIC16F54 768 25 12 18P,18SO,20SS - - 20 - SI - - 2.0-5.5
1-WDT
1-8BIT
PIC16F57 3072 72 20 28P,28SO,28SS,28SP - - 20 - SI - - 2.0-5.5
1-WDT
1-8BIT
PIC16F59 3072 134 32 40P,44PT - - 20 - SI - - 2.0-5.5
1-WDT
** Requiere un módulo adaptador específico ICD.

Figura 1.10. Principales características de los PIC de la gama Base. Recientemente se comercializan 4 nuevos modelos: PIC10F220,
PIC10F222, PIC12F510 y PIC16F506, cuyas características pueden consultarse en el sitio en Internet del fabricante.

7
8 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

8-Patitas

20-Patitas
14-Patitas
VDD VSS
RA5 RA0
RA4 RA1
RA3 RA2
RC5 RC0
RC4 RC1
RC3 RC2
RC6 RB4
RC7 RB5
RB7 RB6

Figura 1.11. Para favorecer la migrabilidad se mantiene la asignación de las funciones de las patitas en
los modelos de 8, 14 y 20 patitas.

MEM. PROG: Captura


4 o 8KW Compara
PWM
FLASH: Comparador RAM:
1KW Analógico 256,336,352
+Vref 2.Compar.
RAM: EEPROM: Analog.
64 256 + Vref
ADC de 10
EEPROM: bits
128
Timer0(8)
Timer1(16) 10bitADC
Timer0(8)
Regulador Timer2(8)
Timer1(16)
interno SPI/
Int RC + Esclavo 12c
Int RC +
Osciladores Osciladores 1xUSART
WDT

ICSP POR BOR WDT

ICSP POR BOR


Copyright © 2006. McGraw-Hill España. All rights reserved.

F629 F675 F615


F913 F914 F916 F917 F946
8 patitas
4kw 8kw
6 E/S*
RAM:256 RAM:352 RAM 336
FLASH: 1kw
EEPROM:256
RAM 64
28pat 40pat. 28pat. 40pat. 64pat.
E2P 128 E2P 0
25E/S 35E/S 25E/S 35E/S 25E/S
- ADC, 4 can
LCD LCD LCD LCD LCD
1Comparador Analógico 16/60 24/96 16/60 24/96 24/96
ADC 4 can Reg Int 5x 8x 5x
8 x ADC
ADC ADC ADC
1xCCP 2xCCP 1xCCP 2xCCP

Figura 1.12. Características relevantes de algunos PIC de la gama Media con 8 patitas junto a otros
de más patitas.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

Analógico Digital ICD


MEM. MEM FREC. BOR/
RAM LINEAS OSC. nº de CCP/
MODELO PROG. EEPROM ENCAPSULADOS ADC Timers COM. MÁX. INT. PBOR/ puntos ECCP nW
Bytes E/S COMP.
Words Bytes CANALES /WDT I/O MHz PLVD
parada
PIC12FXXX
1-8BIT
PIC12F629 1792 128 64 6 8P,8SN,8MF - 1 1-16BIT - 20 4 BOR 1** - -
1-WDT
1-8BIT
BOR/
PIC12F635 1792 128 64 6 8P,8SN,8MF - 1 1-16BIT - 20 8 1** - SI
PLVD
1-WDT
1-8BIT
PIC12F675 1792 128 64 6 8P,8SN,8MF 4x10BIT 1 1-16BIT - 20 4 BOR 1** - -
1-WDT
1-16BIT
PIC12F683 3584 256 128 6 8P,8SN,8MF 4x10BIT 1 2-8BIT - 20 8 BOR 1** 1/0 SI
1-WDT
PIC16CXXX
1-8BIT
PIC14000 7168 - 192 20 28SP,28SO,28SS,28JW 8SLAC 2 1-16BIT I2CTM/SMB 20 4 - - - -
1-WDT

LA FAMILIA DE MICROCONTROLADORES PIC


1-8BIT
PIC16C432 3584 - 128 12 20SS,20P,20JW - 2 LIN 20 - BOR - - -
1-WDT
1-8BIT
PIC16C433 3584 - 128 6 18SO,18P,18JW 4x8BUT - LIN 10 4 - - - -
1-WDT
1-8BIT
PIC16C554 896 - 80 13 18P,18SO,18JW,20SS - - - 20 - - - - -
1-WDT
1-8BIT
PIC16C558 3584 - 128 13 18P,18SO,18JW,20SS - - - 20 - - - - -
1-WDT
1-16BIT
28SP,28SO,28SS,
PIC16C62B 3584 - 128 22 - - 2-8BIT I2C/SPITM 20 - BOR - 1/0 -
28JW,28ML
1-WDT
1-8BIT
PIC16C620A 896 - 96 13 18P,18SO,18JW,20SS - 2 - 40 - BOR - - -
1-WDT
1-8BIT
PIC16CR620A 896 - 96 13 18P,18SO,20SS - 2 - 20 - BOR - - -
1-WDT
1-8BIT
PIC16C621A 1792 - 96 13 18P,18SO,18JW,20SS - 2 - 40 - BOR - - -
1-WDT
1-8BIT
PIC16C622A 3584 - 128 13 18P,18SO,18JW,20SS - 2 - 40 - BOR - - -
1-WDT

9
Figura 1.13. Características de algunos modelos de la gama Media (continúa).
Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

ICD

10
MEM. MEM Analógico Digital FREC. BOR/
RAM LINEAS OSC. nº de CCP/
MODELO PROG. EEPROM ENCAPSULADOS ADC Timers COM. MÁX. INT. PBOR/ puntos ECCP nW
Bytes E/S COMP.
Words Bytes CANALES /WDT I/O MHz PLVD

MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES


parada
PIC16CXXX
1-16BIT
28SP,28SO,28SS, USART,
PIC16C63A 7168 - 192 22 - - 2-8BIT 20 - BOR - 2/0 -
28JW,28ML I2C/SPI
1-WDT
1-16BIT
USART,
PIC16CR63 7168 - 192 22 28SP,28SO,28SS, - - 2-8BIT 20 - BOR - 2/0 -
I2C/SPI
1-WDT
1-16BIT
40P,40JW,40L, USART,
PIC16C65B 7168 - 192 33 - - 2-8BIT 20 - BOR - 2/0 -
44PQ,44PT I2C/SPI
1-WDT
1-16BIT
USART,
PIC16CR65 7168 - 192 33 40P,40L,44PQ,44PT - - 2-8BIT 20 - BOR - 2/0 -
I2C/SPI
1-WDT
1-16BIT
PBOR
PIC16C717 3584 - 256 16 18P,18SO,18JW,20SS 6x10BIT - 2-8BIT MI2C/SPI 20 4 - 0/1 -
/PLVD
1-WDT
1-16BIT
28SP,28SO,28JW,
PIC16C72A 3584 - 128 22 5x8BIT - 2-8BIT I2C/SPI 20 - BOR - 1/0 -
28SS,28ML
1-WDT
1-16BIT
PIC16CR72 3584 - 128 22 28SP,28SO,28SS 5x8BIT - 2-8BIT I2C/SPI 20 - BOR - 1/0 -
1-WDT
1-16BIT
28SP,28SO,28JW, USART,
PIC16C73B 7168 - 192 22 - - 2-8BIT 20 - BOR - 2/0 -
28SS,28ML I2C/SPI
1-WDT
1-16BIT
40P,40JW,44L, USART,
PIC16C74B 7168 - 192 22 8x8BIT - 2-8BIT 20 - BOR - 2/0 -
44PQ,44PT I2C/SPI
1-WDT
1-16BIT USART,
PIC16C745 14336 - 256 22 28SP,28SO,28JW 5x8BIT - 2-8BIT Baja vel. 24 - BOR - 2/0 -
1-WDT USB
1-16BIT USART,
PIC16C765 14336 - 256 33 40,40JW,44L,44PT 8x8BIT - 2-8BIT Baja vel. 24 - BOR - 2/0 -
1-WDT USB
1-16BIT
PBOR
PIC16C770 3584 - 256 16 20P,20SO,20JW,20SS 6x12BIT - 2-8BIT MI2C/SPI 20 4 - 0/1 -
/PLVD
1-WDT

Figura 1.13. Características de algunos modelos de la gama Media (continúa).


Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

Analógico Digital ICD


MEM. MEM FREC. BOR/
RAM LINEAS OSC. nº de CCP/
MODELO PROG. EEPROM ENCAPSULADOS ADC Timers COM. MÁX. INT. PBOR/ puntos ECCP nW
Bytes E/S COMP.
Words Bytes CANALES /WDT I/O MHz PLVD
parada
PIC16CXXX
1-16BIT
PBOR
PIC16C771 7168 - 256 16 20P,20SO,20JW,20SS 6x12BIT - 2-8BIT MI2C/SPI 20 4 - 0/1 -
/PLVD
1-WDT
1-16BIT
AUSART PBOR
PIC16C773 7168 - 256 22 28SP,28SO,28SS,28JW 6x12BIT - 2-8BIT 20 4 - 2/0 -
MI2C/SPI /PLVD
1-WDT
1-16BIT
40P,40JW44L,44PQ, AUSART PBOR
PIC16C774 7168 - 256 33 10x12BIT - 2-8BIT 20 4 - 2/0 -
44PT MI2C/SPI /PLVD
1-WDT
1-16BIT
PIC16C781 1792 - 128 16 20P,20SO,20SS,20JW 8x8BIT 2 2-8BIT - 20 4 PBOR - - -
1-WDT
1-16BIT
PBOR
PIC16C782 3584 - 128 16 20P,20SO,20SS,20JW 8x8BIT 2 2-8BIT - 20 4 - - -
/PLVD
1-WDT
1-16BIT
PIC16C925 7168 - 176 52 68CL,68L,64PT 5X10BIT - 2-8BIT I2C/SPI 20 - BOR - 1/0 -

LA FAMILIA DE MICROCONTROLADORES PIC


1-WDT
1-16BIT
PIC16C926 14336 - 336 52 68CL,68L,64PT 5X10BIT - 2-8BIT I2C/SPI 20 - BOR - 1/0 -
1-WDT
PIC16FXXX
1-16BIT
PIC16F627A 1792 128 224 16 18P,18SO,20SS,28ML - 2 2-8BIT AUSART 20 4 BOR 1** 1/0 SI
1-WDT
1-16BIT
PIC16F628A 3584 128 224 16 18P,18SO,20SS,28ML - 2 2-8BIT AUSART 20 4 BOR 1** 1/0 SI
1-WDT
1-16BIT
PIC16F648A 7168 256 256 16 18P,18SO,20SS,28ML - 2 2-8BIT AUSART 20 4 BOR 1** 1/0 SI
1-WDT
1-8BIT
PIC16F630 1792 128 64 12 14P,14SL,14ST - 1 1-16BIT - 20 4 BOR 1** - -
1-WDT
1-8BIT
BOR
PIC16F636 3584 256 128 12 14P,14SL,14ST - 2 1-16BIT - 20 8 1** - SI
/PLVD
1-WDT

11
Figura 1.13. Características de algunos modelos de la gama Media (continúa).
Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

ICD

12
MEM. MEM Analógico Digital FREC. BOR/
RAM LINEAS OSC. nº de CCP/
MODELO PROG. EEPROM ENCAPSULADOS ADC Timers COM. MÁX. INT. PBOR/ puntos ECCP nW
Bytes E/S COMP.
Words Bytes CANALES /WDT I/O MHz PLVD
parada

MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES


PIC16CXXX
1-8BIT
PIC16F676 1792 128 64 12 14P,14SL,14ST 8x10BIT 1 1-16BIT - 20 4 BOR 1** - -
1-WDT
1-16BIT
PIC16F684 3584 256 128 12 14P,14SL,14ST 8x10BIT 2 2-8BIT - 20 8 BOR 1** 0/1 SI
1-WDT
1-8BIT
PIC16F688 7168 256 256 12 14P,14SL,14ST 8x10BIT 2 1-16BIT EUSART 20 8 BOR 1** - SI
1-WDT
1-16BIT
PIC6F716 3584 - 128 13 18P,18SO,20SS 4x8BIT - 2-8BIT - 20 - BOR 1** 0/1 -
1-WDT
1-16BIT
PIC16F72 3584 - 128 22 28SP,28SO,28SS,28ML 5x8BIT - 2-8BIT I2C/SPI 20 - BOR - 1/0 -
1-WDT
1-16BIT
USART
PIC16F73 7168 - 192 22 28SP,28SO,28SS,28ML 5x8BIT - 2-8BIT 20 - BOR - 2/0 -
I2C/SPI
1-WDT
1-16BIT
AUSART, PBOR
PIC16F737 7168 - 368 25 28SP,28SO,28SS,28ML 11x10BIT 2 2-8BIT 20 8 1 3/0 SI
MI2C/SPI /PLVD
1-WDT
1-16BIT
USART,
PIC16F74 7168 - 192 33 40P,44ML,44L,44PT 8x8BIT - 2-8BIT 20 - BOR - 2/0 -
I2C/SPI
1-WDT
1-16BIT
AUSART, PBOR
PIC16F747 7168 - 368 36 40P,44PT,44ML 14x10BIT 2 2-8BIT 20 8 1 3/0 SI
MI2C/SPI /PLVD
1-WDT
1-16BIT
USART,
PIC16F76 14336 - 368 22 28SP,28SO,28SS,28ML 5x8BIT - 2-8BIT 20 - BOR - 2/0 -
I2C/SPI
1-WDT
1-16BIT
AUSART, PBOR
PIC16F767 14336 - 368 25 28SP,28SO,28SS,28ML 11x10BIT 2 2-8BIT 20 8 1 3/0 SI
MI2C/SPI /PLVD
1-WDT
1-16BIT
USART,
PIC16F77 14336 - 368 33 40P,44ML,44L,44PT 8x8BIT - 2-8BIT 20 - BOR - 2/0 -
I2C/SPI
1-WDT

Figura 1.13. Características de algunos modelos de la gama Media (continúa).


Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

Analógico Digital ICD


MEM. MEM FREC. BOR/
RAM LINEAS OSC. nº de CCP/
MODELO PROG. EEPROM ENCAPSULADOS ADC Timers COM. MÁX. PBOR/ nW
Bytes E/S COMP. INT. puntos ECCP
Words Bytes CANALES /WDT I/O MHz PLVD
parada
PIC16CXXX
1-16BIT
AUSART, PBOR
PIC16F777 14336 - 368 36 40P,44PT,44ML 14x10BIT 2 2-8BIT 20 8 1 3/0 SI
MI2C/SPI /PLVD
1-WDT
1-16BIT
PIC16F85 3584 256 128 18 20SP,20SO,20SS 12x10BIT 2 2-8BIT - 20 8 BOR 1** 1/0 SI
1-WDT
1-16BIT
PIC16F818 1792 128 128 16 18P,18SO,20SS,28ML 5x10BIT - 2-8BIT I2C/SPI 20 8 BOR 1 1/0 SI
1-WDT
1-16BIT
PIC16F819 3584 256 256 16 18P,18SO,20SS,28ML 5x10BIT - 2-8BIT I2C/SPI 20 8 BOR 1 1/0 SI
1-WDT
1-8BIT
PIC16F84A 1792 64 68 13 18P,18SO,20SS - - - 20 - - - - -
1-WDT
1-16BIT
AUSART
PIC16F87 7168 256 368 16 18P,18SO,20SS,28ML - 2 2-8BIT 20 8 BOR 1 1/0 SI

LA FAMILIA DE MICROCONTROLADORES PIC


I2C/SPI
1-WDT
1-16BIT
PIC16F870 3584 64 128 22 28SP,28SO,28SS 5x10BIT - 2-8BIT AUSART 20 - BOR 1 1/0 SI
1-WDT
1-16BIT
PIC16F871 3584 64 128 33 40P,44L,44PT 8x10BIT - 2-8BIT AUSART 20 - BOR 1 1/0 SI
1-WDT
1-16BIT
PIC16F872 3584 64 128 22 28SP,28SO,28SS 5x10BIT - 2-8BIT MI2C/SPI 20 - BOR 1 1/0 -
1-WDT
1-16BIT
AUSART,
PIC16F873A 7168 128 192 22 28P,28SO,28SS,28ML 5X10BIT 2 2-8BIT 20 - BOR 1 2/0 -
MI2C/SPI
1-WDT
1-16BIT
AUSART,
PIC16F874A 7168 128 192 33 40P,44ML,44L,44PT 8X10BIT 2 2-8BIT 20 - BOR 1 2/0 -
MI2C/SPI
1-WDT
1-16BIT
AUSART,
PIC16F876A 14336 256 368 22 28P,28SO,28SS,28ML 5X10BIT 2 2-8BIT 20 - BOR 1 2/0 -
MI2C/SPI
1-WDT

13
Figura 1.13. Características de algunos modelos de la gama Media (continúa).
Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

14
MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES
Analógico Digital ICD
MEM. MEM FREC. BOR/
RAM LINEAS OSC. nº de CCP/
MODELO PROG. EEPROM ENCAPSULADOS ADC Timers COM. MÁX. INT. PBOR/ puntos ECCP nW
Bytes E/S COMP.
Words Bytes CANALES /WDT I/O MHz PLVD
parada
PIC16CXXX
1-16BIT
AUSART,
PIC16F877A 14336 256 368 33 40P,44ML,44L,44PT 8X10BIT 2 2-8BIT 20 - BOR 1 2/0 -
MI2C/SPI
1-WDT
1-16BIT
AUSART,
PIC16F88 7168 256 368 16 18P,18SO,20SS,28ML 7x10BIT 2 2-8BIT 20 8 BOR 1 1/0 -
I2C/SPI
1-WDT
2-8BIT AUSART, BOR
PIC16F913 7168 256 256 25 28P,28SO,28SS,28ML 4x10BIT 2 20 8 1 1/0 SI
1-16BIT I2C/SPI /PLVD
2-8BIT AUSART, BOR
PIC16F914 7168 256 256 36 40P,44TQFP,44QFN 8x10BIT 2 20 8 1 2/0 SI
1-16BIT I2C/SPI /PLVD
2-8BIT AUSART, BOR
PIC16F916 14336 256 352 25 28P,28SQ,28SS,28QFN 4x10BIT 2 20 8 1 1/0 SI
1-16BIT I2C/SPI /PLVD
2-8BIT AUSART, BOR
PIC16F917 14336 256 352 36 40P,44TQFP,44QFN 8x10BIT 2 20 8 1 2/0 -
1-16BIT I2C/SPI /PLVD
** Requiere un módulo adaptador específico ICD.

Figura 1.13. Características de algunos modelos de la gama Media. Recientemente se comercializan nuevos modelos: PIC16F639,
PIC16F685, PIC16F687 PIC16F689, PIC16F690, PIC16F785 y PIC16F946, cuyas características pueden consultarse en la
web del fabricante.
LA FAMILIA DE MICROCONTROLADORES PIC 15

1.3.3. La gama Mejorada

Dispone de un repertorio de 77 instrucciones de 16 bits de longitud cada una, una Pila con 31 nive-
les de profundidad y 2 vectores de interrupción. Los modelos PIC que conforman esta gama res-
ponden a la nomenclatura PIC18Xxxx, dedicándose la Figura 1.14 al significado de cada uno de los
campos.

TECNOLOGÍA DE MEMORIA
ESPECIFICACIÓN CPU C-OTP
R-ROM
F-FLASH

PIC18VTABCD
ESPECIFICACIÓN VOLTAJE
N/A-Normal
DÍGITOS ARBITRARIOS
L-Baja potencia

A-Encapsulado B-Tamaño de memoria de programa


0: pines o menos 5: 0: ROMless 5: 32K Bytes
1: >8-20 pines 6: >44-68 pines 1: 2K Bytes 6: 64K Bytes
2:>20-28 pines 7: 2: 4K Bytes 7: 128K Bytes
3: 8:>68-100 3: 8K Bytes 8: 256K Bytes
4: >28-44 pines 9: >100 o más 4: 16K Bytes 9: >512K Bytes
Copyright © 2006. McGraw-Hill España. All rights reserved.

Figura 1.14. Significado de cada uno de los campos que componen la nomenclatura de los PIC18Xxxx
de la gama Mejorada.

El gran interés que muestra el fabricante por esta gama de modelos tan potentes es palpable al
ser la que más número de dispositivos diferentes posee. La capacidad de la memoria de programa
puede alcanzar los 128 KB, la de datos 3963 bytes y la EEPROM hasta 1 KB. Dispone de periféri-
cos muy especializados entre los que destaca un Conversor AD de 10 bits, hasta 5 temporizadores,
interfaces para comunicación con bus I2C, SPI, USART, CAN 2.0B, etc. Entre los recursos signifi-
cativos existe un multiplicador rápido hardware que permite desarrollar esta operación en un ciclo
de instrucción. La Figura 1.15 muestra las características específicas de un conjunto de dispositivos
de la gama Mejorada de 64 y de 80 patitas.
Finalmente, en la Figura 1.16 se ofrece la tabla de algunos modelos que componen esta gama
con sus principales características.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
16 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

FLASH: 2x Captura
48 a 2xCompara
128KW ción
RAM: 2xPWM
3936 B 3xEPWM 6527 6622 6627 6722 8529 8622 8627 8722
EEPROM: 2Comparad. 64 patitas 80 patitas
1024 B An. + Vref
54 E/S 70 E/S
Multiplicador ADC 10 bits 48k 64k 96k 128k 48k 64k 96k 128k
HW RAM:3936
2xSPI/
Timer0(8) I2C Maestro EEPROM: 1024
Timer1(16) ADC, 12 Canales ADC, 16 Canales
Timer2(8) 2xEUSART __ Acceso a Memoria
Timer3(16) //Puerta Externa
Timer4(8) esclavo

Osciladores WDT

ICSP POR BOR PLVD

Figura 1.15. Recursos y características de algunos dispositivos de la gama Mejorada de 64 y 80


patitas.

1.4. MICROCONTROLADORES PIC DE 16 BITS

Los requerimientos técnicos que exigen las modernas aplicaciones precisan microcontroladores
más potentes que los de 8 bits y, para poderlas atender, Microchip ha diseñado nuevos dispositi-
vos que manejan en modo nativo datos de 16 bits y que se integran en arquitecturas de mayor
complejidad.
Hay dos grandes gamas de microcontroladores de 16 bits:
Copyright © 2006. McGraw-Hill España. All rights reserved.

1.a Gama MCU de 16 bits, formada por las familias de dispositivos PIC24F y PIC24H.
2.a Gama DSC de 16 bits, formada por las familias de dispositivos dsPIC30F y dsPIC33F.

1.4.1. Gama de microcontroladores MCU de 16 BITS

La primera familia de esta gama comercializada por Microchip es la de los modelos con la nomen-
clatura genérica PIC24F que se fabrican con una tecnología de 0,25 micras, alcanza un rendimien-
to de 16 MIPS a 32 MHz y está orientada a resolver aquellos diseños que no podían ser cubiertos
con los PIC18Xxxx.
Los PIC24F poseen una arquitectura Harvard modificada con un bus de datos de 16 bits y con
instrucciones de una longitud de 24 bits. Pueden manejar una memoria de programa lineal de hasta
8 MB y una de datos de hasta 64 KB. (Figura 1.17.)

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

Analógico Digital ICD


FLASH FREC. BOR/
EEPROM RAM LINEAS OSC. nº de CCP/
MODELO Bytes ENCAPSULADOS ADC Timers/ COMUN. MÁX. INT. PBOR/ puntos ECCP nW
Bytes Bytes E/S COMP.
y words CANALES WDT I/O MHz PLVD
parada
PIC18
3-16BIT CAN2.CB,
65536EnhFI 11x10BIT 8MHz PBOR
PIC18F4680 1024 3328 36 4CP,44ML,44PT 2 1-8BIT MI2C/SPI, 40 3 1/1 SI
(82768) 100ksps 32KHz /PLVD
1-WDT EUSART
3-16BIT MI2C/SPI,
8192StoFI 12x10BIT 8MHz PBOR
PIC18F6310 - 768 54 64PT 2 1-8BIT EUSART, 40 3 3/0 SI
(4096) 100ksps 32KHz /PLVD
1-WDT AUSART
3-16BIT MI2C/SPI,
16304StoFI 12x10BIT 8MHz PBOR
PIC18F6410 - 768 54 64PT 2 1-8BIT EUSART, 40 3 3/0 SI
(8192) 100ksps 32KHz /PLVD
1-WDT AUSART
3-16BIT MI2C/SPI,
8192StoFI 12x10BIT 8MHz PBOR
PIC18F6390 - 768 50 64PT 2 1-8BIT EUSART, 40 3 2/0 SI
(4096) 100ksps 32KHz /PLVD
1-WDT AUSART
3-16BIT MI2C/SPI,

LA FAMILIA DE MICROCONTROLADORES PIC


16384StoFI 12x10BIT 8MHz PBOR
PIC18F6490 - 768 50 64PT 2 1-8BIT EUSART, 40 3 2/0 SI
(8192) 100ksps 32KHz /PLVD
1-WDT AUSART
3-16BIT 2x
32768EnhFI 12x10BIT PBOR
PIC18F6520 1024 2048 52 64PT 2 2-8BIT AUSART, 40 - 1 5/0 -
(16384) 80ksps /PLVD
1-WDT MI2C/SPI
3-16BIT 2x
49152EnhFI 12x10BIT 8MHz PBOR
PIC18F6527 1024 3936 54 64PT 2 2-8BIT EUSART, 40 3 2/3 SI
(24576) 100ksps 32KHz /PLVD
1-WDT MI2C/SPI
3-16BIT EUSART,
491952EnhFI 12x10BIT PBOR
PIC18F6585 1024 3328 53 64PT,68L 2 1-8BIT MI2C/SPI, 40 - 1 1/1 -
(24576) 80ksps /PLVD
1-WDT CAN2.CB
3-16BIT 2x
65536EnhFI 12x10BIT 8MHz PBOR
PIC18F6822 1024 3936 54 64PT 2 2-8BIT EUSART, 40 3 2/3 SI
(82768) 100ksps 32KHz /PLVD
1-WDT MI2C/SPI
3-16BIT 2x
90304EnhFI 12x10BIT 8MHz PBOR
PIC18F6827 1024 3936 54 64PT 2 2-8BIT EUSART, 40 3 2/3 SI
(49152) 100ksps 32KHz /PLVD
1-WDT MI2C/SPI

Figura 1.16. Principales características de algunos modelos PIC de la gama Mejorada (continúa).

17
Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

18
MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES
Analógico Digital ICD
FLASH FREC. BOR/
EEPROM RAM LINEAS OSC. nº de CCP/
MODELO Bytes ENCAPSULADOS ADC Timers/ COMUN. MÁX. INT. PBOR/ puntos ECCP nW
Bytes Bytes E/S COMP.
y words CANALES WDT I/O MHz PLVD
parada
PIC18
3-16BIT EUSART,
65536EnhFI 12x10BIT PBOR
PIC18F6880 1024 3936 53 64PT,68L 2 1-8BIT MI2C/SPI, 40 - 1 1/1 -
(82768) 80ksps /PLVD
1-WDT CAN2.CB
3-16BIT 2x
131072EnhFI 12x10BIT 8MHz PBOR
PIC18F6722 1024 3936 54 64PT 2 2-8BIT EUSART, 40 3 2/3 SI
(65536) 100ksps 2 32KHz /PLVD
1-WDT MI C/SPI
3-16BIT MI2C/SPI,
8192StoFI 12x10BIT 8MHz PBOR
PIC18F8310 - 768 70 80PT 2 1-8BIT EUSART, 40 3 3/0 SI
(4096) 100ksps 32KHz /PLVD
1-WDT AUSART
3-16BIT MI2C/SPI,
16384StoFI 12x10BIT 8MHz PBOR
PIC18F8410 - 768 70 80PT 2 2-8BIT EUSART, 40 3 3/0 SI
(8192) 100ksps 32KHz /PLVD
1-WDT AUSART
MI2C/SPI,
8192StoFI 12x10BIT 3-16BIT 8MHz PBOR
PIC18F8390 - 768 66 80PT 2 EUSART, 40 3 2/0 SI
(4096) 100ksps 1-8BIT 32KHz /PLVD
AUSART
3-16BIT MI2C/SPI,
16384StoFI 12x10BIT 8MHz PBOR
PIC18F8490 - 768 66 80PT 2 2-8BIT EUSART, 40 3 2/0 SI
(8192) 100ksps 32KHz /PLVD
1-WDT AUSART

Figura 1.16. Principales características de algunos modelos PIC de la gama Mejorada.


LA FAMILIA DE MICROCONTROLADORES PIC 19

FLASH RAM Temporizador 16 bits


64-128 KB 8 KB
Watchdog

CAD, 10bits, 16 canales

Bus periférico
GP I/O
BUS DE MEMORIA
UART(2)
PROCESADOR DE 16 BITS y 16 MIPS
Banco de I2CTM(2)
ALU-16 bit Registros
16 x 16
SPITM(2)
Multiplicador Generación de
16 X 16 direcciones
RTCC

JTAG y Emul. Registro de CONTROL


Interfaz Desplazamiento DE INTERRUPC. PMP

Figura 1.17. Diagrama por bloques que muestra los principales recursos que conforman los
microcontroladores de 16 bits PIC24F.

El núcleo del procesador se alimenta con 2,5 V, aunque las líneas de E/S se alimentan con 3,3 V
y pueden funcionar con los típicos niveles TTL de 5 V. Hay 9 modelos diferentes de PIC24F cuyas
principales características se ofrecen en la Figura 1.18.

Frecuencia DC- 40MHz


Memoria de programa (bytes) 128 K
Memoria de instrucciones (words) 42 K
Memoria de datos (bytes) 8K
Memoria EEPROM -
Fuentes de interrupción 19
Puertas E/S Puertas A,B,C,(E), F, G...
Temporizadores 4
Módulos de Captura/Comparación/PWM 1
Módulos mejorados CCP 0
Copyright © 2006. McGraw-Hill España. All rights reserved.

Módulo ECAN 1
MSSP
Comunicación serie
USART mejorada
Comunicación paralelo(PSP) No
Conversor Analógico-Digital 16 canales de entrada
Comparadores 0
POR, BOR
Instrucción de RESET
Pila llena
Resets y excepciones Sobrepasamiento de la Pila
(PWRT, OST)
#MCLR (optional)
WDT
Programación con voltaje bajo Sí
Reset programable Brown-out Sí
Set de instrucciones 76 instrucciones la mayoría de 24 bits
Encapsulados De 64 a 100 patitas

Figura 1.18. Principales características de los 9 modelos de la familia PIC24F.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
20 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

La otra familia de microcontroladores MCU de 16 bits sigue la nomenclatura PIC24H y alcan-


zan un rendimiento de 40 MIPS, pudiendo disponer de una memoria de programa FLASH de has-
ta 256 KB y una RAM de hasta 16 KB. Todos sus modelos están encapsulados en formato TQFP
con 64, 80 y 100 patitas. Su principal aportación frente a los PIC24F es la de incluir un Controlador
de DMA con 8 canales. (Figura 1.19.)

1.4.2. Gama de microcontroladores DSC de 16 bits

Estos microcontroladores de 16 bits añaden a las prestaciones típicas de los MCU anteriores los re-
cursos hardware y software propios de los DSP (Procesadores Digitales de Señales) lo que permite
utilizarlos en las extraordinarias aplicaciones relacionadas con el procesado digital de señales. In-
tentan aprovechar todas las ventajas de los microcontroladores MCU y de los DSP y Microchip les
identifica con el nombre DSC: Controladores Digitales de Señales.
Los DSC constan de dos familias, la dsPIC30F y la dsPIC33F. Los modelos de la familia dsPIC30F
tienen importantes capacidades de memoria, contienen la mayoría de los recursos y periféricos y tie-
nen un rendimiento de 30 MIPS cuando se les alimenta con un voltaje comprendido entre 4,5 y 5,5 V.
Incorporan un “motor DSP” en el Camino de Datos que les permite realizar las instrucciones que rea-

FLASH CANALES Timer Módulo Módulo Líneas


Modelo Patitas RAM ADC UART SPITM I2CTM CAN
(KB) DMA 16-bit Capt. Comp. de E/S

1 ADC
24HJ64GP206 64 64 8 8 9 8 8 2 2 1 0 53
18 CAN.
1 ADC
24HJ64GP210 100 64 8 8 9 8 8 2 2 2 0 85
32 CAN.
1 ADC
24HJ64GP506 64 64 8 8 9 8 8 2 2 2 1 53
18 CAN.
1 ADC
24HJ64GP510 100 64 8 8 9 8 8 2 2 2 1 85
32 CAN.
1 ADC
24HJ128GP206 64 128 8 8 9 8 8 2 2 2 0 53
18 CAN.
Copyright © 2006. McGraw-Hill España. All rights reserved.

1 ADC
24HJ128GP210 100 128 8 8 9 8 8 2 2 2 0 85
32 CAN.
1 ADC
24HJ128GP506 64 128 8 8 9 8 8 2 2 2 1 53
18 CAN.
1 ADC
24HJ128GP510 100 128 8 8 9 8 8 2 2 2 1 85
32 CAN.
1 ADC
24HJ128GP306 64 128 16 8 9 8 8 2 2 2 0 53
18 CAN.
1 ADC
24HJ128GP310 100 128 16 8 9 8 8 2 2 2 0 85
32 CAN.
1 ADC
24HJ256GP206 64 256 16 8 9 8 8 2 2 2 0 53
18 CAN.
1 ADC
24HJ256GP210 100 256 16 8 9 8 8 2 2 2 0 85
32 CAN.

Figura 1.19. Principales características de los 13 modelos de microcontroladores PIC de 16 bits de la


familia PIC24H.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
LA FAMILIA DE MICROCONTROLADORES PIC 21

lizan las operaciones matemáticas típicas de los algoritmos usados en el procesamiento digital de las
señales. Según la orientación práctica de los modelos los dsPIC30F se dividen en tres categorías:

a) dsPIC30F de Propósito General, con 8 modelos.


b) dsPIC30F de Control de Motores, con 9 modelos.
c) dsPIC30F para Control de Sensores, con 4 modelos.

CAD
Mem. de RAM EEPROM Timer Módulo Módulo
Modelo Patitas PWM 10 bits QEI UART SPITM I2CTM CAN
programa Bytes Bytes 16-bit Capt. Comp.
500 ksps

dsPIC30F2010 28 12K/4K 512 1024 3 4 2 6 canales 6 canales SI 1 1 1 -

dsPIC30F3010 28 24K/8K 1024 1024 5 4 2 6 canales 6 canales SI 1 1 1 -

dsPIC30F4012 28 48K/16K 2048 1024 5 4 2 6 canales 6 canales SI 1 1 1 1

dsPIC30F3011 40/44 24K/8K 1024 1024 5 4 4 6 canales 9 canales SI 2 1 1 -

dsPIC30F4011 40/44 48K/16K 2048 1024 5 4 4 6 canales 9 canales SI 2 1 1 1

dsPIC30F5015 64 66K/22K 2048 1024 5 4 4 8 canales 16 canales SI 1 2 1 1

dsPIC30F6010 80 144K/48K 8192 4096 5 8 8 8 canales 16 canales SI 2 2 1 2

Figura 1.20. Relación de algunos modelos de dsPIC30F destinados al Control de Motores con sus
características.

Los dispositivos pertenecientes a la familia dsPIC33F son compatibles con los dsPIC30F puesto
que tienen el mismo repertorio de instrucciones, la misma distribución del patillaje y utilizan las mis-
mas herramientas de desarrollo. Sin embargo los dsPIC33F se distinguen por las siguientes cualidades:
Copyright © 2006. McGraw-Hill España. All rights reserved.

1. Se alimentan con 3,3 V aunque las E/S pueden trabajar con niveles TTL.
2. Incorporan un Controlador DMA de 8 canales.
3. Aumenta el número de interrupciones y excepciones.
4. Alcanza un rendimiento de 40 MIPS.
5. Posee un interfaz para CODEC.
6. Hay modelos con 256 KB de memoria FLASH y 30 KB de RAM.

Existe un total de 27 dispositivos dsPIC33F, 15 de los cuales se encuadran dentro de los de Pro-
pósito General y el resto en el de Control de Motores. (Figura 1.21.) No disponen de EEPROM.
Los modelos dsPIC33F de Propósito General son adecuados para aplicaciones de voz y audio,
seguridad, electromedicina, módem, etc. Los agrupados en el Control de Motores se orientan a los
electrodomésticos como las lavadoras, al control de la dirección electrónica de automóviles, control
medioambiental, sistemas de alimentación ininterrumpible, inversores y a matrices de iluminación
con LED. En la Figura 1.22 se muestra el diagrama por bloques correspondiente a la estructura in-
terna de los dsPIC33F.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
22 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

FLASH RAM Timer Módulo Módulo Convertidor Líneas


Modelo Patitas UART SPITM I2CTM CAN
(Kbyte) (Kbyte) 16 bits Capt. Comp. ADC de E/S

1 A/D
33FJ64GP206 64 64 8 9 8 8 2 2 1 0 53
18 CAN.
1 A/D
33FJ64GP306 64 64 16 9 8 8 2 2 2 0 53
18 CAN.
1 A/D
33FJ64GP310 100 64 16 9 8 8 2 2 2 0 85
32 CAN.
2 A/D
33FJ64GP706 64 64 16 9 8 8 2 2 2 2 53
18 CAN.
2 A/D
33FJ64GP708 80 64 16 9 8 8 2 2 2 2 69
24 CAN.
2 A/D
33FJ64GP710 100 64 16 9 8 8 2 2 2 2 85
32 CAN.
1 A/D
33FJ128GP206 64 128 8 9 8 8 2 2 1 0 53
18 CAN.
1 A/D
33FJ128GP306 64 128 16 9 8 8 2 2 2 0 53
18 CAN.
1 A/D
33FJ128GP310 100 128 16 9 8 8 2 2 2 0 85
32 CAN.
2 A/D
33FJ128GP706 64 128 16 9 8 8 2 2 2 2 53
18 CAN.
2 A/D
33FJ128GP708 80 128 16 9 8 8 2 2 2 2 69
24 CAN.
2 A/D
33FJ128GP710 100 128 16 2 2 2 2 85
32 CAN.
1 A/D
33FJ256GP506 64 256 16 9 8 8 2 2 2 1 53
32 CAN.
1 A/D
33FJ256GP510 100 256 16 9 8 8 2 2 2 1 85
32 CAN.
2 A/D
33FJ256GP710 100 256 30 9 8 8 2 2 2 2 85
32 CAN.

Figura 1.21. Tabla con las características principales de algunos modelos de la familia dsPIC33F.

DMA Temporizador 16 bits


FLASH RAM
Copyright © 2006. McGraw-Hill España. All rights reserved.

64-256KB 8-30 KB
Watchdog

CAD de 12 bits y 16 canales


BUS DE MEMORIA

CAD de 12 bits y 16 canales


Bus periférico

UART(2)
PROCESADOR DE 16 BITS Y 40 MIPS

Banco de Registros I2CTM(2)


ALU-16 bit
16 x 16

Multiplicador Generación de SPITM(2)


17 X 17 direcciones
CAN (1-2)
JTAG & Emul. Registro de
Interfaz Desplazamiento
CODEC I/F
MOTOR Acumuladores
DSP AyB Control de Motores

Figura 1.22. Diagrama por bloques de la estructura interna de los dsPIC33F.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
Programar PIC es fácil

RECORDANDO EL VIEJO PIC16F84

En esta sección demostraremos, capítulo a capítulo, que la programación de los nuevos PIC hace
más sencilla la realización de ciertas tareas en muchos casos, como consecuencia de sus recursos.
Todo es cuestión de probar y no quedarse en meros espectadores, así que manos a la obra que co-
mienza la función y usted es el principal actor.

Enunciado

Vamos a comenzar recordando cómo se trabaja con el PIC16F84 para pasar luego a mayores con los
PIC16F87x y los PIC18F.
Tenemos un PIC16F84 trabajando a 4 MHz, en el cual se han conectado 2 interruptores en las lí-
neas RA1 y RA2 de la Puerta A y 2 LEDs en las líneas RB0 y RB1 de la Puerta B.
El programa debe mostrar cuándo el valor lógico que introducen ambos interruptores es cero. Pa-
ra ello, si los dos interruptores introducen por la Puerta A nivel lógico 0, los LEDs de la Puerta B
deben encenderse, y en los demás casos permanecen apagados.

Esquema eléctrico

Tras entender lo que se pide hay que especificar el esquema eléctrico del circuito para saber cómo
Copyright © 2006. McGraw-Hill España. All rights reserved.

están conectados los periféricos. (Figura 1.23.) En dicho esquema se representa el PIC, con los ele-
mentos auxiliares que siempre necesita (cristal, alimentación y circuito de reset), y los periféricos
de entrada/salida que se utilizan en cada momento.
En este ejercicio tanto los interruptores como los LEDs están conectados para ser activos por ni-
vel alto. En el caso de los interruptores este hecho no altera la resolución del problema, pero si los
LED estuvieran conectados para activarse por nivel bajo, el valor para encenderlos y apagarlos se-
ría justamente el contrario.

Organigrama

Otra práctica muy recomendable antes de empezar a programar es plasmar en un organigrama la for-
ma de resolver el problema. (Figura 1.24.)
Cuanto más complicado sea dicho enunciado, más abstracto será el organigrama, pudiendo in-
cluso necesitarse varios para llegar a un nivel aceptable de concretización. Al contrario, si el pro-
blema es sencillo el programa es casi una traducción inmediata del organigrama a código.
23

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
24 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Figura 1.23. Esquema eléctrico correspondiente al ejercicio propuesto.


Copyright © 2006. McGraw-Hill España. All rights reserved.

Figura 1.24. Organigrama del ejercicio.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
LA FAMILIA DE MICROCONTROLADORES PIC 25

Programa comentado

Una vez dados estos pasos previos estamos en disposición de comenzar la programación.
Vamos a seguir unas reglas básicas a la hora de escribir los programas que, aunque no son obli-
gatorias, facilitan la lectura y la comprensión.

1.a Tanto las directivas como las etiquetas se escribirán con mayúsculas, así como las instrucciones
serán escritas en minúsculas.
2.a Las instrucciones deberán tabularse con respecto a las etiquetas.
3.a Se pondrán comentarios que aclaren el contenido de instrucciones y rutinas.

Siguiendo estas normas y en base al esquema eléctrico y al organigrama se obtiene el programa


que aparece bajo estas líneas. Antes de continuar, ¿por qué no intenta resolverlo usted mismo y com-
prueba luego cómo anda su práctica de programación con los PIC? Recuerde que no hay un modo
único de resolución y que se aprende practicando y cometiendo errores.

LIST P=16F84 ; Se indica el tipo de


; procesador
RADIX HEX ; Sistema de numeración
; hexadecimal
INCLUDE «P16F84.INC» ; Se incluye la definición de
; los registros internos en
; una librería
ORG 0x00 ; Inicio en el Vector de
; Reset
goto INICIO ; Va a la primera instrucción
; del programa
ORG 0x05 ; Salta el Vector de
; Interrupción
INICIO bsf STATUS,RP0 ; Cambio al banco 1
clrf TRISB ; Puerta B como salida
movlw b’00000110’ ; RA1-RA2 entradas
Copyright © 2006. McGraw-Hill España. All rights reserved.

movwf TRISA
bcf STATUS,RP0 ; Cambio a banco 0
clrf PORTB ; Borrado de LEDs
clrf PORTA ; Borrado de líneas no
; utilizadas de Puerta A
BUCLE movf PORTA,W ; Puerta A W
btfss STATUS,Z ; Comprobación de Z = 1
goto APAGAR ; Si RA1-RA2 no son 0
goto ENCENDER ; Si RA1-RA2 son 0

APAGAR clrf PORTB ; Se apagan los LEDs


goto BUCLE ; Para volver a comprobar

ENCENDER movlw 0xFF ; Se encienden los LEDs


movwf PORTB
goto BUCLE ; Para volver a comprobar

END ; Fin de programa

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
26 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Llega la hora de probar la solución del problema para ver si se comporta como está previsto.
Los pasos a realizar serán siempre los siguientes:

1.o Llamar a un editor de textos cualquiera y copiar el programa. Grabarlo sin formato con extensión
«ASM».
2.o Ensamblarlo con el ensamblador de Microchip llamado MPASM. Corregir errores si los hubiera
volviendo al paso 1º.
3.o Grabar el microcontrolador utilizando, por ejemplo, el sistema de desarrollo Micro’PIC Trainer y su
software de grabación PICME-TR.
4.o Probar la solución utilizando los periféricos contenidos en el Micro’PIC Trainer.

Se explican a continuación detalladamente los tres últimos pasos.

Utilización del ensamblador MPASM

El ensamblador MPASM es un programa de libre distribución que se puede obtener en la página


web de Microchip, y que sirve para ensamblar ficheros con extensión ASM. Su aspecto se muestra
en la Figura 1.25.
Para desplazarse por los campos de la pantalla se usan los cursores y el tabulador. Los pasos pa-
ra ensamblar un programa son:
Copyright © 2006. McGraw-Hill España. All rights reserved.

Figura 1.25. Aspecto del ensamblador MPASM.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
LA FAMILIA DE MICROCONTROLADORES PIC 27

1.o En el campo Source File se introduce el nombre del fichero con extensión ASM a ensamblar jun-
to con su ruta de acceso. Si ésta no se conoce se deberá pulsar Enter para que aparezca la lista
de ficheros y directorios.
2.o En el campo Processor Type se busca el microcontrolador para el cual está pensado el progra-
ma, en nuestro caso el PIC16F84. Para cambiar los valores se utiliza el Enter.
3.o Al introducir el nombre del archivo en el primer paso, el programa rellena de forma automática
la mayoría de los campos restantes. Por defecto, genera dos ficheros con el mismo nombre que
el ASM; uno con extensión ERR, donde se detallan los errores de ensamblado, y que se puede
mirar con cualquier editor, y otro con extensión HEX, que será el que se grabe en el microcon-
trolador.
4.o Por último, se procede a ensamblar el programa pulsando F1 .
5.o En el caso de que se produzcan errores habrá que abrir el fichero ERR con un editor de texto pa-
ra ver su/s causa/s, corregirla/s en el programa fuente y volver a realizar los pasos para ensam-
blarlo.

Grabación y prueba de un programa en el Micro’PIC Trainer

El sistema de desarrollo Micro’PIC Trainer está ideado para grabar en el microcontrolador el pro-
grama, una vez ensamblado y convertido en formato HEX, y probar posteriormente dicho progra-
ma utilizando los periféricos de que dispone. Más información en www.microcontroladores.com.
Empezaremos nuestro acercamiento a la placa identificando las partes más importantes de la
misma, tal y como se muestra en la Figura 1.26.

ALIMENTACIÓN
PUERTO PARALELO

J9 J10
Copyright © 2006. McGraw-Hill España. All rights reserved.

PICBUS
POTENCIÓMETROS

LCD
PIC-28

JUMPERS A/D
7SEG
LEDS

INTERRUPTORES
JUMPERS PIC-18

Figura 1.26. Sistema de desarrollo Micro’PIC Trainer con las partes más significativas señaladas.
Cortesía de “Ingeniería de Microsistemas Programados S. L.”.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
28 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

1.a Alimentación: aquí se conecta la fuente de alimentación, que debe proporcionar 12 VAC.
2.a Puerto paralelo: mediante un cable paralelo se conecta la placa con el PC. Es necesario para
efectuar la grabación del microcontrolador.
3.a Picbus: por este conector salen al exterior todas las líneas del PIC que se encuentren en el zó-
calo de la placa. Sirve para realizar ampliaciones de periféricos, ya que permite conectar los PIC-
BUS de diferentes placas. Hay que tener cuidado de que dichas ampliaciones no causen inter-
ferencias en las señales de los periféricos que ya se encuentran en la placa, deshabilitando en
caso contrario alguno de ellos.
4.a PIC-18: es el zócalo donde se insertan los PIC de 18 patitas, como por ejemplo el PIC16F84.
5.a PIC-28: éste es el zócalo en el que se insertan los PIC de 28 patitas, caso de los 16F873/6. Sólo
se debe introducir un PIC en uno de los dos zócalos.
6.a Jumpers: sirven para conectar o desconectar el LCD, el display de 7 segmentos y la barrita de
LEDs.
7.a Interruptores: están conectados a las cinco líneas de la puerta A. Para poder utilizarlos los jum-
pers A/D, situados en la zona central de la placa entre los interruptores y los potenciómetros, de-
ben estar en la posición de «digital». Además, el jumper «J9», situado en la parte superior de-
recha del LCD, tiene que estar en la posición «A4». Si este jumper estuviese en su posición T0CK
quedaría deshabilitado el interruptor de la placa y podríamos usar esta entrada para otras cosas,
como por ejemplo, para conectar una fuente de impulsos externa para el TMR0.
8.a LEDs: están conectados a la puerta B. Para utilizarlos el Jumper serigrafiado como «LED ON»
debe estar cerrado. En esta posición todo lo que salga por la puerta B del PIC se representará
en la barrita de LEDs. El jumper «J10», situado en la parte superior del LCD, debe estar en la po-
sición «B0». Si este jumper estuviese en la posición «INT» la salida por la línea RB0 quedaría
deshabilitada, y ésta podría usarse, por ejemplo, como entrada para una señal de interrupción
externa.
9.a Display 7seg: el display de siete segmentos también está conectado a la puerta B del PIC. Para
que este periférico funcione, el Jumper «DIS ON» debe estar cerrado y el «J10» en su posición
«B0».
10.a LCD: este periférico es el que más conexiones requiere. Comparte las ocho líneas de la puerta
B con el display de siete segmentos y la barrita de LEDs, y además utiliza RA0, RA1 y RA2 co-
mo líneas de control. Por este motivo, cada vez que queramos enviar información al LCD, los in-
terruptores que comparten estas mismas líneas deben estar a 1 (hacia arriba). Además, el jum-
per «LCD ON» debe estar cerrado y el «J10» en su posición «B0».
11.a Jumpers A/D: seleccionan qué señales entrarán en las líneas RA0-RA4 del PIC. En la posición
Copyright © 2006. McGraw-Hill España. All rights reserved.

«Digital» conectan los interruptores y en la posición «Analógico» los potenciómetros.


12.a Potenciómetros: sirven para introducir señales analógicas a los PIC que poseen conversores
analógico/digitales. Es importante que los Jumpers A/D estén bien configurados para que no
existan conflictos entre estos potenciómetros y los interruptores.

Antes de utilizar los periféricos arriba descritos hay que grabar el programa en el PIC. Se reali-
zarán los siguientes pasos:

1.o Introducir el PIC adecuado en el zócalo correspondiente.


2.o Conectar la fuente de alimentación de 12 VAC a la placa y a un enchufe de 220 VAC estándar.
3.o Unir el PC con la placa mediante un cable paralelo.
4.o Quitar los jumpers que habilitan/deshabilitan el LCD, el display y la barrita de LEDs.
5.o Abrir el programa de grabación PICME-TR, mostrado en la Figura 1.27.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
LA FAMILIA DE MICROCONTROLADORES PIC 29

6.o Dentro de este programa pulsar los siguientes botones:


a) Abrir el Fichero ensamblado. En el Buffer de Memoria de Programa aparecerá el fichero en for-
mato HEX.
b) Borrar el PIC.
c) Comprobar el Borrado del PIC.
d) Poner la Palabra de Configuración con las opciones:
– Código Protegido: NO.
– Watchdog Timer: NO.
– Oscilador: XT.
– Power Timer: SÍ.
e) Programar Todo el programa en el PIC.
f) Verificar la programación del PIC.
7.o Conectar los jumpers que se han quitado antes, correspondientes a los periféricos que se van a
utilizar.

Si vuelve al programa que acabamos de realizar y grabar, comprobará que las líneas de E/S han
sido configuradas de modo que coincidan con los periféricos dispuestos en el Micro’PIC Trainer.
Para este primer programa sólo necesitamos dos interruptores y la barra de diodos LED, de mo-
do que desconecte la pantalla LCD y el display de 7 segmentos abriendo sus jumpers correspon-
dientes.
Asegúrese de que los jumpers A/D de las líneas RA1-RA2 están en la posición Digital e introduz-
ca ahora diferentes combinaciones para comprobar el funcionamiento del programa. Si éste no se com-
porta como esperaba no es un fallo sintáctico, ya que los errores han sido corregidos hasta obtener un
programa correctamente ensamblado. El fallo será semántico, es decir, deberá repasar el código fuente
para comprobar en qué punto difieren el organigrama del programa en ensamblador y corregirlo.
Copyright © 2006. McGraw-Hill España. All rights reserved.

Figura 1.27. Aspecto del programa de grabación PICME-TR.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
Diseñar con PIC es fácil

PRESENTACIÓN DE LOS SENSORES ANALÓGICOS MÁS UTILIZADOS

Aunque el PIC16F84 sirve para realizar un sinfín de aplicaciones comerciales y su aprendizaje es


muy didáctico y sencillo, existen ciertas aplicaciones muy comunes para las cuales este PIC no sir-
ve. Estamos hablando de aquellas que requieren la utilización de sensores analógicos. Vamos a pre-
sentar en este apartado dos sensores que, aunque muy utilizados en diversos aparatos que maneja-
mos a diario, no eran soportados directamente por el PIC16F84. Los nuevos PIC16F87x, al disponer
de Conversor A/D, pueden usarlos cómodamente.

El sensor de luminosidad: LDR

Un sensor de luminosidad tipo LDR es un elemento cuya resistencia entre bornes varía en función
de la luz que incide sobre su superficie. Así, cuando no existe luz presenta una resistencia infinita y
su resistencia va decreciendo, hasta llegar a cero, según va aumentando la luz.
Su uso puede ser interesante en todas aquellas aplicaciones en las cuales el hecho de existir más
o menos luz determine cierto comportamiento del sistema. Por ejemplo, la iluminación de la entrada
a una vivienda, de una habitación o de un criadero de peces, puede regularse automáticamente de mo-
do que se active una o varias bombillas con la detección de determinados niveles de luminosidad.
Es un elemento sin polaridad y se puede encontrar con diferentes diámetros según el rango de va-
lores de luminosidad que sea capaz de diferenciar. (Figura 1.28.)
Copyright © 2006. McGraw-Hill España. All rights reserved.

Figura 1.28. Aspecto y circuito práctico de una LDR.

30

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
LA FAMILIA DE MICROCONTROLADORES PIC 31

A la derecha de la Figura 1.28 se muestra el esquema de conexionado al PIC. La tensión gene-


rada según el grado de luminosidad se aplicará por una de las patitas analógicas del PIC16F87x de-
bidamente configurada, y será transformada en un valor digital para su tratamiento posterior. Cuan-
do no exista luz, el voltaje de salida, VOUT, será 5 V y con luminosidad máxima 0 V.

El sensor de temperatura estándar: LM35

Otro sensor analógico ampliamente utilizado es el de temperatura. En el mercado existen muchos


modelos de sensores de temperatura y su elección depende de diversos parámetros, como pueden ser
el rango de temperaturas que sean capaces de admitir, la precisión necesaria, el coste, la resistencia
que debe presentar a ciertas condiciones ambientales, etc.
En la siguiente tabla se presentan los valores de algunos de estos sensores.

SENSOR RANGO INCREMENTO PROPIEDADES

LM335A -40º C – 100º C 0,10 mV/ºC

PRC100 -40º C – 150º C 0º C – 100 W Precisión debido a su


100º C – 138,5 W comportamiento lineal
Resistente.

PT100 -50º C – 500º C 100 W – 0º C Reducido tamaño y rápida respuesta.

PTC (Coeficiente de Diferentes Baja resistencia a baja En circuitos de aviso.


Temperatura positivo) temperatura y aumenta Protección contra sobretensiones y
rápidamente al superar sobrecorrientes.
la temperatura de referencia.

NTC (Coeficiente de Diferentes Alta resistencia a baja Buena fiabilidad a bajo coste.
Temperatura negativo) temperatura y al contrario. Muy empleados en electrodomésticos.

Termopar tipo N -50º C – 400º C Altas temperaturas.


Elevada vida útil.
Espacios reducidos.
Copyright © 2006. McGraw-Hill España. All rights reserved.

Uno de los sensores más utilizados es el LM35, por lo que se considera estándar. Sus caracterís-
ticas son:

1.a Su tensión de salida VOUT es proporcional a la temperatura en una proporción de 10 mV/˚C.


2.a Su rango de funcionamiento está comprendido entre 0˚ C y 100˚ C.
3.a Su tensión de funcionamiento VS está entre +4 VDC y +30 VDC.
4.a Su precisión es de + 0,9˚ C.

En la Figura 1.29 se muestra el aspecto externo de un sensor de temperatura estándar. La


patita +VS se debe conectar a la tensión positiva, comprendida entre +4 V y +30 V. GND será

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
32 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

conectada a 0 V y VOUT se conectará a la línea correspondiente del PIC. A éste llegará el volta-
je proporcional a la temperatura captada, que será convertida en un valor binario para su poste-
rior tratamiento.

5
LM3
+VS
VOUT GND

Figura 1.29. Aspecto de un LM35. La disposición de las patitas del sensor del dibujo se corresponde
con un sensor cuya parte plana está orientada hacia arriba.
Copyright © 2006. McGraw-Hill España. All rights reserved.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
2 Arquitectura, diagrama
de conexiones
y repertorio
de instrucciones

2.1. INTRODUCCIÓN

Bajo la denominación de PIC16F87x se hace referencia a una subfamilia de microcontrolado-


res PIC de la gama media, que se identifica por tener como memoria de programa una de tipo
FLASH mejorada y una serie de recursos semejante a los modelos más potentes, como por ejem-
plo los PIC16C73/4A, teniendo estos últimos el inconveniente de que su memoria de programa
es de tipo EPROM.
Cuatro de los siete modelos que componen esta subfamilia están encapsulados con 28 patitas
(PIC16F870/PIC16F872/PIC16F873A/PIC16F876A), mientras que los otros tres tienen 40 patitas
(PIC16F871/PIC16F874A/PIC16F877A). Con la intención de seguir potenciando la línea con me-
moria FLASH, Microchip también comercializa los microcontroladores PIC16F62x, que con un
precio «rompedor» mantiene el encapsulado de 18 patitas, aumentando considerablemente los re-
cursos internos en comparación con el PIC16F84.
Las principales diferencias entre los PIC16F87x con 28 patitas y los de 40 se concentran espe-
cialmente en el número de líneas de E/S disponibles, pero a continuación se citan las cuatro dife-
Copyright © 2006. McGraw-Hill España. All rights reserved.

rencias más relevantes:

1.a Los modelos encapsulados con 40 patitas disponen de 5 puertas (PA, PB, PC, PD y PE) de E/S
con un total de 33 líneas para conectar a los periféricos exteriores. Los de 28 patitas sólo tienen 3
puertas (PA, PB y PC) con 22 líneas de E/S.
2.a El conversor A/D en los PIC con 28 patitas tiene 5 canales de entrada, pero en los de 40 patitas
tiene 8.
3.a Sólo los encapsulados con 40 patitas integran una puerta paralela esclava (PSP).
4.a Existen 14 causas de interrupción en los modelos con 28 patitas y 15 en los de 40 patitas.

Con la intención de ir acostumbrando al lector a conocer los recursos de los PIC16F87x se re-
sumen en las Figuras 2.1 y 2.2.

33

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
34 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

RECURSOS FUNDAMENTALES

• Procesador de arquitectura RISC avanzada.


• Juego de 35 instrucciones con 14 bits de longitud. Todas ellas se ejecutan en un ciclo de instruc-
ción, menos las de salto que tardan dos.
• Frecuencia de 20 MHz.
• Hasta 8 K palabras de 14 bits para la Memoria de Código, tipo FLASH.
• Hasta 368 bytes de Memoria de Datos RAM.
• Hasta 256 bytes de Memoria de Datos EEPROM.
• Encapsulados compatibles con los PIC16C73A/74A/76/77A.
• Hasta 15 fuentes de interrupción internas y externas.
• Pila con 8 niveles.
• Modos de direccionamiento directo, indirecto y relativo.
• Perro Guardián (WDT).
• Código de protección programable.
• Modo SLEEP de bajo consumo.
• Programación serie en circuito con dos patitas.
• Voltaje de alimentación comprendido entre 2 y 5,5 V.
• Bajo consumo (menos de 1,6 mA a 5 V y 4 MHz).

DISPOSITIVOS PERIFÉRICOS

• Timer0: temporizador-contador de 8 bits con predivisor de 8 bits.


• Timer1: temporizador-contador de 16 bits con predivisor.
• Timer2: temporizador-contador de 8 bits con predivisor y postdivisor.
• Dos módulos de Captura-Comparación-PWM.
• Conversor A/D de 10 bits.
• Puerto Serie Síncrono (SSP) con SPI e I2C.
• USART.
• Puerta Paralela Esclava (PSP). Sólo en encapsulados con 40 patitas.
• Módulos de Comparacion Analógicos en los modelos terminados en A.

Figura 2.1. Tabla de los principales recursos de los microcontroladores PIC16F87x


Copyright © 2006. McGraw-Hill España. All rights reserved.

2.2. PROCESADOR RISC CON ARQUITECTURA HARVARD

Esta arquitectura aplicada por Microchip en sus microcontroladores se caracteriza por la indepen-
dencia entre la memoria de código y la de datos. Así, tanto la capacidad como el tamaño de los bu-
ses de cada memoria se adaptan estrictamente a las necesidades del diseño, facilitando el trabajo en
paralelo de las dos memorias, lo que permite obtener altas cotas de rendimiento. La filosofía RISC
se hace patente en el reducido número de instrucciones que forman su repertorio. Sólo consta de 35
instrucciones, que se ejecutan en un ciclo de instrucción, equivalente a cuatro períodos de reloj, ex-
cepto las de salto que necesitan dos ciclos. (Figura 2.3.)
Una primera aproximación a la arquitectura interna de los PIC16F87x se muestra en la Figura 2.4.
Debe tenerse en cuenta que la mayor diferencia entre los modelos de 40 patitas y los de 28 reside en
el número de Puertas de E/S, que en el primer caso asciende a 5 y en el segundo a 3.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
Copyright © 2006. McGraw-Hill España. All rights reserved.
Created from unadsp on 2018-10-22 21:26:41.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.

ARQUITECTURA, DIAGRAMA DE CONEXIONES Y REPERTORIO DE INSTRUCCIONES


Memoria Memoria Memoria Periféricos Periféricos
Analógicos Digitales FREC. Puerta
de programa de datos de datos PATITAS CCP
MODELO ENCAPSULADOS MÁX. paralela
FLASH Bytes y EEPROM SRAM E/S CAD-10bits Timers E/S MHz /ECCP PSP
Words (14 bits) Bytes Bytes COMP.
CANALES /WDT SERIE
1-16
3.584
PIC16F870 64 128 22 28SP,28SO,28SS 5 - 2-8 AUSART 20 1/0 -
2.048
1-WDT
1-16
3.584
PIC16F871 64 128 33 40P,44L,44PT 8 - 2-8 AUSART 20 1/0 1
2.048
1-WDT
1-16
3.584
PIC16F872 64 128 22 28SP,28SO,28SS 5 - 2-8 MI2C/SPI 20 1/0 -
2.048
1-WDT
1-16
7.168 AUSART
PIC16F873A 128 192 22 28SP,28SO,28SS,28ML 5 2 2-8 20 2/0 -
4.096 MI2C/SPI
1-WDT
1-16
7.168 AUSART
PIC16F874A 128 192 33 40P,40ML,40L,44PT 8 2 2-8 20 2/0 1
4.096 MI2C/SPI
1-WDT
1-16
14.336 AUSART
PIC16F876A 256 368 22 28SP,28SO,28SS,28ML 5 2 2-8 20 2/0 -
8.192 MI2C/SPI
1-WDT
1-16
14.336 AUSART
PIC16F877A 256 368 33 40P,44ML,44L,44PT 8 2 2-8 20 2/0 1
8.192 MI2C/SPI
1-WDT

Figura 2.2. Tabla que recoge las principales características de los modelos de microcontroladores de 8 bits PIC16F87X. Ver
significado de los encapsulados en la Figura 2.12.

35
36 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Figura 2.3. Los buses para instrucciones y datos son totalmente independientes y se ajustan a las
necesidades de cada memoria, permitiendo el acceso simultáneo.

Obsérvese en la Figura 2.4 que la memoria de código está direccionada por el PC (Contador de
Programa) en conexión con la Pila de 8 niveles. La memoria de datos RAM contiene el Banco de
Registros Específicos y el Banco de los Registros de Propósito General y transfiere información bi-
direccional por el bus de datos de 8 líneas que interconecta todos los elementos. Finalmente, el Ca-
mino de Datos está formado por una ALU de 8 bits que trabaja conjuntamente con el Registro de
Trabajo W.

9
Copyright © 2006. McGraw-Hill España. All rights reserved.

Figura 2.4. Arquitectura tipo Harvard simplificada para los microcontroladores PIC16F87x.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
ARQUITECTURA, DIAGRAMA DE CONEXIONES Y REPERTORIO DE INSTRUCCIONES 37

En el esquema de la Figura 2.5 se presenta con más detalle la arquitectura correspondiente


a los modelos PIC16F871/PIC16F874A/PIC16F877A de 40 patitas. Los otros modelos
PIC16F873/6A de la subfamilia tienen idéntica arquitectura, pero carecen de las puertas D y E, así
como de las funciones que éstas soportan. El PIC16F871 carece del comparador y del módulo de
voltaje de referencia.
Copyright © 2006. McGraw-Hill España. All rights reserved.

Figura 2.5. Arquitectura de los PIC16F871/PIC16F874A/PIC16F877A de 40 patitas. Para los mode-


los de 28 patitas la arquitectura sólo difiere en que carecen de las Puertas de E/S D y E.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
38 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

2.3. ORGANIZACIÓN DE LA MEMORIA DE PROGRAMA

La memoria FLASH, en la que se graba el programa de aplicación en los PIC16F87x, puede tener
una capacidad de 2 K, 4 K u 8 K palabras de 14 bits cada una. Dicha memoria está dividida en pá-
ginas de 2 K palabras y está direccionada con el PC, que tiene un tamaño de 13 bits. La Pila se ba-
sa en una estructura LIFO (último en entrar, primero en salir), que tiene 8 niveles de profundidad,
es transparente para el usuario, es decir, funciona automáticamente y no dispone de instrucciones pa-
ra guardar o sacar de ella información. Con la instrucción CALL y con las interrupciones el valor
del PC se salva en el nivel superior. Con las instrucciones RETURN, RETFIE y RETLW el valor
contenido en el nivel superior de la Pila se carga en el PC. Al poseer la Pila sólo 8 niveles le co-
rresponde al programador preocuparse por los anidamientos en las subrutinas para no sobrepasar di-
cho valor. El vector de Reset ocupa la dirección 0000h y el vector de Interrupción la 0004h, igual
que en el PIC16F84. (Figura 2.6.)

**
Copyright © 2006. McGraw-Hill España. All rights reserved.

** Sólo implementadas en los modelos de 4 K

Figura 2.6. Organización de la memoria de programa tipo FLASH en los PIC16F87x.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
ARQUITECTURA, DIAGRAMA DE CONEXIONES Y REPERTORIO DE INSTRUCCIONES 39

2.4. ORGANIZACIÓN DE LA MEMORIA DE DATOS RAM

La memoria de datos tiene posiciones implementadas en RAM y otras en EEPROM. En la sección


RAM, se alojan los registros operativos fundamentales en el funcionamiento del procesador y en el
manejo de todos sus periféricos, además de registros que el programador puede usar para informa-
ción de trabajo propia de la aplicación. Más adelante, se estudiará la memoria EEPROM para guar-
dar datos de forma no volátil, a la que se considera como un dispositivo especial.
La RAM estática consta de 4 bancos con 128 bytes cada uno. En las posiciones iniciales de cada ban-
co se ubican los Registros Específicos que gobiernan al procesador y sus recursos. Tres modelos tienen
128 bytes de RAM, dos tienen 192 bytes y los otros dos 368 bytes. Los modelos de menor capacidad
no tienen implementadas físicamente algunas posiciones. La Figura 2.7 presenta los cuatro bancos de
la RAM, indicando en las primeras posiciones de cada uno los nombres de los registros que contienen.
En las Figuras 2.7 y 2.8 las posiciones con trama oscura no están implementadas físicamente y
siempre se leen como 0. Los registros específicos marcados con la nota (1) no se hallan implemen-
tados en los PIC de 28 patitas. Los registros marcados como “Reservado” deben mantenerse limpios.
Para seleccionar el banco al que se desea acceder en la RAM se emplean los bits 6 y 5 del Re-
gistro de Estado, denominados RP1 y RP0 respectivamente, según el código siguiente:

BANCO RP1 RP0


0 0 0
1 0 1
2 1 0
3 1 1

Para manipular adecuadamente los elementos internos de los PIC hay que conocer la misión de
los bits de los Registros Específicos.

2.4.1. Registros específicos para el control de la memoria de programa

Los 13 bits contenidos en el PC, que direccionan la memoria de código, están guardados en dos re-
Copyright © 2006. McGraw-Hill España. All rights reserved.

gistros específicos. El registro PCL guarda los 8 bits de menos peso y se puede leer y escribir. Los
bits <12:8> del PC se alojan en el registro PCH, que al no poder ser leído ni escrito, se accede a él
a través del PCLATH.
Las instrucciones de salto CALL y GOTO sólo proporcionan 11 bits de la dirección a saltar. Es-
to limita el salto dentro de cada banco de 2 K. Cuando se desea salir del banco actual hay que pro-
gramar correctamente los bits PCLATH <4:3> que seleccionan al banco. Es labor del programador
modificar el valor de dichos bits en las instrucciones CALL Y GOTO. (Figura 2.9.)

2.4.2. Control de la memoria de datos

Para direccionar la memoria RAM de datos estructurada en 4 bancos de 128 bytes cada uno existen
dos modos diferentes:
Direccionamiento indirecto
Direccionamiento directo

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
40 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

INDF 00h INDF 80h INDF 100h INDF 180h


TMR0 01h OPTION_REG 81h TMR0 101h OPTION_REG 181h
PCL 02h PCL 82h PCL 102h PCL 182h
STATUS 03h STATUS 83h STATUS 103h STATUS 183h
FSR 04h FSR 84h FSR 104h FSR 184h
PORTA 05h TRISA 85h 105h 185h
PORTB 06h TRISB 86h PORTB 106h TRISB 186h
PORTC 07h TRISC 87h 107h 187h
PORTD 08h TRISD 88h 108h 188h
PORTE 09h TRISE 89h 109h 189h
PCLATH 0Ah PCLATH 8Ah PCLATH 10Ah PCLATH 18Ah
INTCON 0Bh INTCON 8Bh INTCON 10Bh INTCON 18Bh
PIR1 0Ch PIE1 8Ch EEDATA 10Ch EECON1 18Ch
PIR2 0Dh PIE2 8Dh EEADR 10Dh EECON2 18Dh
TMR1L 0Eh PCON 8Eh EEDATH 10Eh Reservado 18Eh
TMR1H 0Fh 8Fh EEADRH 10Fh Reservado 18Fh
T1CON 10h 90h Registros de 110h Registros de 190h
TMR2 11h SSPCON2 91h Propósito 111h Propósito 191h
T2CON 12h PR2 92h General 112h General 192h
SSPBUF 13h SSPADD 93h 16 Bytes 113h 16 Bytes 193h
SSPCON 14h SSPSTAT 94h 114h 194h
CCPR1L 15h 95h 115h 195h
CCPR1H 16h 96h 116h 196h
CCP1CON 17h 97h 117h 197h
RCSTA 18h TXSTA 98h 118h 198h
TXREG 19h SPBRG 99h 119h 199h
RCREG 1Ah 9Ah 11Ah 19Ah
CCPR2L 1Bh 9Bh 11Bh 19Bh
CCPR2H 1Ch CMCON 9Ch 11Ch 19Ch
CCP2CON 1Dh CVRCON 9Dh 11Dh 19Dh
Copyright © 2006. McGraw-Hill España. All rights reserved.

ADRESH 1Eh ADRESL 9Eh 11Eh 19Eh


ADCON0 1Fh ADCON1 9Fh 11Fh 19Fh
Registros de 20h Registros de A0h Registros de 120h Registros de 1A0h
Propósito Propósito Propósito Propósito
General General General General
96 Bytes 80 Bytes 80 Bytes 80 Bytes
EFh 16Fh 1EFh

Mapeados con F0h Mapeados con 170h Mapeados con 1F0h


70h-7Fh 70h-7Fh 70h-7Fh
7Fh FFh 17Fh 1FFh
Banco 0 Banco 1 Banco 2 Banco 3

Figura 2.7. Distribución de la memoria RAM en cuatro bancos con 368 bytes útiles.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
ARQUITECTURA, DIAGRAMA DE CONEXIONES Y REPERTORIO DE INSTRUCCIONES 41

INDF 00h INDF 80h INDF 100h INDF 180h


TMR0 01h OPTION_REG 81h TMR0 101h OPTION_REG 181h
PCL 02h PCL 82h PCL 102h PCL 182h
STATUS 03h STATUS 83h STATUS 103h STATUS 183h
FSR 04h FSR 84h FSR 104h FSR 184h
PORTA 05h TRISA 85h 105h 185h
PORTB 06h TRISB 86h PORTB 106h TRISB 186h
PORTC 07h TRISC 87h 107h 187h
PORTD 08h TRISD 88h 108h 188h
PORTE 09h TRISE 89h 109h 189h
PCLATH 0Ah PCLATH 8Ah PCLATH 10Ah PCLATH 18Ah
INTCON 0Bh INTCON 8Bh INTCON 10Bh INTCON 18Bh
PIR1 0Ch PIE1 8Ch EEDATA 10Ch EECON1 18Ch
PIR2 0Dh PIE2 8Dh EEADR 10Dh EECON2 18Dh
TMR1L 0Eh PCON 8Eh EEDATH 10Eh Reservado 18Eh
TMR1H 0Fh 8Fh EEADRH 10Fh Reservado 18Fh
T1CON 10h 90h 110h 190h
TMR2 11h SSPCON2 91h
T2CON 12h PR2 92h
SSPBUF 13h SSPADD 93h
SSPCON 14h SSPSTAT 94h
CCPR1L 15h 95h
CCPR1H 16h 96h
CCP1CON 17h 97h
RCSTA 18h TXSTA 98h
TXREG 19h SPBRG 99h
RCREG 1Ah 9Ah
CCPR2L 1Bh 9Bh
CCPR2H 1Ch CMCON 9Ch
CCP2CON 1Dh CVRCON 9Dh
Copyright © 2006. McGraw-Hill España. All rights reserved.

ADRESH 1Eh ADRESL 9Eh


ADCON0 1Fh ADCON1 9Fh 11Fh 19Fh
Registros de 20h Registros de A0h Mapeados 120h Mapeados con 1A0h
Propósito Propósito con 20h-7Fh A0h-FFh
General General
96 Bytes 96 Bytes

7Fh FFh 17Fh 1FFh


Banco 0 Banco 1 Banco 2 Banco 3

Figura 2.8. Organización de la RAM en los modelos PIC16F873A/4A, con 192 bytes útiles.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
42 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Figura 2.9. En la figura superior se muestra cómo se carga el PC. Abajo se muestra la carga del PC
con las instrucciones CALL y GOTO.
Copyright © 2006. McGraw-Hill España. All rights reserved.

En el modo de direccionamiento directo, los bits RP1 y RP0 del Registro de Estado <6:5> se en-
cargan de seleccionar el banco, mientras que la dirección dentro del banco la determinan 7 bits pro-
cedentes del código OP de la instrucción. Para el direccionamiento indirecto se usa el registro FSR,
en el que sus 7 bits de menos peso señalan la dirección, y el banco lo determina el bit de más peso
de FSR concatenado con el bit IRP del Registro de Estado <7>. (Figura 2.10.)

2.5. DIAGRAMA DE CONEXIONADO

En la Figura 2.11 se muestra el diagrama de distribución y asignación de las 28 o 40 patitas de los


encapsulados PDIP (doble hilera de patitas de plástico) de los PIC16F87x. Los encapsulados con
menos patitas carecen de las puertas D y E.
La Figura 2.12 muestra algunas de las posibles opciones de encapsulado que utiliza Microchip
para proteger a sus microcontroladores.
La asignación de funciones para las diferentes patitas es la siguiente:

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
ARQUITECTURA, DIAGRAMA DE CONEXIONES Y REPERTORIO DE INSTRUCCIONES 43

Figura 2.10. Formas de seleccionar el banco y la dirección de la memoria RAM en los direcciona-
mientos directo e indirecto.
Copyright © 2006. McGraw-Hill España. All rights reserved.

PATITAS DE PROPÓSITO GENERAL

• OSC1/CLKIN (9): entrada del cristal de cuarzo o del oscilador externo.


• OSC2/CLKOUT (10): salida del cristal de cuarzo. En modo RC la patita OSC2 saca la cuarta parte
de la frecuencia que se introduce por OSC1, que determina el ciclo de instrucción.
• VSS (8-19): conexión a Tierra.
• VDD (20): entrada de la alimentación positiva.
• MCLR#/VPP/THV (1): entrada de RESET o entrada del voltaje de programación o voltaje alto en el
modo test.

PUERTA A

• RA0/AN0 (2): puede actuar como línea digital de E/S o como entrada analógica al conversor AD (ca-
nal 0).
• RA1/AN1 (3): igual que la RA0/AN0.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
44 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES
Copyright © 2006. McGraw-Hill España. All rights reserved.

Figura 2.11. Diagrama de asignación y conexionado de las patitas de los dos posibles encapsulados
en los modelos de la subfamilia PIC16F87x.

• RA2/AN2/VREF- /CVRef(4): puede ser línea digital de E/S, entrada analógica o entrada del voltaje
negativo de referencia o salida del comparador.
• RA3/AN3/VREF+ /C1Out(5): línea digital de E/S, entrada analógica o entrada del voltaje de
referencia positivo o salida 1 del comparador.
• RA4/T0CKI (6) /CS2Out: línea digital de E/S o entrada del reloj del Timer0. Salida con colector
abierto o salida 2 del comparador.
• RA5/SS#/AN4 (7): línea digital de E/S, entrada analógica o selección como esclavo de la puerta
serie síncrona.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
ARQUITECTURA, DIAGRAMA DE CONEXIONES Y REPERTORIO DE INSTRUCCIONES 45

PUERTA B

• RB0/INT (21): línea digital de E/S o entrada de petición de interrupción externa.


• RB1 (22): línea de E/S digital.
• RB2 (23): línea de E/S digital.
• RB3/PGM (24): línea digital de E/S o entrada del voltaje bajo para programación.
• RB4 (25): línea de E/S digital.
• RB5 (26): línea digital de E/S.
• RB6/PGC (27): línea digital de E/S. En la programación serie recibe las señales de reloj.
• RB7/PGD (28): línea digital de E/S. En la programación serie actúa como entrada de datos.

PUERTA C

• RC0/T1OSO/T1CKI (11): línea digital de E/S o salida del oscilador del Timer1 o como entrada
externa de reloj del Timer1.
• RC1/T1OSI/CCP2 (12): línea digital de E/S o entrada al oscilador del Timer1 o entrada al módulo
Captura2/salida Comparación2/salida de PWM2.
• RC2/CCP1 (13): E/S digital. También puede actuar como entrada Captura1/Salida
Comparación1/salida de PWM1.
• RC3/SCK/SCL (14): E/S digital o entrada/salida de reloj serie síncrona de los modos SPI e I2C.
• RC4/SDI/SDA (15): E/S digital o entrada de datos en modo SPI o E/S datos en modo I2C.
• RC5/SDO (16): E/S digital o salida de datos en modo SPI.
• RC6/TX/CK (17): E/S digital o patita del transmisor del USART asíncrono o como reloj
del síncrono.
• RC7/RX/DT (18): E/S digital o receptor del USART asíncrono o como datos en el síncrono.

PUERTA D

• RD0/PSP0-RD7/PSP7: las 8 patitas de esta puerta pueden actuar como líneas de E/S digitales o co-
mo líneas para la transferencia de información en la comunicación de la puerta paralela esclava. Só-
lo están disponibles en los PIC16F871/74/74A/77/77A (los de 40 patitas).

PUERTA E
Copyright © 2006. McGraw-Hill España. All rights reserved.

Sólo tiene 3 patitas:

• RE0/RD#/AN5: E/S digital o señal de lectura para la puerta paralela esclava o entrada analógica
(canal 5).
• RE1/WR#/AN6: E/S digital o señal de escritura en la puerta paralela esclava o entrada analógica al
conversor A/D (canal 6).
• RE2/CS#/AN7: E/S digital o activación/desactivación de la puerta paralela esclava o entrada analó-
gica (canal 7).

Los PIC16F87x de 28 patitas al carecer de las Puertas D y E tienen 22 líneas de E/S (6 de la Puer-
ta A, 8 de la B y 8 de la C). Además, no disponen de puerta paralela esclava y sólo conectan al con-
versor A/D mediante 5 canales.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
46 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

2.6. REPERTORIO DE INSTRUCCIONES

Los mismos formatos, iguales modos de direccionamiento y las mismas 35 instrucciones que te-
nía el PIC16F84 sirven para todos los modelos PIC16F87x, por lo que no vamos a volver a repe-
tirlos.
No obstante, en los nuevos PIC, al contener más recursos, existen nuevos Registros Específicos
de control cuyos bits se deberán escribir o leer para su gobierno. Dichos recursos y sus registros aso-
ciados serán el tema de los próximos capítulos.
En la Figura 2.13 se ofrece un cuadro resumido del repertorio de instrucciones.
Copyright © 2006. McGraw-Hill España. All rights reserved.

Figura 2.12. Opciones de encapsulados para los microcontroladores PIC. (Cortesía de Microchip.)

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
ARQUITECTURA, DIAGRAMA DE CONEXIONES Y REPERTORIO DE INSTRUCCIONES 47

NEMÓ- PARÁ- FORMATO SEÑALI-


OPERACIÓN CICLOS
NICOS METROS 14 BITS ZADORES

INSTRUCCIONES QUE MANEJAN REGISTROS

addwf f, d SUMA de W con f 1 00 0111 dfff ffff C, DC, Z


andwf f, d AND de W con f 1 00 0101 dfff ffff Z
clrf f BORRADO de f 1 00 0001 1fff ffff Z
clrw æ BORRADO de W 1 00 0001 0xxx xxxx Z
comf f, d COMPLEMENTO de f 1 00 1001 dfff ffff Z
decf f, d DECREMENTO de f 1 00 0011 dfff ffff Z
incf f, d INCREMENTO de f 1 00 1010 dfff ffff Z
iorwf f, d OR de W con f 1 00 0100 dfff ffff Z
movf f, d MOVIMIENTO de f 1 00 1000 dfff ffff Z
movwf f MOVIMIENTO de W a f 1 00 0000 1fff ffff
nop æ NO OPERACIÓN 1 00 0000 0xx0 0000
rlf f, d ROTACIÓN de f a izquierda con carry 1 00 1101 dfff ffff C
rrf f, d ROTACIÓN de f a derecha con carry 1 00 1100 dfff ffff C
subwf f, d RESTA de W a f (f - W) 1 00 0010 dfff ffff C, DC, Z
swapf f, d INTERCAMBIO de 4 bits de más 1 00 1110 dfff ffff
peso por los 4 de menos peso
xorwf f, d OR exclusiva de W con f 1 00 0110 dfff ffff Z

INSTRUCCIONES QUE MANEJAN BITS

bcf f, b PUESTA a 0 del bit b de f 1 01 00bb bfff ffff


bsf f, b PUESTA a 1 del bit b de f 1 01 01bb bfff ffff

INSTRUCCIONES DE «BRINCO»

btfsc f, b TESTEO del bit b de f; BRINCO si 0 1 (2) 01 10bb bfff ffff


btfss f, b TESTEO del bit b de f; BRINCO si 1 1 (2) 01 11bb bfff ffff
decfsz f, d DECREMENTO de f; BRINCO si 0 1 (2) 00 1011 dfff ffff
incfsz f, d INCREMENTO de f; BRINCO si 0 1 (2) 00 1111 dfff ffff

INSTRUCCIONES QUE MANEJAN OPERANDOS INMEDIATOS

addlw k SUMA de literal con W 1 11 111x kkkk kkkk C, DC, Z


Copyright © 2006. McGraw-Hill España. All rights reserved.

andlw k AND de literal con W 1 11 1001 kkkk kkkk Z


iorlw k OR de literal con W 1 11 1000 kkkk kkkk Z
movlw k MOVIMIENTO de literal a W 1 11 00xx kkkk kkkk
sublw k RESTA W de literal (k - W) 1 11 110x kkkk kkkk C, DC, Z
xorlw k OR exclusiva de literal con W 1 11 1010 kkkk kkkk Z

INSTRUCCIONES DE CONTROL Y ESPECIALES

call k LLAMADA a subrrutina 2 10 0kkk kkkk kkkk


clrwdt BORRADO del WATCHDOG 1 00 0000 0110 0100 #TO, #PD
goto k SALTO a una dirección 2 10 1kkk kkkk kkkk
retfie RETORNO de interrupción 2 00 0000 0000 1001
retlw k RETORNO devolviendo literal en W 2 11 01xx kkkk kkkk
return RETORNO de subrrutina 2 00 0000 0000 1000
sleep PUESTA del microprocesador en reposo 1 00 0000 0110 0011 #TO, #PD

Figura 2.13. Principales características de las 35 instrucciones que componen el repertorio de los
PIC16F87x.

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.
Programar PIC es fácil

EL PRIMER PROGRAMA CON LOS PIC16F87X

Tras el repaso a la programación de microcontroladores PIC llevado a cabo en el tema anterior, va-
mos a repetir el mismo ejercicio pero esta vez con los PIC16F87x y, más concretamente, con el
PIC16F873A. Puesto que el enunciado, aparte de trabajar con un nuevo PIC, es el mismo, no vamos
a repetirlo. Igualmente ocurre con el organigrama. El esquema eléctrico, sin embargo, presenta al-
gunas diferencias.

Esquema eléctrico

Como puede observarse en la Figura 2.14, el modo de representar los periféricos de entrada/sali-
da no varía más que en el lugar que ocupan, ya que la distribución de las patitas del PIC ha cam-
biado. Los condensadores que acompañan al cristal de cuarzo ahora son de 15 pF y no de 27 pF
como eran en el PIC16F84 para trabajar a la misma frecuencia. Por último, ahora hay 2 patitas VSS
en vez de 1.
Copyright © 2006. McGraw-Hill España. All rights reserved.

Programa comentado

Se presenta a continuación la resolución del ejercicio propuesto utilizando un PIC16F873A. De-


bido a que las funciones de este PIC son mayores, sus patitas tienen asignadas varias tareas, y la
discriminación entre dichas tareas es la diferencia más notable con respecto al ejercicio del te-
ma anterior. Así, además de configurar las líneas de la Puerta A como de entrada o salida, hay
que decir, en el caso de que vayan a ser entradas, si dichas entradas serán analógicas o digitales.
En el tema correspondiente al Conversor Analógico/Digital se verán todas las combinaciones
posibles.
Otra cosa a tener en cuenta es que el número de bancos de la memoria de datos RAM ha au-
mentado a cuatro. Esto quiere decir que para movernos por ellos necesitamos estar pendientes no só-
lo del bit 5 del registro Estado <RP0>, sino del 5 y del 6 <RP1:RP0>. En el programa se ha inclui-
do este hecho aunque en este caso no era necesario por partir de los dos bits a 0 al comienzo del
programa.
Se ha incluido un * en todas las líneas que se han añadido o han variado.
48

Angulo, Usategui, José María, et al. Microcontroladores PIC: diseño práctico de aplicaciones. Segunda parte: PIC16F87X, PIC18FXXXX. (2a.
ed.), McGraw-Hill España, 2006. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3194849.
Created from unadsp on 2018-10-22 21:26:41.

Potrebbero piacerti anche