microcontroladores : compilador mplab...

Download MICROCONTROLADORES : COMPILADOR MPLAB …programatpic.wikispaces.com/file/view/presentacion+minicurso.pdf · Disponen de más de 80 instrucciones en su repertorio, algunas de las

If you can't read please download the document

Upload: vutuong

Post on 05-Feb-2018

230 views

Category:

Documents


2 download

TRANSCRIPT

  • ING. YESID EUGENIO SANTAFE RAMON

    DOCENTE PROGRAMA DE INGENIERIA

    ELECTRONICA

    MICROCONTROLADORES : COMPILADOR

    MPLAB 16FXX, UNA INTRODUCCION.

  • P

    [] Tendencias

    In the Office

    Video Walls &

    Virtual-Real

    Meetings

    Foldable Workstations

    3D Design

    In the Home

    Medical Mirror

    Immersive TV

    Call My-Agent

    Creative Spaces

    In Transport Systems

    Navigation

    Systems

    Driver Assistance

  • Prsentat

    ion

    Tendencias

    Satellite

    Global

    Suburban Urban

    In- Building

    Pico-Cell

    Micro-Cell

    Macro-Cell

    Home-Cell

    Seamless & Rich Connectivity

    Intelligent EnvironmentsAnthropocentric Interfaces

    Ambiente inteligente

  • MICROCONTROLADORES PIC :

    Los microcontroladores PIC 16F84, al igual que el resto

    de los microcontroladores de la actualidad, estn

    diseados con la arquitectura Harvard. La arquitectura

    Harvard dispone de dos memorias independientes;

    una que contiene slo instrucciones, y otra donde se

    almacenan los datos. Ambas memorias cuentan con

    sus respectivos sistemas de buses de acceso y es posible

    realizar operaciones de acceso (lectura o escritura)

    simultneamente en ambas memorias.

  • Entre las principales caractersticas del PIC 16F84 podemos

    destacar:

    Voltaje de alimentacin: 5VCC.

    CPU RISC

    Circuito Integrado de 18 pines.

    13 Pines de configurables como Entrada o Salida.

    Frecuencia operacin mxima: 10 Mhz.

    Memoria Flash: 1 Kbytes

    Memoria de Datos: 68 bytes

    Memoria de Datos EEPROM: 64 bytes

    1 Temporizador interno de 8 bits.

    3 Interrupciones.

  • Estructura de un microcontrolador

    Bsicamente, un microcontrolador esta compuesto por los

    siguientes componentes:

    Procesador o CPU (del ingls Central Prossesing Unit o

    Unidad Central de Proceso).

    Memoria para el programa tipo ROM.

    Memoria RAM para contener los datos.

    Lneas de E/S para comunicarse con el exterior.

    Diversos mdulos para el control de perifricos

    (temporizadores, Puertas Serie y Paralelo,

    CAD: Conversores Analgico/Digital, CDA: Conversores

    Digital/Analgico, etc.).

  • Actualmente, existen 3 tipos de arquitectura de procesadores:

    CISC (Computadores de Juego de Instrucciones Complejo):

    Disponen de ms de 80 instrucciones en su repertorio, algunas de las cuales

    son muy sofisticadas y potentes, requi -

    riendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es

    que

    ofrecen instrucciones complejas que actan como macros.

    RISC (Computadores de Juego de Instrucciones Reducido): En estos

    procesadores el repertorio

    de instrucciones es muy reducido y las instrucciones son simples y generalmente

    se

    ejecutan en un ciclo. La ventaja de stos es que la sencillez y rapidez de las

    instrucciones

    permiten optimizar el hardware y el software del procesador.

  • SISC (Computadores de Juego de Instrucciones Especfico): En los

    microcontroladores destinados a aplicaciones muy concretas, el

    juego de instrucciones, adems de ser reducido,

    es "especfico", o sea, las instrucciones se adaptan a las necesidades

    de la aplicacin prevista.

  • PIC 18F452

  • DISTRIBUCION DE PINES

  • El pic16f84 puede direccionar 128 posiciones de memoria RAM,

    pero solamente tiene implementado fsicamente los primeros 80

    (0 a 4Fh). De estos los primeros 12 son registros que cumplen un

    propsito especial en el control del microcontrolador y los 68

    siguientes son de registro general que se pueden usar para guardar

    los datos temporales de la tarea que se ha ejecutado. Los registros

    estn arganizados como dos bancos (pginas) de 128 posiciones de

    8 bits cada una (128 x 8); todas las posicionezs se pueden accesar

    directa o indirectamente (estas ultimas a travs del registro FSR).

    Para seleccionar que pagina de registro se trabaja en un momento

    determinado se utilliza el bit RPO del registro STATUS

  • INTCON (controla las interrupciones), Direccin 0Bh. Se estudia

    bit a bit:

    RBIF (Flag de interrupcin por cambio de PORTB) Direccin

    INTCON,0 (bit 0) se pone a "1" cuando alguno de los pines RB4,

    RB5, RB6, o RB7 cambia su estado. Una vez que est a "1" no pasa

    a "0" por si mismo: hay que ponerlo a cero por programa.

    INTF (Flag de interrupcin de RB0) Direccin INTCON,1. Si est

    a "1" es que ha ocurrido una interrupcin por RB0, si est a "0" es

    que dicha interrupcin no ha ocurrido. Este bit es una copia de

    RB0.

  • TOIF (Flag de interrupcin por desbordamiento de TMR0)

    Direccin INTCON,2. Cuando TMR0 se desborda este Flag avisa

    poniendose a "1". Poner a "0" por programa.

    RBIE (Habilita la interrupcin por cambio de PORTB) Direccin

    INTCON,3. Si est a "1" las interrupciones por cambio de

    PORTB son posibles.

    INTE (Habilita la interrupcin por RB0) Direccin INTCON,4. Si

    lo ponemos a "1" la interrupcin por RB0 es posible

    TOIE (Habilita la interrupcin por desbordamiento de TMR0)

    Direccin INTCON,5. Si este bit esta a "1" la interrupcin por

    desbordamiento de TMR0 es posible.

  • EEIE (Habilita la interrupcin por fin de escritura en la EEPROM

    de datos) Direccin INTCON,6. Cuando este bit est a "1" la

    interrupcin cuando acaba la escritura en la EEPROM de datos es

    posible.

    GIE (Habilita las interrupciones globalmente) Direccin

    INTCON,7. Este bit permite que cualquier interrupcin de las

    anteriores sea posible.

  • EL OSCILADOR EXTERNO.

  • ORGANIZACIN DE LA MEMORIA DE PROGRAMA La memoria de datos tiene mayor tamao, aqu se tienen 32 rejistros de proposito general (mapa de memoria hasta 2Fh)

  • ORGANIZACIN DE LA MEMORIA DE DATOS

    La memoria de datos es del tipo SRAM. Cada registro en la memoria de datos tiene una direccin de 12 bits, permitiendo hasta 4096 bytes de memoria de

    datos. El mapa de memoria de datos esta dividido en 16 bancos que contienen 256 bytes cada uno. Los 4 bits de menos peso del Registro de seleccin de bancos

    (BSR) seleccionan a cul banco se desea acceder. La memoria de datos contiene Registros de propsito especial SFR y registros de propsito general GPR. Los

    FSRs inician en la ltima localizacin del banco 15 (0xFFF) y se extienden de ah en adelante. Los GPR inician en la primera localizacin del banco 0.

  • INTRODUCCION AL COMPILADOR MPLAB

    DE MICROCHIP

    Introduccin a la programacin en ensamblador

    Entorno de desarrollo MPLAB-IDE

    Ejemplos y ejercicios

  • Cuando compramos un microcontrolador, la memoria del mismo

    se encuentra vaca y para que funcione

    es necesario que sea programado, es decir que, el desarrollador

    debe escribir un programa que contenga

    todos los procesos que el microcontrolador debe ejecutar.

    Este programa se escribe en un lenguaje llamado Assembler

    (ensamblador) cuya principal caracterstica es su alta complejidad

    ya que se trata de un lenguaje de bajo nivel, es decir, que se

    encuentra ms cercano al lenguaje de la mquina que del

    lenguaje humano.

  • .Algunas de las convenciones ms utilizadas son:

    Los ficheros de cdigo fuente llevarn la extensin *.ASM o

    *.SRC

    Los ficheros de listado llevarn la extensin *.LST

    Los ficheros de cdigo objeto llevarn la extensin *.OBJ Los

    ficheros ejecutables llevarn la extensin *.HEX

    Los ficheros de errores de ensamblado llevarn la extensin

    *.ERR

    Los nemnicos escritos en maysculas hacen que el cdigo

    escrito sea ms visible. Comentarios explicando cada lnea de

    cdigo. El espacio entre caracteres se escribe _. RB0_ES_1 es

    ms fcil de leer que RB0ES1.

  • Set de Instrucciones del PIC16F84

    Para entender mejor cada instruccin se explica a continuacin el

    significado de algunos parmetros:

    f: Registro al que afecta la instruccin

    W: Acumulador (Working register)

    b: Nmero de bit (hay instrucciones que afectan a un solo bit)

    k: constante (un nmero)

    d: seleccin de destino del resultado de la instruccin, puede ser

    "0" o "1", si es "0" el resultado se guarda en el acumulador (W) y

    si es "1" se guyarda en el registro f al que afecta la instruccin.

  • ENTORNO DE PROGRAMACION DEL COMILADOR

    MPLAB

    APRENDAMOS HACIENDO!

  • ENTORNO DE PROGRAMACION DEL COMILADOR

    MPLAB

    APRENDAMOS HACIENDO!

  • Cmo se configuran los registros que intervienen en una

    interrupcin externa ?

    Pasos:

    1 paso:

    Como las interrupciones de este microcontrolador

    estn vectorizadas en una sola posicin de memoria, hay que

    poner la direccin de la interrupcin (0004h), que es donde

    va a ir a buscar la instruccin de salto (goto), que conducir

    al microcontrolador al programa de tratamiento de la

    interrupcin.

  • 2paso:

    Se configura el registro OPTION_REG y en concreto se eligir el

    tipo de flanco: ascendente o descendente.

    El bit 6 de este registro, llamado INTEDG, se cargar con 1 para

    elegir flanco ascendente y 0 para flanco descendente.

    Yo he elegido flanco descendente.

    3paso:

    Se configura el registro relacionado con el software de la

    interrupcin /Int.

    El registro y los bits son:

    INTCON: bit 7 (GIE)= Activacin global de interrupciones = 1=

    permiso concedido.

  • bit 4 (INTE)= Activacin de la interrupcin externa = 1= activada.

    Cmo sabremos si se ha producido una interrupcin externa, /Int

    Toda interrupcin, si est activada, al producirse provocar la

    activacin de las llamadas banderas o bits, que al ser examinados nos

    descubrirn si sea producido una interrupcin.

    La bandera o bit de la interrupcin /Int, est en el registro

    INTCON, y es el bit 1, llamado INTF. Un 1 en l nos indica que sea

    producido una interrupcin.

    Esta bandera hay que bajarla, o sea, ponerla a cero por

    software para saber si se ha producido una peticin de interrupcin

    posterior

  • Manejo de Display

  • Pantalla LCD

  • Regulador lumnico mediante el control de

    la fase.