UNIVERSIDAD POLITECNICA SALESIANA

SISTEMAS MICROPROCESADOS I CARLOS OCAMPO FERNANDO ITAS

La familia de microcontroladores PIC
• Los microchip son los fabricantes


• Los productos de Microchip son absorbidos en un 43% por Asia y Japón, mientras que Europa soporta el 28% América el 29%

Grafico que muestra el aumento de las ventas anuales de microchip en la que destaca el porcentaje debido a los controladores

Distribución de las ventas de microcontroladores PIC en los principales segmento* JUP mercado.

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 capacidad de memoria y periféricos, la compatibilidad del software y del repertorio de instrucciones, la compatibilidad de periféricos y la de las herramientas de desarrollo.

La variabilidad de dispositivos PIC con sus distintas configuraciones

CLASIFICACION DE LOS MICROCONTROLADORES PIC

 Estos microcontroladores o MCU se caracterizan por su

arquitectura Harvard con memorias de programa 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.  Generalmente 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 solo fabrican microcontroladores de 8 y de 16 bits y como se ha indicado es el líder mundial en ventas del primer grupo.

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

Los microcontroladores PIC se clasifican en tres grandes gamas: BASE MEDIA MEJORADA Contienen distintas capacidades de memoria, periféricos y distintos tipos de encapsulados

LA GAMA BASE
Se caracteriza porque responden a un juego de 33

instrucciones maquina de 12 bits de longitud cada una y dispone de una pila con solo 2 niveles

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.

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 diferentes, que comienza con los que se hallan encapsulados con 8 patitas y llegan hasta los que tienen 68 patitas.
 

Principales características de los PIC de la gama base

CARACTERISTICAS DE LA GAMA MEDIA

CARACTERISTICAS DE LA GAMA MEDIA

CARACTERISTICAS DE LA GAMA MEDIA

 Dispone de un repertorio de 77 instrucciones de 16 bits de

LA GAMA MEJORADA

longitud cada una, una Pila con 31 niveles de profundidad y 2 vectores de interrupción.  Los modelos PIC que conforman esta gama responden a la nomenclatura PICI8Xxxx

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éricos 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 significativos existe un multiplicador rápido hardware que permite desarrollar esta operación en un ciclo de instrucción

MICROCONTROLADORES PIC DE 16 BITS

Microchip ha diseñado nuevos dispositivos que manejan 16 bita y que integran en arquitecturas de mayor complejidad.
Hay dos grandes gamas de microcontroladores de 16 bits: Gama MCU de 16 bits .- formada por las familias de dispositivos PIC24F y PIC24H. Gama DSC de 16 bits .- formada por las familias de dispositivos dsPIC30F y dsPIC33F

Gama de microcontroladores MCU de 16 BITS Es la de los modelos con nomenclatura genérica PIC24F, alcanza un rendimiento de 16 MIPS a 32 MHz, poseen la arquitectura Harvard modificada con un bus de datos e 16 bits y con instrucciones de longitud de 24 bits. Pueden manejar memorias de programa lineal de hasta 8 MB y una de datos de hasta 64 KB.

FLAHS 64-128 KB
BUS DE MEMORIA

RAM 8 KB
B U S P E R I F E R I C O

Temporizador 16 bits Watchdog CAD,
10 bits, 16 canales

PROCESADOR DE 16 BITS Y 16 MIPS ALU-16 bit Banco de registros 16 x 16 Generación de direcciones Registro de Desplazamiento

GP I/O UART (2) I2CTM SPITM

Multiplicador 16 x 16 JTAG y Emul. Interfaz

CONTROL DE INTERRUPC.

p

RTCC PMP

Características principales
Frecuencia Memoria de programa (bytes) Memoria de instrucciones (words) Memoria de datos (bytes) Memoria EEPROM Fuente de interrupción Puertas E/S Temporizadores Módulos de captura/comparación/PWM Módulos mejorados CCP Módulo ECAN Comunicación serie Comunicación paralelo (PSP) Conversor Analógico-Digital Comparadores DC – 40 MHz 128 K 42 K 8K 19 Puertas A,B,C,(E),F,G… 4 1 0 1 MSSP USART mejorada No 16 canales de entrada 0 POR, BOR Instrucción de RESET Pila llena Sobrepasamiento de la Pila (PWRT,OST) # MCLR (optional) WDT

Reset y excepciones

Programación con voltaje bajo Reset programable Brown-out Set de instrucciones Encapsulados

Si Si 76 instrucciones la mayoría de 24 bits De 64 a 100 patitas

Principales características de algunos modelos de PIC de la gama Mejorada
MODELO FLASH Bytes y words EEPRO RAM LINEAS Analógico N BYTES E/S ENCAPSULAD ADC COMP. bytes OS CANALES Digital Timers/ WDT COMUN. I/O FREC. MÁX. OSC. MHz INT. BOR/ PBOR/ PLVD ICD Nº de Puntos parada CCP/ nW ECCP

PIC18 PIC18F4680 65536EnhFl (82768) 1024

3328

36

4CP,44ML,44PT

11x10BIT 100KSPS

2

3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT

CAN2.CB, MI2 C/SPI, 40 EUSART MI2 C/SPI, EUSART, 40 AUSART MI2 C/SPI, EUSART, 40 AUSART MI2 C/SPI, EUSART, 40 AUSART MI2 C/SPI, EUSART, 40 AUSART 2x AUSART 40 MI2 C/SPI, 2x EUSART 40 MI2 C/SPI, EUSART MI2 C/SPI, 40 CAN2.CB 2x EUSART, 40 MI2 C/SPI, 2x EUSART, 40 MI2 C/SPI,

8MHz PBOR 32KHz /PLVD

3

1/1

SI

PIC18F6310 8192StoFl (4096)

-

768

54

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

3/0

SI

PIC18F6410 16304StoFl (8192) -

768

54

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

3/0

SI

PIC18F6390 8192StoFl (4096)

-

768

50

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

2/0

SI

PIC18F6490 16384StoFl (8192) -

768

50

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

2/0

SI

PIC18F6520 32768EnhFl (16384) 1024 PIC18F6527 49152EnhFl (24576) 1024

2048

52

64PT

12x10BIT 80ksps 12x10BIT 100ksps

2

-

PBOR /PLVD

3

5/0

-

3936

54

64PT

2

8MHz PBOR 32KHz /PLVD

3

2/3

SI

PIC18F6585 491952EnhF l 1024 (24576) PIC18F6822 65536EnhFl (82768) 1024

3328

53

64PT,68L

12x10BIT 80ksps 12x10BIT 100ksps

2

-

PBOR /PLVD

3

1/1

-

3936

54

64PT

2

8MHz PBOR 32KHz /PLVD

3

2/3

SI

PIC18F6827 90304EnhFl (49152) 1024

3936

54

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

2/3

SI

MODELO

FLASH Bytes y words

EEPRON RAM LINEAS bytes BYTES E/S

Analógico ENCAPSULADOS ADC CANALES

Digital COMP. Timers/ WDT COMUN. I/O

FREC. MÁX. OSC. MHz INT.

BOR/ PBOR/ PLVD

ICD Nº de Puntos parada

CCP/ ECCP

nW

PIC18 PIC18F6880 65536EnhFl (82768) 1024 PIC18F6722 131072EnhFl (65536) PIC18F8310 8192StoFl (4096) PIC18F8410 16384StoFl (8192) PIC18F8390 8192StoFl (4096) PIC18F8490 16384StoFl (8192) 3936 53 64PT,68L 12x10BIT 80KSPS 12x10BIT 100ksps 12x10BIT 100ksps 12x10BIT 100ksps 12x10BIT 100ksps 12x10BIT 100ksps 2 3-16BIT 1-8BIT 1-WDT 3-16BIT 2-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 2-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 2-8BIT 1-WDT EUSART MI2 C/SPI, CAN2.CB 2x EUSART, MI2 C/SPI, MI2 C/SPI, EUSART, AUSART MI2 C/SPI, EUSART, AUSART MI2 C/SPI, EUSART, AUSART MI2 C/SPI, EUSART, AUSART 40 PBOR /PLVD 1 1/1 -

768

54

64PT

2

40

8MHz PBOR 32KHz /PLVD 8MHz PBOR 32KHz /PLVD 8MHz PBOR 32KHz /PLVD 8MHz PBOR 32KHz /PLVD 8MHz PBOR 32KHz /PLVD

3

2/3

SI

-

768

70

80PT

2

40

3

3/0

SI

-

768

70

80PT

2

40

3

3/0

SI

-

768

66

80PT

2

40

3

2/0

SI

-

768

66

80PT

2

40

3

2/0

SI

Principales características de los 13 modelos de microcontroladores PIC de 16 bits de la familia PIC24H
Modelo patitas FLASH (KB) RAM CANALES DMA Timer 16-bit Módulo Capt. Módulo Comp. ADC UART SPITM I2CTM CAN Líneas de E/S

24HJ64GP206

64

64

8

8

9

8

8

1 ADC 18 CAN. 1ADC 32 CAN. 1 ADC 18 CAN 1 ADC 32 CAN. ADC 18 CAN 1 ADC 32 CAN. 1 ADC 18 CAN 1 ADC 32 CAN. 1 ADC 18 CAN 1 ADC 32 CAN. 1 ADC 18 CAN 1 ADC 32 CAN.

2

2

1

0

53

24HJ64GP210

100

64

8

8

9

8

8

2

2

2

0

85

24HJ64GP506

64

64

8

8

9

8

8

2

2

2

1

53

24HJ64GP510

100

64

8

8

9

8

8

2

2

2

1

85

24HJ128GP206

64

128

8

8

9

8

8

2

2

2

0

53

24HJ128GP210

100

128

8

8

9

8

8

2

2

2

0

85

24HJ128GP506

64

128

8

8

9

8

8

2

2

2

1

53

24HJ128GP510

100

128

8

8

9

8

8

2

2

2

1

85

24HJ128GP306

64

128

16

8

9

8

8

2

2

2

0

53

24HJ128GP310

100

128

16

8

9

8

8

2

2

2

0

85

24HJ256GP206

64

256

16

8

9

8

8

2

2

2

0

53

24HJ256GP210

100

256

16

8

9

8

8

2

2

2

0

85

Gama de microcontroladores DSC de 16 bits Controladores Digitales de Señales constan de dos familias dsPIC30F y la dsPIC33F tiene un rendimiento de 30 MIPS cuando se alimentan con 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 realizan las operaciones matemáticas típicas de los algoritmos usados en el procesamiento digital de señales. Los PIC30F se dividen en tres categorías según la orientación practica. •Propósito general, con 8 modelos. •Control de motores, con 9 modelos. •Control de sensores, con 4 modelos.

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

Modelo

Patitas

Mem. De programa

RAM Bytes

EEPROM Bytes

Timer 16-bit

Módulo Capt.

Módulo Comp.

PWM

CAD 10 BITS 500 ksps

QEI

UART

SPITM

I2CTM

CAN

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

4096

4096

5

8

8

8 canales

16 canales

SI

2

2

1

2

Los dispositivos de la familia dsPIC30F son compatibles con los dsPIC33F. Sin embargo los PIC33F se distinguen por las siguientes cualidades: 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.Aumentan el número de interrupciones y excepciones. 4.Alcanzan 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.

Tabla con las características principales de algunos modelos de la familia dsPIC33F
Modelo patitas FLASH (KB) RAM (Kbyte) Timer 16-bit Módulo Capt. Módulo Comp. Convertidor ADC UART SPITM I2CTM CAN Líneas de E/S

33Fj64GP206

64

64

8

9

8

8

1 ADC 18 CAN. 1ADC 18 CAN. 1 ADC 32 CAN 1 ADC 18 CAN. ADC 24 CAN 1 ADC 32 CAN. 1 ADC 18 CAN 1 ADC 18 CAN. 1 ADC 32 CAN 1 ADC 18CAN. 1 ADC 24 CAN

2

2

1

0

53

33Fj64GP306

64

64

16

9

8

8

2

2

2

0

53

33Fj64GP310

100

64

16

9

8

8

2

2

2

0

85

33Fj64GP706

64

64

16

9

8

8

2

2

2

2

53

33Fj64GP708

80

64

16

9

8

8

2

2

2

2

69

33Fj64GP710

100

64

16

9

8

8

2

2

2

2

85

33Fj128GP206

64

128

8

9

8

8

2

2

1

0

53

33Fj128GP306

64

128

16

9

8

8

2

2

2

0

53

33Fj128GP310

100

128

16

9

8

8

2

2

2

0

85

33Fj128GP706

64

128

16

9

8

8

2

2

2

2

53

33Fj128GP708

80

128

16

2

2

2

2

69

33Fj128GP710

100

128

16

9

8

8

1 ADC 32 CAN. 1 ADC 32 CAN. 1 ADC 32 CAN 1 ADC 32 CAN.

2

2

2

2

85

33Fj256GP506

64

256

16

9

8

8

2

2

2

1

53

33Fj256GP510

100

256

16

9

8

8

2

2

2

1

85

33Fj256GP710

100

256

30

9

8

8

2

2

2

2

85

Diagrama de bloque de la estructura interna de los PIC33F .
FLAHS 64-256 KB
BUS DE MEMORIA B U S ALU-16 bit Banco de registros 16 x 16 Generación de direcciones Registro de Desplazamiento Acumuladores A y B P E R I F E R I C O CAD, CAD,

RAM 8 -30 KB

DMA
Temporizador de 16bits Watchdog
12 bits, 16 canales 12 bits, 16 canales

UART (2) I2CTM SPITM CAN(1-2) CODEC I/F Control de Motores

Multiplicador 17 x 17 JTAG y Emul. Interfaz MOTOR DSP

PRIGRAMAR PIC ES FACIL Enunciado Comenzaremos con el PIC16F84, el programa debe mostrar cuando el valor lógico que introducimos ambos interruptores es cero, para 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 permanecer apagados. Esquema eléctrico

R1
10k

R5
10k

C1 U1
22 pF

SW2
SW-SPST

X1

16 15

C2
22 pF

CRYSTAL 4

OSC1/CLKIN OSC2/CLKOUT MCLR

RA0 RA1 RA2 RA3 RA4/T0CKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7

17 18 1 2 3 6 7 8 9 10 11 12 13

SW1
SW-SPST

R2
10k

D1
DIODE

PIC16F84A

R4
330

R3
330

RESET

Organigrama del ejercicio

INICIALIZACION PA ENTRADA PB SALIDA

¿RA1 Y RA2 =0?

APAGAR LEDs

ENCENDER LEDs

PROGRAMA 1.Tanto las directivas como las etiquetas se escribirán con mayúsculas así como las instrucciones escritas en minúsculas. 2.Las instrucciones deberán tabularse con respecto a las etiquetas 3.Se pondrán comentarios que aclaren el contenido de instrucciones y rutinas.
LIST RADIX INCLUDE ORG registros internos en goto ORG INICIO bsf clrf movwf bcf clrf clrf movf btfss goto goto APAGAR ENCENDER clrf movlw goto movwf goto END PORTB 0xFF HEX P16F84.INC 0x00 INICIO 0x05 STATUS.RP0 TRISB b’00000110’ STATUS,RP0 PORTB PORTA PORTA.W STATUS.Z APAGAR ENCENDER BUCLE PORTB BUCLE P=16F84 ;procesador ;sistema de numeración ;hexadecimal ;se incluye la definición de ;una librería ;inicio en el vector de ;Reset :va a la primera instrucción ;del programa ;salta el vector de ;Interrupción ;cambio al banco 1 ;puerta B como salida ;RA1-RA2 entradas ;los ;Se indica el tipo de

;cambio a banco 0 ;borrado de leds :borrado de línea no :utilizadas de puerta A ;puerta A -W ;comprobación de Z=1 ;si RA1-RA2 no son 0 ;si RA1-RA2 son o ;se apagan los leds ;para volver a comprobar ;fin del programa

Utilización del ensamblador MPASM

Grabación y prueba del un programa en el Micro ‘ PIC Trainer Este sistema esta ideado para grabar en el microcontroladores el programa, una vez ensamblado y convertido en formato HEX, y probar posteriormente dicho programa utilizando los periféricos de que dispone.

Diseñar con PIC es fácil Vamos a presentar dos sensores que aunque muy utilizados en diversos aparatos que manejamos a diario, no eran soportados directamente por el PICF84. los nuevos PIC F87x, al disponer de Conversor A/D, pueden usarlos cómodamente. El sensor de luminosidad : LDR Es un elemento cuya resistencia entre bornes varía en función de la luz que incide sobre su superficie, es un elemento sin polaridad. •El sensor de temperatura estándar: LM35 •Su tensión de salida es proporcional a la temperatura en una proporción de 10mV/C. •Su rango de funcionamiento esta comprendido entre 0 C y 100 C •Su tensión de funcionamiento Vs esta entre +4 VDC Y+30 VDC. •Su precisión es de ± 0.9 C

ASPECTO UN LDR

Y UN CIRCUITO PRACTICO DE

Tabla de valores LM35
SENSOR LM335A PRC100 RANGO -40C_100C -40C_150C INCREMENTO 0.10 mV/C 0 C_100W 100 C_138.5W Precisión debido a su comportamiento lineal resistente Reducido tamaño y rápida respuesta En circuitos de aviso. Protección contra sobretensiones y sobrecorrientes PROPIEDADES

PT100 PTC(Coeficiente de Temperatura positivo)

-50C_500C Diferentes

100W_0 C Baja resistencia a baja temperatura y aumenta rápidamente al superar la temperatura de referencia

NTC(Coeficiente de Temperatura Negativo)

diferentes

Alta resistencia a baja temperatura y al contrario

Buena fiabilidad a bajo costo. Muy empleados en electrodomésticos Altas temperaturas. Elevada vida útil Espacios reducidos

Termopar tipo N

-50C_400C

La patita +Vs debe conectar ala tensión positiva comprendida entre +4V y +30 V. GND será conectada a 0V y Vout se conectara ala línea correspondiente del PIC. Ha este llegar un voltaje proporcional a la temperatura captada, que será convertida en un valor binario para su posterior tratamiento

BIBLIOGRAFIA
MICROCONTROLADORES PIC. Diseño practico de aplicaciones SEGUNDA PARTE: PIC 16F87X,PIC 18FXXXX.Segunda Edición. Segundo Angulo, Susana Romero, Mc Graw Hill. España