Familia De Los Microcontroladores

53
La Familia de Microcontroladores PIC Sistemas Microprocesados I Universidad Politécnica Salesiana

Transcript of Familia De Los Microcontroladores

Page 1: Familia De Los Microcontroladores

La Familia de Microcontroladores PIC

Sistemas Microprocesados IUniversidad Politécnica Salesiana

Page 2: Familia De Los Microcontroladores

Importancia de los Microcontroladores PIC

Microchip se mantiene desde el año 2002 como líder mundial de ventas de microcontroladores de 8 bits.

En el año 2005 facturo un total de 847 millones de dólares, de los cuales 675 procedieron de las ventas de microcontroladores (MCU)

2SISTEMAS MICROPROCESADOS I

Page 3: Familia De Los Microcontroladores

Importancia de los Microcontroladores PIC

3SISTEMAS MICROPROCESADOS I

Page 4: Familia De Los Microcontroladores

Distribución de las ventas de microcontroladores PIC

Se destacan: El área genérica de la Electrónica de Consumo con el 35% La Industria de Automoción con el 18%

4SISTEMAS MICROPROCESADOS I

Page 5: Familia De Los Microcontroladores

Importancia de los Microcontroladores PIC

Existen unas gran diversidad de modelos de microcontroladores que permiten al diseñador encontrar el que contenga todos los recursos y capacidades de memoria.

5SISTEMAS MICROPROCESADOS I

Page 6: Familia De Los Microcontroladores

Clasificación 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 tamaño de ambas memorias

Genéricamente se clasifican según el tamaño de los datos que maneja el repertorio de instrucciones en:

6 SISTEMAS MICROPROCESADOS I

Page 7: Familia De Los Microcontroladores

Clasificación de los Microcontroladores

De 4 bits De 8 bits De 16 bits De 32 bits

Microchip (líder mundial de ventas) solo fabrica de 8 y 16

7 SISTEMAS MICROPROCESADOS I

Page 8: Familia De Los Microcontroladores

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

Se clasifican en tres grandes gamas:

8 SISTEMAS MICROPROCESADOS I

Page 9: Familia De Los Microcontroladores

1. Base

2. Media

3. Mejorada

Microcontroladores PIC de 8 Bits

9 SISTEMAS MICROPROCESADOS I

Page 10: Familia De Los Microcontroladores

Gama Base

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 número de recursos internos son reducidos. Esta compuesto por 14 modelos de los cuales 6 están encapsulados con solo

6 patitas. Se los apoda como “enanos”.

10SISTEMAS MICROPROCESADOS I

Page 11: Familia De Los Microcontroladores

Tabla Gama Baja

11SISTEMAS MICROPROCESADOS I

Page 12: Familia De Los Microcontroladores

Gama Media

El repertorio de instrucciones es de 35, de 14 bits cada una.

Posee una Pila 8 niveles de profundidad.

Dispone de un vector de interrupción.

Es una gama numerosa que alcanza 71 modelos diferentes.

Se hallan encapsulados con 8 patitas y llegan hasta los que tienen 68 patitas.12 SISTEMAS MICROPROCESADOS I

Page 13: Familia De Los Microcontroladores

Tabla Gama Media

13SISTEMAS MICROPROCESADOS I

Page 14: Familia De Los Microcontroladores

Gama Mejorada

Dispone de 77 instrucciones de 16 bits cada una.

Una pila con 31 niveles de profundidad.

2 vectores de interrupción.

Esta gama responde a la nomenclatura: PIC18Xxxx.

14SISTEMAS MICROPROCESADOS I

Page 15: Familia De Los Microcontroladores

Gama Mejorada

Esta gama de modelos tan potentes es palpable, ya que posee mas número 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 periféricos muy especializados, como un conversor AD de 10 bits; hasta 5 temporizadores.

15 SISTEMAS MICROPROCESADOS I

Page 16: Familia De Los Microcontroladores

Gama Mejorada

Interfaces para comunicación con bus I2C, SPI, USART, CAN 2.0B, etc.

Existe un multiplicador hardware, que permite desarrollar esta operación en un ciclo de instrucción.

16SISTEMAS MICROPROCESADOS I

Page 17: Familia De Los Microcontroladores

Tabla Gama Mejorada

17SISTEMAS MICROPROCESADOS I

Page 18: Familia De Los Microcontroladores

Microcontroladores PIC de 16 Bits

Microchip ha diseñado 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:1. Gama MCU de 16 bits, formada por la familia de

dispositivos PIC24F y PIC24H.

2. Gama DSC de 16 bits, formada por la familia de dispositivos dsPIC30F y dsPIC33F.

18 SISTEMAS MICROPROCESADOS I

Page 19: Familia De Los Microcontroladores

Gama de Microcontroladores MCU de 16 bits

La primera familia de esta gama es con la nomenclatura genérica PIC24F, que posee:

0.25 micras. Alcanza un rendimiento de 16 MIPS a 32 MHz Puede resolver diseños que no podían ser

cubiertos con los PIC18Xxxx.

19 SISTEMAS MICROPROCESADOS I

Page 20: Familia De Los Microcontroladores

Gama de Microcontroladores MCU de 16 bits

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.

20 SISTEMAS MICROPROCESADOS I

Page 21: Familia De Los Microcontroladores

Diagrama por Bloques de Microcontroladores de 16 bits PIC24F

21SISTEMAS MICROPROCESADOS I

Page 22: Familia De Los Microcontroladores

Características de Microcontroladores 16 bits PIC24F

Alimentación con 2.5 V. Hay 9 modelos diferentes de PIC24F.

TTL de 5 V. Líneas de E/S con 3.3 V.

22SISTEMAS MICROPROCESADOS I

Page 23: Familia De Los Microcontroladores

Gama de Microcontroladores MCU de 16 bits

La otra familia de esta gama es con la nomenclatura genérica 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 aportación frente a los PIC24F, es la de

incluir un controlador de DMA con 8 canales.

23 SISTEMAS MICROPROCESADOS I

Page 24: Familia De Los Microcontroladores

Gama de Microcontroladores MCU de 16 bits

24SISTEMAS MICROPROCESADOS I

Page 25: Familia De Los Microcontroladores

Gama de Microcontroladores DSC de 16 bits

25SISTEMAS MICROPROCESADOS I

La primera familia de esta gama es dsPIC30F, que posee:

Importante capacidades de memoria. Contiene la mayoría de los recursos y

periféricos. Rendimiento de 30 MIPS, a un voltaje entre

4.5 y 5.5 V.

Page 26: Familia De Los Microcontroladores

Gama de Microcontroladores DSC de 16 bits

Motor DSP. Se dividen en tres categorías:

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

b) dsPIC30F de Control de Motores, con 9 modelos.

c) dsPIC30F para Controles de Sensores, con 4 modelos.

26SISTEMAS MICROPROCESADOS I

Page 27: Familia De Los Microcontroladores

Relación de algunos modelos de dsPIC30F

SISTEMAS MICROPROCESADOS I27

Page 28: Familia De Los Microcontroladores

Cualidades de los dsPIC33F

Se alimentan 3.3 V, aunque las E/S pueden trabajar con niveles TTL.

Incorporan un controlador DMA de 8 canales. Aumenta el número 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 I28

Page 29: Familia De Los Microcontroladores

Características principales de algunos modelos de la familia dsPIC33F

SISTEMAS MICROPROCESADOS I29

Page 30: Familia De Los Microcontroladores

Diagramas de bloques de la estructura interna de los dsPIC33F

SISTEMAS MICROPROCESADOS I30

Page 31: Familia De Los Microcontroladores

PROGRAMAR PIC

ES FACILES FACILSISTEMAS

MICROPROCESADOS I31

Page 32: Familia De Los Microcontroladores

Recordando el viejo PIC16F84

Como consecuencias de sus recursos la programación de los nuevos PIC hace mas sencillas la realización de ciertas tareas.

SISTEMAS MICROPROCESADOS I32

Page 33: Familia De Los Microcontroladores

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. 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 permanecen apagados.

SISTEMAS MICROPROCESADOS I33

Page 34: Familia De Los Microcontroladores

Esquema Eléctrico

Tanto los interruptores como los LEDs están conectados para ser activos por nivel alto.

SISTEMAS MICROPROCESADOS I34

Page 35: Familia De Los Microcontroladores

Organigrama

Si el problema es sencillo el programa es casi una traducción inmediata del organigrama a código y viceversa.

SISTEMAS MICROPROCESADOS I35

Page 36: Familia De Los Microcontroladores

PROGRAMA COMENTADO

Se recomienda seguir unas reglas básicas a la hora de escribir los programas que, aunque no son obligatorias, facilitan la lectura y la comprensión.

1. Tanto las directivas como las etiquetas se escribirán con mayúsculas, así como las instrucciones serán 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.

SISTEMAS MICROPROCESADOS I36

Page 37: Familia De Los Microcontroladores

PROGRAMA COMENTADO

SISTEMAS MICROPROCESADOS I37

Page 38: Familia De Los Microcontroladores

Pasos para probar la solución del problema

1. Llamar a un editor de textos cualquiera y copiar el programa. Grabarlo sin formato con extensión “ASM”.

2. Ensamblarlo con el ensamblador de Microchip llamado MPASM. Corregir errores si los hubiera volviendo al paso 1.

3. Grabar el microcontrolador utilizando, por ejemplo, el sistema de desarrollo MicroPIC Trainer y sus software de grabación PICME-TR.

4. Probar la solución utilizando los periféricos contenidos en el MicroPIC Trainer.

SISTEMAS MICROPROCESADOS I38

Page 39: Familia De Los Microcontroladores

UTILIZACION DEL ENSAMBLADOR MPASM

SISTEMAS MICROPROCESADOS I39

Page 40: Familia De Los Microcontroladores

PASOS PARA ENSAMBLAR UN PROGRAMA

1. En el campo Source File se introduce el nombre del fichero con extensión 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.

2. 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.

3. 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 detalla los errores de ensamblador, y que se puede mirar con cualquier editor, y otro con extensión HEX, que será el que se grabe en el microcontrolador.

4. Por ultimo, se procede a ensamblar el programa pulsando F10.

5. 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 I40

Page 41: Familia De Los Microcontroladores

Grabación y prueba de un programa en el MicroPIC Trainer

Esta ideado para grabar en el microcontrolador el programa, una vez ensamblado y convertido en formato HEX.

SISTEMAS MICROPROCESADOS I41

Page 42: Familia De Los Microcontroladores

Grabación y prueba de un programa en el MicroPIC Trainer

1. Alimentación: aquí se conecta la fuente de alimentación, que debe proporcionar 12VAC.

2. Puerto paralelo: mediante un cable paralelo se conecta la placa con el PC. Es necesario para efectuar la grabación del microcontrolador.

3. Picbus: por este conector sale al exterior todas la líneas del PIC, que se encuentren en zócalo de la placa. Sirve para realizar ampliaciones de periféricos, ya que permite conectar los Picbus de diferentes placas. Hay que tener cuidado de que dichas ampliaciones no causen interferencias en las señales de los periféricos que ya se encuentran en las placas, deshabilitando en caso contrario alguno de ellos.

4. PIC-18: es el zócalo donde se inserta los PIC de 18 patitas, por ejemplo el PIC16F84.

5. PIC-28: este es el zócalo 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 zócalos.

SISTEMAS MICROPROCESADOS I42

Page 43: Familia De Los Microcontroladores

Grabación y prueba de un programa en el MicroPIC Trainer

6. Jumpers: sirven para conectar o desconectar el LCD, el display de 7 segmentos y la barrita de LEDs.

7. Interruptores: están conectados a las 5 líneas de la puerta A. para poder utilizarlos los jumpers A/D, situados en la zona central de la placa entre los interruptores y los potenciómetros, deben estar e n la posición de “digital”. Además, el jumper “J9”, situado en la parte superior derecha del LCD tiene que estar en la posición “A4”. Si este jumper estuviese en su posición TOCK quedaría deshabilitado en interruptor de la placa y podríamos usar esta entrada para otras cosas, como por ejemplo, para conectar una fuente de impulso externa para el TMR0.

8. 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 representara en la barrita de LEDs. El jumper “J10”, situado en la parte superior del LCD, debe estar en al posición “B0”. Si este jumper estuviera en la posición “INT” la salida por la línea RB0 quedaría deshabilitada y esta podría usarse, por ejemplo, como entrada para una señal de interrupción externa.

SISTEMAS MICROPROCESADOS I43

Page 44: Familia De Los Microcontroladores

Grabación y prueba de un programa en el MicroPIC Trainer

9. Display 7seg: el display de 7 segmentos también esta 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. LCD: este periférico es el que mas conexiones requiere. Comparte las 8 líneas de la puerta B con el display de 7 segmentos y la barrita de LEDs, y además utiliza RA0, RA1 Y RA2, como líneas de control. Por este motivo, cada vez que queramos enviar información al LCD, los interruptores que comparten estas mismas líneas deben estar a 1(hacia arriba). Además el jumper “LCD ON” debe estar cerrado y el “J10” en su posición “B0”.

11. Jumpers A/D: seleccionan que señales entraran en ,las líneas RA0 – RA4 del PIC. En la posición “digital” conectan los interruptores y en la posición “analógico” los potenciómetros.

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

SISTEMAS MICROPROCESADOS I44

Page 45: Familia De Los Microcontroladores

Pasos para grabar un programa en el PIC

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

2. Conectar la fuente de alimentación de 12 VAC a la placa y a un enchufe de 220 VAC estándar.

3. Unir el PC con la placa mediante un cable paralelo.

4. Quitar los jumpers que habilitan/deshabilitan el LCD, el display y la barrita de LEDs.

5. Abrir el programa de grabación PICME-TR.

6. Dentro de este programa pulsar los siguientes botones:a) Abrir el Fichero ensamblado. En el Buffer de Memoria de Programa aparecerá el fichero en formato

HEX.

b) Borrar el PIC.

c) Comprobar el Borrador del PIC.

d) Poner la Palabra de Configuración con las opciones: Código Protegido: NO. Watchdog Timer: NO. Oscilador: XT. Power Timer: SI.

e) Programar Todo el programa en el PIC.

f) Verificar la programación del PIC.

7. Conectar los jumpers que se han quitado antes, correspondientes a los periféricos que se van a utilizar.

SISTEMAS MICROPROCESADOS I45

Page 46: Familia De Los Microcontroladores

Pasos para grabar un programa en el PIC

SISTEMAS MICROPROCESADOS I46

Page 47: Familia De Los Microcontroladores

DISEÑAR CON PIC ES FACIL

Aunque el PIC16F84 sirve para realizar un sinfín de aplicaciones, existen ciertas aplicaciones muy comunes para las cuales este PIC no sirve. Son aquellas que requieren la utilización de sensores analógicos. 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 cómodamente.

SISTEMAS MICROPROCESADOS I47

Page 48: Familia De Los Microcontroladores

El sensor de luminosidad: LDR

Es un elemento cuya resistencia entre bornes varia en función de la luz que incide sobre su superficie.

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 modo que se active una o varias bombillas con la detección de determinados niveles de luminosidad.

SISTEMAS MICROPROCESADOS I48

Page 49: Familia De Los Microcontroladores

El sensor de temperatura estándar: LM35

Es otro sensor analógico ampliamente utilizado. En la siguiente tabla se presentan algunos valores:

SISTEMAS MICROPROCESADOS I49

Page 50: Familia De Los Microcontroladores

Características del sensor LM35

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

2. Su rango de funcionamiento esta comprendido entre 0° C y 100° C.

3. Su tensión de funcionamiento Vs esta entre +4 VDC y +30 VDC.

4. Su precisión es de + 0.9°C.

SISTEMAS MICROPROCESADOS I50

Page 51: Familia De Los Microcontroladores

Gráfica del sensor cuya parte plana esta hacia arriba

SISTEMAS MICROPROCESADOS I51

Page 52: Familia De Los Microcontroladores

Bilbliografia

Microcontroladores PIC - Angulo Usategui Jose Maria

SISTEMAS MICROPROCESADOS I52

Page 53: Familia De Los Microcontroladores

CHRISTIAN IBARRA VIERA

GRACIAS…

SISTEMAS MICROPROCESADOS I53