Sei sulla pagina 1di 43

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
LA GAMA MEJORADA
 Dispone de un repertorio de 77 instrucciones de 16 bits de
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 RAM
64-128 KB 8 KB Temporizador 16
bits
B
U Watchdog
BUS DE MEMORIA
S
CAD, 10 bits, 16 canales
P
PROCESADOR DE 16 BITS Y 16 MIPS E
R GP I/O
ALU-16 bit Banco de I
registros 16 x F UART (2)
16 E
R
I I2CTM
Multiplicador Generación de C
16 x 16 direcciones O SPITM

JTAG y Emul. Registro de RTCC


Interfaz Desplazamiento p
CONTROL PMP
DE INTERRUPC.
Características principales
Frecuencia DC – 40 MHz
Memoria de programa (bytes) 128 K
Memoria de instrucciones (words) 42 K
Memoria de datos (bytes) 8K
Memoria EEPROM -
Fuente 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
Módulo ECAN 1
Comunicación serie MSSP
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
Reset y excepciones Sobrepasamiento de la Pila
(PWRT,OST)
# MCLR (optional)
WDT

Programación con voltaje bajo Si


Reset programable Brown-out Si
Set de instrucciones 76 instrucciones la mayoría de 24 bits
Encapsulados De 64 a 100 patitas
Principales características de algunos modelos de PIC
de la gama Mejorada
FLASH EEPRO RAM LINEAS Analógico Digital FREC. BOR/ ICD
MODELO Bytes N BYTES E/S ENCAPSULAD ADC COMP. Timers/ COMUN. MÁX. OSC. PBOR/ Nº de CCP/ nW
y words bytes OS CANALES WDT I/O MHz INT. PLVD Puntos ECCP
parada

PIC18
PIC18F4680 65536EnhFl 11x10BIT 3-16BIT CAN2.CB, 8MHz PBOR
(82768) 1024 3328 36 4CP,44ML,44PT 100KSPS 2 1-8BIT MI2 C/SPI, 40 32KHz /PLVD 3 1/1 SI
1-WDT EUSART

PIC18F6310 8192StoFl 12x10BIT 3-16BIT MI2 C/SPI, 8MHz PBOR


(4096) - 768 54 64PT 100ksps 2 1-8BIT EUSART, 40 32KHz /PLVD 3 3/0 SI
1-WDT AUSART

PIC18F6410 16304StoFl 12x10BIT 3-16BIT MI2 C/SPI, 8MHz PBOR


(8192) - 768 54 64PT 100ksps 2 1-8BIT EUSART, 40 32KHz /PLVD 3 3/0 SI
1-WDT AUSART

PIC18F6390 8192StoFl 12x10BIT 3-16BIT MI2 C/SPI, 8MHz PBOR


(4096) - 768 50 64PT 100ksps 2 1-8BIT EUSART, 40 32KHz /PLVD 3 2/0 SI
1-WDT AUSART

PIC18F6490 16384StoFl 12x10BIT 3-16BIT MI2 C/SPI, 8MHz PBOR


(8192) - 768 50 64PT 100ksps 2 1-8BIT EUSART, 40 32KHz /PLVD 3 2/0 SI
1-WDT AUSART

PIC18F6520 32768EnhFl 12x10BIT 3-16BIT 2x PBOR


(16384) 1024 2048 52 64PT 80ksps 2 1-8BIT AUSART 40 - /PLVD 3 5/0 -
1-WDT MI2 C/SPI,
PIC18F6527 49152EnhFl 12x10BIT 3-16BIT 2x 8MHz PBOR
(24576) 1024 3936 54 64PT 100ksps 2 1-8BIT EUSART 40 32KHz /PLVD 3 2/3 SI
1-WDT MI2 C/SPI,

PIC18F6585 491952EnhF 12x10BIT 3-16BIT EUSART PBOR


l 1024 3328 53 64PT,68L 80ksps 2 1-8BIT MI2 C/SPI, 40 - /PLVD 3 1/1 -
(24576) 1-WDT CAN2.CB
PIC18F6822 65536EnhFl 12x10BIT 3-16BIT 2x 8MHz PBOR
(82768) 1024 3936 54 64PT 100ksps 2 1-8BIT EUSART, 40 32KHz /PLVD 3 2/3 SI
1-WDT MI2 C/SPI,

PIC18F6827 90304EnhFl 12x10BIT 3-16BIT 2x 8MHz PBOR


(49152) 1024 3936 54 64PT 100ksps 2 1-8BIT EUSART, 40 32KHz /PLVD 3 2/3 SI
1-WDT MI2 C/SPI,
FLASH EEPRON RAM LINEAS Analógico Digital FREC. BOR/ ICD
MODELO Bytes bytes BYTES E/S ENCAPSULADOS ADC MÁX. OSC. PBOR/ Nº de CCP/ nW
COMP. Timers/ COMUN.
y words MHz INT. PLVD Puntos ECCP
CANALES WDT I/O
parada

PIC18
PIC18F6880 65536EnhFl 12x10BIT 3-16BIT EUSART PBOR
(82768) 1024 3936 53 64PT,68L 80KSPS 2 1-8BIT MI2 C/SPI, 40 - /PLVD 1 1/1 -
1-WDT CAN2.CB
PIC18F6722 131072EnhFl 12x10BIT 3-16BIT 2x 8MHz PBOR
(65536) - 768 54 64PT 100ksps 2 2-8BIT EUSART, 40 32KHz /PLVD 3 2/3 SI
1-WDT MI2 C/SPI,
PIC18F8310 8192StoFl 12x10BIT 3-16BIT MI2 C/SPI, 8MHz PBOR
(4096) - 768 70 80PT 100ksps 2 1-8BIT EUSART, 40 32KHz /PLVD 3 3/0 SI
1-WDT AUSART
PIC18F8410 16384StoFl 12x10BIT 3-16BIT MI2 C/SPI, 8MHz PBOR
(8192) - 768 70 80PT 100ksps 2 2-8BIT EUSART, 40 32KHz /PLVD 3 3/0 SI
1-WDT AUSART
PIC18F8390 8192StoFl 12x10BIT 3-16BIT MI2 C/SPI, 8MHz PBOR
(4096) - 768 66 80PT 100ksps 2 1-8BIT EUSART, 40 32KHz /PLVD 3 2/0 SI
1-WDT AUSART
PIC18F8490 16384StoFl 12x10BIT 3-16BIT MI2 C/SPI, 8MHz PBOR
(8192) - 768 66 80PT 100ksps 2 2-8BIT EUSART, 40 32KHz /PLVD 3 2/0 SI
1-WDT AUSART
Principales características de los 13 modelos de
microcontroladores PIC de 16 bits de la familia PIC24H

Modelo patitas FLASH RAM CANALES Timer Módulo Módulo ADC UART SPITM I2CTM CAN Líneas
(KB) DMA 16-bit Capt. Comp. de E/S

24HJ64GP206 64 64 8 8 9 8 8 1 ADC 2 2 1 0 53
18 CAN.

24HJ64GP210 100 64 8 8 9 8 8 1ADC 2 2 2 0 85


32 CAN.

24HJ64GP506 64 64 8 8 9 8 8 1 ADC 2 2 2 1 53
18 CAN

24HJ64GP510 100 64 8 8 9 8 8 1 ADC 2 2 2 1 85


32 CAN.

24HJ128GP206 64 128 8 8 9 8 8 ADC 2 2 2 0 53


18 CAN

24HJ128GP210 100 128 8 8 9 8 8 1 ADC 2 2 2 0 85


32 CAN.

24HJ128GP506 64 128 8 8 9 8 8 1 ADC 2 2 2 1 53


18 CAN

24HJ128GP510 100 128 8 8 9 8 8 1 ADC 2 2 2 1 85


32 CAN.

24HJ128GP306 64 128 16 8 9 8 8 1 ADC 2 2 2 0 53


18 CAN

24HJ128GP310 100 128 16 8 9 8 8 1 ADC 2 2 2 0 85


32 CAN.

24HJ256GP206 64 256 16 8 9 8 8 1 ADC 2 2 2 0 53


18 CAN

24HJ256GP210 100 256 16 8 9 8 8 1 ADC 2 2 2 0 85


32 CAN.
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 .

Mem. De RAM EEPROM Timer Módulo Módulo CAD


Modelo Patitas programa Bytes Bytes 16-bit Capt. Comp. PWM 10 BITS QEI UART SPITM I2CTM CAN
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 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 RAM Timer Módulo Módulo Convertidor UART SPITM I2CTM CAN Líneas
(KB) (Kbyte) 16-bit Capt. Comp. ADC de E/S

33Fj64GP206 64 64 8 9 8 8 1 ADC 2 2 1 0 53
18 CAN.

33Fj64GP306 64 64 16 9 8 8 1ADC 2 2 2 0 53
18 CAN.

33Fj64GP310 100 64 16 9 8 8 1 ADC 2 2 2 0 85


32 CAN

33Fj64GP706 64 64 16 9 8 8 1 ADC 2 2 2 2 53
18 CAN.

33Fj64GP708 80 64 16 9 8 8 ADC 2 2 2 2 69
24 CAN

33Fj64GP710 100 64 16 9 8 8 1 ADC 2 2 2 2 85


32 CAN.

33Fj128GP206 64 128 8 9 8 8 1 ADC 2 2 1 0 53


18 CAN

33Fj128GP306 64 128 16 9 8 8 1 ADC 2 2 2 0 53


18 CAN.

33Fj128GP310 100 128 16 9 8 8 1 ADC 2 2 2 0 85


32 CAN

33Fj128GP706 64 128 16 9 8 8 1 ADC 2 2 2 2 53


18CAN.

33Fj128GP708 80 128 16 1 ADC 2 2 2 2 69


24 CAN

33Fj128GP710 100 128 16 9 8 8 1 ADC 2 2 2 2 85


32 CAN.

33Fj256GP506 64 256 16 9 8 8 1 ADC 2 2 2 1 53


32 CAN.

33Fj256GP510 100 256 16 9 8 8 1 ADC 2 2 2 1 85


32 CAN

33Fj256GP710 100 256 30 9 8 8 1 ADC 2 2 2 2 85


32 CAN.
Diagrama de bloque de la estructura interna de los
PIC33F .

FLAHS RAM DMA


64-256 KB 8 -30 KB Temporizador de
16bits

BUS DE MEMORIA
Watchdog
B
U
S CAD, 12 bits, 16 canales

ALU-16 bit Banco de P CAD, 12 bits, 16 canales


registros 16 x E
16 R
I UART (2)
F
Multiplicador Generación de E
17 x 17 direcciones I2CTM
R
I
C SPITM
JTAG y Emul. Registro de O
Interfaz Desplazamiento CAN(1-2)

MOTOR Acumuladores CODEC I/F


DSP A y B
Control de Motores
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 SW2
C1
SW-SPST
U1
22 pF 16 17
OSC1/CLKIN RA0 SW1
X1 15
OSC2/CLKOUT RA1
18
CRYSTAL 1
RA2
4 2 SW-SPST
C2 MCLR RA3
3
RA4/T0CKI
6
RB0/INT
22 pF 7 R2
RB1
8
RB2
9
RB3 10k
10
RB4
11
RB5
12
RB6
RB7
13 D1
DIODE
PIC16F84A

R4 R3
330 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 P=16F84 ;Se indica el tipo de

RADIX HEX ;procesador


INCLUDE P16F84.INC ;sistema de numeración
;hexadecimal
ORG 0x00 ;se incluye la definición de ;los
registros internos en
goto INICIO ;una librería
ORG 0x05 ;inicio en el vector de
;Reset
INICIO bsf STATUS.RP0 :va a la primera instrucción
clrf TRISB ;del programa
movwf b’00000110’ ;salta el vector de
bcf STATUS,RP0 ;Interrupción
clrf PORTB ;cambio al banco 1
clrf PORTA ;puerta B como salida
;RA1-RA2 entradas
movf PORTA.W
btfss STATUS.Z ;cambio a banco 0
goto APAGAR ;borrado de leds
goto ENCENDER :borrado de línea no
:utilizadas de puerta A
APAGAR clrf PORTB ;puerta A -W
goto BUCLE ;comprobación de Z=1
;si RA1-RA2 no son 0
ENCENDER movlw 0xFF ;si RA1-RA2 son o
movwf PORTB ;se apagan los leds
goto BUCLE ;para volver a comprobar

END ;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 Y UN CIRCUITO PRACTICO DE
UN LDR
Tabla de valores LM35

SENSOR RANGO INCREMENTO PROPIEDADES


LM335A -40C_100C 0.10 mV/C
PRC100 -40C_150C 0 C_100W Precisión debido a su
100 C_138.5W comportamiento lineal
resistente

PT100 -50C_500C 100W_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
rápidamente al superar la sobretensiones y
temperatura de referencia sobrecorrientes

NTC(Coeficiente de diferentes Alta resistencia a baja Buena fiabilidad a bajo


Temperatura Negativo) temperatura y al contrario costo.
Muy empleados en
electrodomésticos

Termopar tipo N -50C_400C Altas temperaturas.


Elevada vida útil
Espacios reducidos
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