Remember Dig2

download Remember Dig2

of 30

Transcript of Remember Dig2

  • 7/23/2019 Remember Dig2

    1/30

    REMEMBER

    Arquitectura de Von Neumann (uP)

  • 7/23/2019 Remember Dig2

    2/30

    REMEMBER

    Arquitectura de Harvard (uC)

  • 7/23/2019 Remember Dig2

    3/30

    Arquitectura PiC

    Basado en banco de registros (I/O, TM, etc)

    Procesador: Sigue la arquitectura Harvard

    Procesador segmentado RISC

    Memoria de Programa: Memoria no volatil

    Almacena todo el cdigo del programa de aplicacin Tamao muy reducido (512 Bytes - 16 KB)

    Ajustada al tamao de las instrucciones.

  • 7/23/2019 Remember Dig2

    4/30

    Arquitectura PiC

    Memoria de Datos:

    RAM: voltil de tamao reducido, para variables deprograma (36 Bytes)

    EEPROM: para datos importantes que no debenperder si hay cortes de corriente (64 Bytes)

    Lneas de entrada/salida:

    Conexin con los perifricos

    Manejan la informacin en paralelo Se agrupan en puertas, pero cada seal se puede

    configurar independientemente.

  • 7/23/2019 Remember Dig2

    5/30

    Arquitectura PiC

    Recursos auxiliares:

    Circuito de reloj, encargado de la sincronizacin delsistema.

    Temporizador para controlar los tiempos

    Perro guardin (watchdog) provoca una reinicializacincuando el programa se queda colgado

    Conversor AD y DA para recibir y enviar seales analgicas

    Comparador analgico para comprobar el valor de una

    seal analgica Sistema de proteccin ante fallos de alimentacin

    Estado de reposo, para minimizar el consumo de energa.

  • 7/23/2019 Remember Dig2

    6/30

    PROGRAMACION EN

    ENSAMBLADOR

    para uC

  • 7/23/2019 Remember Dig2

    7/30

    Directivas

    LIST P= ; Indica el procesador a usar

    INCLUDE ; bibliotecas externa del uC (mpasmSuite)

    __CONFIG ; Configuracion del microcontrolador

    SPECIAL FEATURES -Datashet

    _CP_ON/OFF ,_DEBUG_ON/OFF , _WRT_OFF & CPD_OFF &

  • 7/23/2019 Remember Dig2

    8/30

    Directivas

    CP= protection del codigo flash OFF= NO PROTEC

    DEBUG= dispositivo interno PICKT,

    WRT = permiso escritura en la flash

    CPD=proteccion de un bloque eeprom

    LVP=programacion de bajo voltaje

    BOREN=proteccion de bajo volatage reset

    PWRT=reseta al pic cada vez que se alimenta

    WDRT= reseteo, perro guardian, (bucle infito, noregistro, etc.)

    XT= seleccion del oscilador

  • 7/23/2019 Remember Dig2

    9/30

    Directivas

    ORG ; ubicacion del programa

    EQU ; define constante

    END ; fin del programa

  • 7/23/2019 Remember Dig2

    10/30

    Estructura de un programa

    Inicio bcf STATUS,RP0 ; comentariosclrf TRISB

    bcf STATUS, RP0

    Principal:movwf PORTB

    goto inicio

    Etiquetas

    instrucciones operandos

    comentarios

  • 7/23/2019 Remember Dig2

    11/30

    Etiquetas

    Indican una direccion o posicion exacta en el

    programa:

    000 inicio

    03A principal

  • 7/23/2019 Remember Dig2

    12/30

    Instrucciones

    Accion o actividad propia del

    microcontrolador.

    Traducida a codigo maquina. 010101

    movlw = 010 0010 0100

  • 7/23/2019 Remember Dig2

    13/30

    Operandos

    Datos o argumentos con los que opera las

    instrucciones.

    Registros

    movf PORTA,W ; mueve port A al Acum

    Numeros

    movlw d30 ; mueve un numero al Acum

    Direcciones

    goto inicio ; direccion de inicio

  • 7/23/2019 Remember Dig2

    14/30

    Numeros, literales o constates

  • 7/23/2019 Remember Dig2

    15/30

    Conjunto de instrucciones

    Se describen a detalle en su Datashet del uC

  • 7/23/2019 Remember Dig2

    16/30

    Modos de direccionamiento

    Direccionamiento implicito

    Direccionamiento inmediato

    Direccionamiento directo Direccionamiento indirecto

    Direccionamiento relativo

    Direccionamiento extendido

  • 7/23/2019 Remember Dig2

    17/30

    Direccionamiento implicito

    Ejemplo:

    No requiere de operandos

    NOP

  • 7/23/2019 Remember Dig2

    18/30

    inmediato

    Incluido en la misma instruccion.

    Movlw 3D

  • 7/23/2019 Remember Dig2

    19/30

    Directo

    El dato es transferido hacia, desde un posicion

    de memoria particular.

    movwf 0x20

    Transfiere el valor de w a la posicion 0X20

  • 7/23/2019 Remember Dig2

    20/30

    Indirecto

    Direccion de una posicion de memoria se

    obtiene mediante doble referencia.

    Cargar el valor de w , usando como base la

    direccion 3000.

  • 7/23/2019 Remember Dig2

    21/30

    Extendido

    Permite acceder a todo el espacio de

    memoria, la direccion puede tener 2 o 3 bytes

    Direccion 301A.

  • 7/23/2019 Remember Dig2

    22/30

    Instrucciones de tranferencia o

    direccionamiento

    movf f,d ; mueve f

    movwf f ; mueve w a f indirecto movlw k ; mueve una cte k a w inmediato

  • 7/23/2019 Remember Dig2

    23/30

    HERRAMIENTAS DE DESARROLLO

    MPLAB

  • 7/23/2019 Remember Dig2

    24/30

    GUIA-MPLAB

    New project

    Michochip EmbedddedStandalone project

    Seleccion de device PICXXX

    Seleccion Harwdware toolsimulacion Simulator

    Seleccion de Compiler mpasm

    Project Name [ruta] no elegir main project

    Add asm / click derecho set main project

    (negrilla)

  • 7/23/2019 Remember Dig2

    25/30

    RUTA DE LOS P16XXX.INC

    C:\Program Files (x86)\Microchip\MPASM

    SUITE\

    O

    C:\Program Files

    (x86)\Microchip\MPLABX\mpasmx

  • 7/23/2019 Remember Dig2

    26/30

    Estructura de un program

    ; directivasList p=xxxxxxx ; indica tipo de microcontro

    Include ; definciones del micro

    _config xxxx ; registro de configuracion (WINDOWS/PICMEMORY)

    ;Configuracion de VariablesOrg 00 ;origen del program o reset

    Status, rp0 ; seleccion del banco

    TRISTA ; config del port A

    Program principal Clrf PORTA

    BSF STATUS,RP

    END

    [email protected].

  • 7/23/2019 Remember Dig2

    27/30

    Actividad semana 14

    Resumir y describir todas las instrucciones

    basadas en el PIC PIC16F84A

    Implementar los 3 primeros Laboratorios de

    la gua

  • 7/23/2019 Remember Dig2

    28/30

    Practicas para Laboratorio semana 15

    Mostrar el control de 2 display que muestre lacuenta de 00 a 99 (variante agregar un displaymas).

    Controlar un motore dc, a traves de 2 pulsadoresuno para iniciar y otro para detener. (varianteusar infrarrojos) .

    Generar con un pulsador a travez de un puerto elsonido con una frecuencia de 450Hz. (variante

    agregar otro buzzer) Mostrar en una pantalla LCD el mensaje hola

    mundo (variante otro mensaje)

  • 7/23/2019 Remember Dig2

    29/30

    Trabajo complementario para

    reemplazar nota mas baja o

    actividad pendiente

    Para ser

  • 7/23/2019 Remember Dig2

    30/30

    Mostrar la comunicacion entre la pc y un

    microcontrolador (variante control de leds.)

    Controlar la velocidad de un motor DC a

    traves de dos pulsadores.

    Mostrar la funcionalidad de un programa

    usando los TMR0 del PIC.