Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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.
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.
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
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
Figura 1.7. Los microcontroladores PIC de 8 bits se clasifican en 3 grandes gamas: Base, Media y
Mejorada.
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
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.
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.
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.
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.
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
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.
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
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.
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
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
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
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.
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.
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
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
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.
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
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
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-
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.
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:
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
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
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.
64-256KB 8-30 KB
Watchdog
UART(2)
PROCESADOR DE 16 BITS Y 40 MIPS
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
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
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.
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
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.
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.
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.
Antes de utilizar los periféricos arriba descritos hay que grabar el programa en el PIC. Se reali-
zarán los siguientes pasos:
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
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.
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
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.
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
NTC (Coeficiente de Diferentes Alta resistencia a baja Buena fiabilidad a bajo coste.
Temperatura negativo) temperatura y al contrario. Muy empleados en electrodomésticos.
Uno de los sensores más utilizados es el LM35, por lo que se considera estándar. Sus caracterís-
ticas son:
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
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
DISPOSITIVOS PERIFÉRICOS
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.
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
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
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.
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
Para manipular adecuadamente los elementos internos de los PIC hay que conocer la misión de
los bits de los Registros Específicos.
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.)
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
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
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.)
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.
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
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.
• 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
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
INSTRUCCIONES DE «BRINCO»
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
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
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.