Está en la página 1de 53

La Familia de

Microcontroladores PIC

Sistemas Microprocesados I
Universidad Politcnica Salesiana

Importancia de los
Microcontroladores PIC

Microchip se mantiene desde


el ao 2002 como lder
mundial de ventas de
microcontroladores de 8 bits.

En el ao 2005 facturo un
total de 847 millones de
dlares, de los cuales 675
procedieron de las ventas de
microcontroladores (MCU)
SISTEMAS MICROPROCESADOS I

Importancia de los
Microcontroladores PIC

SISTEMAS MICROPROCESADOS I

Distribucin de las ventas de


microcontroladores PIC
Se destacan:
El rea genrica de la Electrnica de Consumo con el 35%
La Industria de Automocin con el 18%

SISTEMAS MICROPROCESADOS I

Importancia de los
Microcontroladores PIC

Existen unas gran diversidad de modelos de microcontroladores que permiten al


diseador encontrar el que contenga todos los recursos y capacidades de memoria.

SISTEMAS MICROPROCESADOS I

Clasificacin de los Microcontroladores

Los MCU se caracterizan por su arquitectura Harvard con


memorias de programas y de datos independientes, lo que
permite la accesibilidad simultanea y la diversidad en la
longitud de posiciones y el tamao de ambas memorias

Genricamente se clasifican segn el tamao de los


datos que maneja el repertorio de instrucciones en:
SISTEMAS MICROPROCESADOS I

Clasificacin de los Microcontroladores

De 4 bits
De 8 bits
De 16 bits
De 32 bits
Microchip (lder mundial de
ventas) solo fabrica de 8 y
16

SISTEMAS MICROPROCESADOS I

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 tamao de
bus de datos y el de los registros de la CPU.

Se clasifican en tres grandes gamas:

SISTEMAS MICROPROCESADOS I

Microcontroladores PIC de 8 Bits


1. Base

2. Media
3. Mejorada

SISTEMAS MICROPROCESADOS I

Gama Base

10

33 instrucciones maquina de 12 bits de longitud cada una.


Disponen de una pila con solo 2 niveles de profundidad.
Su capacidad de memoria y el nmero de recursos internos son reducidos.
Esta compuesto por 14 modelos de los cuales 6 estn encapsulados con
solo 6 patitas.
Se los apoda como enanos.

SISTEMAS MICROPROCESADOS I

Tabla Gama Baja

11

SISTEMAS MICROPROCESADOS I

Gama Media

12

El repertorio de
instrucciones es de 35, de
14 bits cada una.
Posee una Pila 8 niveles de
profundidad.
Dispone de un vector de
interrupcin.
Es una gama numerosa
que alcanza 71 modelos
diferentes.
Se hallan encapsulados con
8 patitas y llegan hasta los
que tienen 68 patitas.
SISTEMAS MICROPROCESADOS I

Tabla Gama Media

13

SISTEMAS MICROPROCESADOS I

Gama Mejorada

14

Dispone de 77
instrucciones de 16
bits cada una.
Una pila con 31
niveles de
profundidad.
2 vectores de
interrupcin.
Esta gama responde a
la nomenclatura:
PIC18Xxxx.
SISTEMAS MICROPROCESADOS I

Gama Mejorada

15

Esta gama de modelos tan potentes es


palpable, ya que posee mas nmero de
dispositivos diferentes.
Puede alcanzar una capacidad de memoria de
programa de 128 Kb, la de datos 3963 bytes y
la EEPROM hasta 1Kb.
Dispone de perifricos muy especializados,
como un conversor AD de 10 bits; hasta 5
temporizadores.
SISTEMAS MICROPROCESADOS I

Gama Mejorada

16

Interfaces para
comunicacin con bus
I2C, SPI, USART, CAN
2.0B, etc.
Existe un multiplicador
hardware, que permite
desarrollar esta
operacin en un ciclo de
instruccin.

SISTEMAS MICROPROCESADOS I

Tabla Gama Mejorada

17

SISTEMAS MICROPROCESADOS I

Microcontroladores PIC de 16 Bits

1.

2.

18

Microchip ha diseado nuevos dispositivos que


manejan en modo nativo datos de 16 bits y que
se integran en arquitecturas de mayor
complejidad.
Se dividen en dos grandes gamas:
Gama MCU de 16 bits, formada por la familia de
dispositivos PIC24F y PIC24H.
Gama DSC de 16 bits, formada por la familia de
dispositivos dsPIC30F y dsPIC33F.
SISTEMAS MICROPROCESADOS I

Gama de Microcontroladores MCU


de 16 bits

La primera familia de esta gama es con la


nomenclatura genrica PIC24F, que posee:

0.25 micras.
Alcanza un rendimiento de 16 MIPS a 32 MHz
Puede resolver diseos que no podan ser
cubiertos con los PIC18Xxxx.

19

SISTEMAS MICROPROCESADOS I

Gama de Microcontroladores MCU


de 16 bits

20

Arquitectura Harvard.
Bus de datos de 16 bits.
Instrucciones de una longitud de 24 bits.
Memoria de programa lineal de hasta 8 MB.
Memoria de datos de hasta 64 KB.

SISTEMAS MICROPROCESADOS I

Diagrama por Bloques de


Microcontroladores de 16 bits PIC24F

21

SISTEMAS MICROPROCESADOS I

Caractersticas de
Microcontroladores 16 bits PIC24F

22

Alimentacin con 2.5 V.


Hay 9 modelos diferentes de PIC24F.

TTL de 5 V.
Lneas de E/S con 3.3 V.

SISTEMAS MICROPROCESADOS I

Gama de Microcontroladores MCU


de 16 bits

La otra familia de esta gama es con la nomenclatura


genrica PIC24H, que posee:

Alcanza un rendimiento de 40 MIPS.


Memoria de programa FLASH de hasta 256KB.
RAM de hasta 16KB.
Encapsulados en formato TQFP con 64, 80 y 100 patitas.
Su principal aportacin frente a los PIC24F, es la de
incluir un controlador de DMA con 8 canales.

23

SISTEMAS MICROPROCESADOS I

Gama de Microcontroladores MCU


de 16 bits

24

SISTEMAS MICROPROCESADOS I

Gama de Microcontroladores DSC


de 16 bits

La primera familia de esta gama es dsPIC30F,


que posee:

Importante capacidades de memoria.


Contiene la mayora de los recursos y
perifricos.
Rendimiento de 30 MIPS, a un voltaje entre
4.5 y 5.5 V.

25

SISTEMAS MICROPROCESADOS I

Gama de Microcontroladores DSC


de 16 bits

a)
b)

c)

26

Motor DSP.
Se dividen en tres categoras:
dsPIC30F de Propsito General, con 8 modelos.
dsPIC30F de Control de Motores, con 9
modelos.
dsPIC30F para Controles de Sensores, con 4
modelos.
SISTEMAS MICROPROCESADOS I

Relacin de algunos modelos de


dsPIC30F

27

SISTEMAS MICROPROCESADOS I

Cualidades de los dsPIC33F

28

Se alimentan 3.3 V, aunque las E/S pueden


trabajar con niveles TTL.
Incorporan un controlador DMA de 8 canales.
Aumenta el nmero de interrupciones y
excepciones.
Alcanza un rendimiento de 40 MIPS.
Posee una interfaz para CODEC.
Hay modelos con 256KB de memoria FLASH y
30KB de RAM.
SISTEMAS MICROPROCESADOS I

Caractersticas principales de algunos


modelos de la familia dsPIC33F

29

SISTEMAS MICROPROCESADOS I

Diagramas de bloques de la
estructura interna de los dsPIC33F

30

SISTEMAS MICROPROCESADOS I

PROGRAMAR PIC

ES FACIL
31

SISTEMAS
MICROPROCESADOS I

Recordando el viejo PIC16F84


Como

consecuencias de sus
recursos la programacin de
los nuevos PIC hace mas
sencillas la realizacin de
ciertas tareas.

32

SISTEMAS MICROPROCESADOS I

Enunciado

33

Vamos a comenzar recordando cmo 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 lneas RA1 y RA2 de la Puerta A
y 2 LEDs en las lneas RB0 y RB1 de la Puerta B.

El programa debe mostrar cundo el valor lgico que introducen


ambos interruptores es cero. Para ello, si los dos interruptores
introducen por la Puerta A nivel lgico 0, los LEDs de la Puerta B
deben encenderse, y en los dems casos permanecen apagados.
SISTEMAS MICROPROCESADOS I

Esquema Elctrico

34

Tanto los
interruptores
como los LEDs
estn conectados
para ser activos
por nivel alto.

SISTEMAS
MICROPROCESADOS I

Organigrama

35

Si el problema es
sencillo el
programa es casi
una traduccin
inmediata del
organigrama a
cdigo y viceversa.

SISTEMAS MICROPROCESADOS I

PROGRAMA COMENTADO

Se recomienda seguir unas reglas bsicas a la hora de


escribir los programas que, aunque no son obligatorias,
facilitan la lectura y la comprensin.

1.

Tanto las directivas como las etiquetas se escribirn con


maysculas, as como las instrucciones sern escritas en
minsculas.
Las instrucciones debern tabularse con respecto a las
etiquetas.
Se pondrn comentarios que aclaren el contenido de
instrucciones y rutinas.

2.

3.

36

SISTEMAS
MICROPROCESADOS I

PROGRAMA COMENTADO

37

SISTEMAS MICROPROCESADOS I

Pasos para probar la solucin del


problema
1.

2.

3.

4.

38

Llamar a un editor de textos cualquiera y copiar el


programa. Grabarlo sin formato con extensin ASM.
Ensamblarlo con el ensamblador de Microchip llamado
MPASM. Corregir errores si los hubiera volviendo al
paso 1.
Grabar el microcontrolador utilizando, por ejemplo, el
sistema de desarrollo MicroPIC Trainer y sus software
de grabacin PICME-TR.
Probar la solucin utilizando los perifricos contenidos
en el MicroPIC Trainer.
SISTEMAS MICROPROCESADOS I

UTILIZACION DEL
ENSAMBLADOR MPASM

39

SISTEMAS MICROPROCESADOS I

PASOS PARA ENSAMBLAR UN


PROGRAMA
1.

2.

3.

4.
5.

40

En el campo Source File se introduce el nombre del fichero con extensin ASM
a ensamblar junto con su ruta de acceso. Si esta no se conoce se deber pulsar
Enter, para que aparezca la lista de ficheros y de directorios.
En el campo Processor Type se busca el microcontrolador para el cual esta
pensando el programa, en nuestro caso el PIC16F84. Para cambiar los valores
se utiliza el Enter.
Al introducir el nombre del archivo en el primer paso, el programa rellena de
forma automtica la mayora de los campos restantes. Por defecto, genera dos
ficheros con el mismo nombre que el ASM; uno con extensin ERR; donde se
detalla los errores de ensamblador, y que se puede mirar con cualquier editor, y
otro con extensin HEX, que ser el que se grabe en el microcontrolador.
Por ultimo, se procede a ensamblar el programa pulsando F10.
En el caso que se produzca errores abra que abrir el fichero ERR, con un editor
de texto para ver su/s causa/s, corregirla/s en el programa fuente y volver a
realizar los pasos para ensamblarlo.
SISTEMAS MICROPROCESADOS I

Grabacin y prueba de un programa en


el MicroPIC Trainer

41

Esta ideado para grabar en el microcontrolador el programa, una vez


ensamblado y convertido en formato HEX.

SISTEMAS MICROPROCESADOS I

Grabacin y prueba de un
programa en el MicroPIC Trainer
1.

2.

3.

4.

5.

42

Alimentacin: aqu se conecta la fuente de alimentacin, que debe


proporcionar 12VAC.
Puerto paralelo: mediante un cable paralelo se conecta la placa con el PC.
Es necesario para efectuar la grabacin del microcontrolador.
Picbus: por este conector sale al exterior todas la lneas del PIC, que se
encuentren en zcalo de la placa. Sirve para realizar ampliaciones de
perifricos, ya que permite conectar los Picbus de diferentes placas. Hay
que tener cuidado de que dichas ampliaciones no causen interferencias en
las seales de los perifricos que ya se encuentran en las placas,
deshabilitando en caso contrario alguno de ellos.
PIC-18: es el zcalo donde se inserta los PIC de 18 patitas, por ejemplo el
PIC16F84.
PIC-28: este es el zcalo en el que se inserta los PIC de 18 patitas, caso de
los 16F873/6. solo se debe introducir un PIC en uno de los dos zcalos.
SISTEMAS MICROPROCESADOS I

Grabacin y prueba de un
programa en el MicroPIC Trainer
6.

7.

8.

43

Jumpers: sirven para conectar o desconectar el LCD, el display de 7 segmentos y


la barrita de LEDs.
Interruptores: estn conectados a las 5 lneas de la puerta A. para poder
utilizarlos los jumpers A/D, situados en la zona central de la placa entre los
interruptores y los potencimetros, deben estar e n la posicin de digital.
Adems, el jumper J9, situado en la parte superior derecha del LCD tiene que
estar en la posicin A4. Si este jumper estuviese en su posicin TOCK quedara
deshabilitado en interruptor de la placa y podramos usar esta entrada para otras
cosas, como por ejemplo, para conectar una fuente de impulso externa para el
TMR0.
LEDs: estn conectados a la puerta B. para utilizarlos el jumper serigrafiado como
LED ON, debe estar cerrado. En esta posicin todo lo que salga por la puerta B
del PIC se representara en la barrita de LEDs. El jumper J10, situado en la parte
superior del LCD, debe estar en al posicin B0. Si este jumper estuviera en la
posicin INT la salida por la lnea RB0 quedara deshabilitada y esta podra
usarse, por ejemplo, como entrada para una seal de interrupcin externa.
SISTEMAS MICROPROCESADOS I

Grabacin y prueba de un
programa en el MicroPIC Trainer
9.

10.

11.

12.

44

Display 7seg: el display de 7 segmentos tambin esta conectado a la puerta B


del PIC. Para que este perifrico funcione el jumper DIS ON debe estar cerrado
y el J10 en su posicin B0.
LCD: este perifrico es el que mas conexiones requiere. Comparte las 8 lneas
de la puerta B con el display de 7 segmentos y la barrita de LEDs, y adems
utiliza RA0, RA1 Y RA2, como lneas de control. Por este motivo, cada vez que
queramos enviar informacin al LCD, los interruptores que comparten estas
mismas lneas deben estar a 1(hacia arriba). Adems el jumper LCD ON debe
estar cerrado y el J10 en su posicin B0.
Jumpers A/D: seleccionan que seales entraran en ,las lneas RA0 RA4 del
PIC. En la posicin digital conectan los interruptores y en la posicin analgico
los potencimetros.
Potencimetros: sirven para introducir seales analgicas a los PIC, que
poseen conversores analgicos/digitales. Es importante que los jumper A/D estn
bien configurados para que no existan conflictos entre estos potencimetros y los
interruptores.
SISTEMAS MICROPROCESADOS I

Pasos para grabar un programa en


el PIC
Introducir el PIC adecuado en el zcalo correspondiente.
Conectar la fuente de alimentacin de 12 VAC a la placa y a un enchufe de 220 VAC estndar.
Unir el PC con la placa mediante un cable paralelo.
Quitar los jumpers que habilitan/deshabilitan el LCD, el display y la barrita de LEDs.
Abrir el programa de grabacin PICME-TR.
Dentro de este programa pulsar los siguientes botones:

1.
2.

3.
4.
5.
6.
a)

b)
c)
d)

e)
f)

7.

45

Abrir el Fichero ensamblado. En el Buffer de Memoria de Programa aparecer el fichero en formato HEX.
Borrar el PIC.
Comprobar el Borrador del PIC.
Poner la Palabra de Configuracin con las opciones:

Cdigo Protegido: NO.

Watchdog Timer: NO.

Oscilador: XT.

Power Timer: SI.


Programar Todo el programa en el PIC.
Verificar la programacin del PIC.

Conectar los jumpers que se han quitado antes, correspondientes a los perifricos que se van
a utilizar.

SISTEMAS MICROPROCESADOS I

Pasos para grabar un programa en


el PIC

46

SISTEMAS MICROPROCESADOS I

DISEAR CON PIC ES FACIL


Aunque el PIC16F84 sirve para realizar un sinfn de
aplicaciones, existen ciertas aplicaciones muy
comunes para las cuales este PIC no sirve. Son
aquellas que requieren la utilizacin de sensores
analgicos. Vamos a presentar dos sensores que,
aunque muy utilizados en diversos aparatos que
manejamos a diario, no eran soportados
directamente por el PIC16F84. Los nuevos
PIC16F87x, al disponer de Conversor A/D, pueden
usarlos cmodamente.
47

SISTEMAS MICROPROCESADOS I

El sensor de luminosidad: LDR

48

Es un elemento cuya resistencia entre bornes varia en


funcin de la luz que incide sobre su superficie.

Por ejemplo, la iluminacin de la entrada a una vivienda, de una


habitacin o de un criadero de peces, puede regularse automticamente
de modo que se active una o varias bombillas con la deteccin de
determinados niveles de luminosidad.

SISTEMAS MICROPROCESADOS I

El sensor de temperatura
estndar: LM35

49

Es otro sensor analgico ampliamente utilizado.

En la siguiente tabla se presentan algunos valores:

SISTEMAS MICROPROCESADOS I

Caractersticas del sensor LM35


1.

2.

3.

4.

50

Su tensin de salida Vout es proporcional a la


temperatura en una proporcin de 10 mV/C.
Su rango de funcionamiento esta
comprendido entre 0 C y 100 C.
Su tensin de funcionamiento Vs esta entre
+4 VDC y +30 VDC.
Su precisin es de + 0.9C.
SISTEMAS MICROPROCESADOS I

Grfica del sensor cuya parte


plana esta hacia arriba

51

SISTEMAS MICROPROCESADOS I

Bilbliografia

52

Microcontroladores PIC - Angulo Usategui


Jose Maria

SISTEMAS
MICROPROCESADOS I

GRACIAS
CHRISTIAN IBARRA VIERA

53

SISTEMAS
MICROPROCESADOS I

También podría gustarte