Programación y Aplicaciones de los Microcontroladores ... · PDF fileSimulación...

download Programación y Aplicaciones de los Microcontroladores ... · PDF fileSimulación en el entorno de MPLAB ... Proyecto en Proteus ... •Solapa la búsqueda de instrucción con la ejecución

If you can't read please download the document

Transcript of Programación y Aplicaciones de los Microcontroladores ... · PDF fileSimulación...

  • Programacin y Aplicaciones de los Microcontroladores PIC16FXXX (Nivel

    Bsico)

    ING. EULER DEZA FIGUEROA

  • ESTRUCTURA Y CONTENIDO:

    SESIONES DE CLASE

    CONTENIDOS

    PRACTICA

    PRIMERA (5 horas )

    Introduccin, Aspectos generales de

    los uCs PIC, Caractersticas

    Bsicas del PIC16F84A,

    Organizacin de la Memoria

    Parpadeo de un Diodo

    Led

    Juego de Luces de 4

    canales

    SEGUNDA

    (5 horas )

    Juego de Instrucciones, El Registro

    de trabajo, El Registro de Estado,

    Manejo de Puertos de Entrada -

    Salida

    Juego de Luces de 8

    Canales

    Lectura de Interruptores

    (Ejemplos de Aplicacin)

    TERCERA

    (5 horas )

    Retardos, Subrutinas de Retardo,

    Programacin del Timer0, El Timer0

    como Temporizador

    Semforo de Luces

    Programables

    Luces Programables

    CUARTA

    (5 horas )

    Aspectos Generales de MPLAB,

    Desarrollo de Aplicaciones y

    Simulacin en el entorno de MPLAB

    Manejo de Display

    (nodo comn y Ctodo

    Comn)

    Contador de Display

    QUINTA

    (4 horas )

    Aspectos Generales de PROTEUS,

    Simulacin y Depuracin de un

    Proyecto en Proteus

    Manejo de Motores DC

    Manejo de Motores PAP

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • un microcontrolador es un circuito integrado que incorpora todos los bloques funcionales de un sistema Microprocesador en un nico encapsulado, el cual ejecuta de manera continua una secuencia de instrucciones (programa) que permita controlar un sistema o subsistema electrnico.

    Un microcontrolador (abreviado C, UC o MCU) es un circuito integrado programable, capaz de ejecutar las rdenes grabadas en su memoria. Est compuesto de varios bloques funcionales, los cuales cumplen una tarea especfica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y perifricos de entrada/salida.

    MICROCONTROLADOR

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • MICROCONTROLADOR

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Los PIC siguen la arquitectura Hardvard:

    memoria de datos separada de la memoria de programas

    dos tamaos de palabra:

    Palabra de datos

    Palabra de instruccin

    Conjunto reducido de instrucciones (RISC)

    ARQUITECTURA DE LOS MICROCONTROLADORES PIC

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Palabra de instruccin larga: formato que permite incorporar en una nica

    instruccin todos los campos necesarios (importante: suficiente espacio para los bits de direccin)

    Una nica palabra por instruccin. Decodificacin ms sencilla. (un nico ciclo)

    Pipeline de ejecucin.(2 etapas) Solapa la bsqueda de instruccin con la ejecucin Salvo en las instrucciones de salto.

    Conjunto de instrucciones reducido. Arquitectura de registros. Conjunto de

    instrucciones ortogonal.

    Arquitectura Harvard

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Internamente, el reloj de entrada es dividido por cuatro.

    Un ciclo de instruccin equivale a cuatro periodos del reloj de entrada.

    En Q1, se lee la siguiente instruccin y en Q4 es almacenada en el registro

    En el siguiente ciclo es ejecutada.

    Esquema de reloj/ciclo de instruccin

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • La importancia de conocer el ciclo de ejecucin de instrucciones en un microcontrolador estriba en que en ocasiones es necesario calcular de forma precisa el tiempo de ejecucin de los bucles para actuar en tiempo real

    Ejecucin

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Entre los productos que ofrece Microchip est la familia de microcontroladores de 8 bits Se refiere al tamao de la palabra de datos que

    maneja Esta familia est subcategorizada por el tamao de

    palabra de instruccin, que se corresponde con las capacidades ofrecidas por el microcontrolador correspondiente. Gama Baja: palabra de instruccin 12 bits Gama Media: Palabra de instruccin 14 bits Gama Alta: Palabra de instruccin 16 bits

    Familia de microcontroladores de 8 bits

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • La componen los modelos de las familias

    PIC10F (empaquetado de 6 pines)

    Algunos elementos de las familias PIC12

    (empaquetado de 8 pines)

    Algunos elementos PIC16F5X

    (empaquetados de 14, 18, 20 y 28 pines)

    Palabra de instruccin de 12 bits

    Reducido nmero de pines y pequea dimensin

    Memoria flash programable

    Reducido coste y facilidad de uso

    Gama baja

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Palabra de instruccin de 14 bits.

    Familias PIC12

    Familias PIC16

    Mayor nmero de pines en los empaquetados.(8-64)

    Mayor rango de voltajes operativos. 2.0-5.5v

    Manejo de interrupciones

    Pila de programas ms amplia

    8 niveles

    Canales conversores A/D y memoria EEPROM de datos

    Gestin de diversos protocolos de comunicacin :

    USB, SPI, I2C, USART.

    Conexin inmediata a LCD.

    Rendimiento en torno a los 5MIPS

    Gama Media

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Tamao de palabra de 16 bits

    PIC18C

    10MIPS

    Multiplicador hardware

    Aumento del tamao del stack

    (32 niveles)

    Aumento del nmero de fuentes de interrupcin

    Empaquetado entre 18 y 80 pines.

    Perifricos avanzados de comunicacin y protocolos

    CAN, USB, ZigBee, TCP/IP

    Gama Alta

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Los avances en micro controladores se centran en la

    reduccin de consumo

    En este sentido se dota a los chip de la capacidad de

    seleccionar la fuente del reloj (hasta 9 posibles opciones)

    4 modos que usan un cristal oscilador

    2 modos que usan un reloj externo

    2 modos que usan un oscilador RC externo

    Oscilador interno que proporciona mltiples

    frecuencias (programables)

    Tecnologa nanoWatt

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • nanoWatt

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Posee 18 pines, de los cuales 13 son de I/O

    Memoria para guardar programas

    Timer/Contador interno

    4 fuentes de interrupciones a la CPU

    Memoria EEPROM

    Conociendo al PIC16F84A

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Diagrama del PIC16F84A

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Memoria

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Para configurar al PIC, debemos modificar algunos registros especiales: STATUS, OPTION_REG, INTCON, TRISA, TRISB

    Para manejar el I/O estn los registros PORTA, PORTB

    Todo registro es de 8 bits (1 Byte)

    Registros

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Un PIC nuevo viene vaco, no hace nada

    Para decirle al microcontrolador lo que queremos que haga, necesitamos escribir un programa en el computador y grabrselo en la memoria

    Se puede grabar y volver a grabar muchas veces distintos programas en el mismo PIC16F84A

    Funcionamiento

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Ahora que ya tenemos el programa en el PIC, podemos sacarlo y ponerlo en el circuito

    Al alimentar con corriente al PIC, veremos cmo ejecuta las acciones que le dijimos que hiciera en el programa

    Con esto se ahorra mucho trabajo

    Funcionamiento

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Ir a un PC y escribir el cdigo en ASSEMBLER

    Compilar el archivo Y SIMULAR

    Conectar el PIC a un programador de PICs que se conecta al PC

    Grabar el archivo compilado al PIC

    Pasos para grabar un programa

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Primero hacemos el esquema en Proteus

    Primer Programa: Parpadeo de un Diodo Led

    Microcontroladores PIC16FXXX (Nivel Bsico) Ing. Euler Deza

  • Luego guardamos el archivo en una carpeta en el HD, y le asignamos un nombre (Parpadeo