Download - Familia De Los Microcontroladores
La Familia de Microcontroladores PIC
Sistemas Microprocesados IUniversidad Politécnica Salesiana
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
Importancia de los Microcontroladores PIC
3SISTEMAS MICROPROCESADOS I
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
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
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
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
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
1. Base
2. Media
3. Mejorada
Microcontroladores PIC de 8 Bits
9 SISTEMAS MICROPROCESADOS I
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
Tabla Gama Baja
11SISTEMAS MICROPROCESADOS I
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
Tabla Gama Media
13SISTEMAS MICROPROCESADOS I
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
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
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
Tabla Gama Mejorada
17SISTEMAS MICROPROCESADOS I
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
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
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
Diagrama por Bloques de Microcontroladores de 16 bits PIC24F
21SISTEMAS MICROPROCESADOS I
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
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
Gama de Microcontroladores MCU de 16 bits
24SISTEMAS MICROPROCESADOS I
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.
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
Relación de algunos modelos de dsPIC30F
SISTEMAS MICROPROCESADOS I27
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
Características principales de algunos modelos de la familia dsPIC33F
SISTEMAS MICROPROCESADOS I29
Diagramas de bloques de la estructura interna de los dsPIC33F
SISTEMAS MICROPROCESADOS I30
PROGRAMAR PIC
ES FACILES FACILSISTEMAS
MICROPROCESADOS I31
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
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
Esquema Eléctrico
Tanto los interruptores como los LEDs están conectados para ser activos por nivel alto.
SISTEMAS MICROPROCESADOS I34
Organigrama
Si el problema es sencillo el programa es casi una traducción inmediata del organigrama a código y viceversa.
SISTEMAS MICROPROCESADOS I35
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
PROGRAMA COMENTADO
SISTEMAS MICROPROCESADOS I37
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
UTILIZACION DEL ENSAMBLADOR MPASM
SISTEMAS MICROPROCESADOS I39
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
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
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
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
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
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
Pasos para grabar un programa en el PIC
SISTEMAS MICROPROCESADOS I46
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
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
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
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
Gráfica del sensor cuya parte plana esta hacia arriba
SISTEMAS MICROPROCESADOS I51
Bilbliografia
Microcontroladores PIC - Angulo Usategui Jose Maria
SISTEMAS MICROPROCESADOS I52
CHRISTIAN IBARRA VIERA
GRACIAS…
SISTEMAS MICROPROCESADOS I53