presentacion 8051 parte i

Upload: juanma-becerra

Post on 03-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Presentacion 8051 Parte I

    1/86

    Herramientas paradesarrollos sobre

    plataformas MCS-51

    KEIL VISION 2

    Parte 1

    Ing. Gustavo Alessandrini

  • 7/28/2019 Presentacion 8051 Parte I

    2/86

    Temario

    Arquitectura MCS-51

    Macro Assembler

    IDE para MCS-51 Edicin

    Debugger

    Ejemplos

  • 7/28/2019 Presentacion 8051 Parte I

    3/86

    Familia 8051 - Hardware

    Unidad aritmtico-lgica de 8 bits

    32 pins de E/S (4 grupos de 8) que puedenser accedidos individualmente

    2 contadores/temporizadores de 8 bits

    Full duplex UART

    6 fuentes de interrupciones con dos

    niveles de prioridad Espacios separados de memoria de cdigo

    y datos (64 kB c/u)

  • 7/28/2019 Presentacion 8051 Parte I

    4/86

    Organizacin de la memoria

    CODE XDATADATA IDATA

    SFR

    0000h

    FFFFh

    80h

    FFh

    0000h

    FFFFh

    FFh

    80h

    00h

    7Fh2Fh

    1Fh

    7Fh

    00h

  • 7/28/2019 Presentacion 8051 Parte I

    5/86

    Modos de direccionamiento

    Los modos de direccionamiento de unmicro- computador son las diferentesformas de transformacin del campo de

    operando de la instruccin en la direccin(localizacin) del operando

    Se utilizan tcnicas de direccionamiento conlos siguientes fines

    Dar versatilidad de programacin al usuarioproporcionando facilidades tales como ndices,direccionamientos indirectos, etc.

    Reducir el nmero de bits del campo de

    operando

  • 7/28/2019 Presentacion 8051 Parte I

    6/86

    Modos de direccionamiento

    La disponibilidad de diferentes esquemas de

    direccionamiento le da al programador

    experimentado flexibilidad para escribir

    programas que son ms eficientes en cuanto a

    nmero de instrucciones y tiempo de ejecucin

    Es tal la importancia de los modos de

    direccionamiento, que la potencia de unamquina se mide tanto por su repertorio de

    instrucciones como por la variedad de modos

    de direccionamiento que es capaz de admitir

  • 7/28/2019 Presentacion 8051 Parte I

    7/86

    Modos de direccionamiento

    La especificacin del modo dedireccionamiento puede ir en el cdigo deoperacin o en el campo de cada operando

    Modos de direccionamiento del 8051

    Directo

    Indirecto

    Por registro Implcito

    Inmediato

    Indexado

  • 7/28/2019 Presentacion 8051 Parte I

    8/86

    Modos de direccionamiento

    Direccionamiento directo

    ADD A,4Ch A (A)+(4C)

    Direccionamiento indirectoMOV A,@R0 A ((R0))

    MOVX A,@DPTR A ((DPTR))

    Direccionamiento por registroMOV Rn,A Rn (A)

    MOV Rn,#FFh Rn FF

  • 7/28/2019 Presentacion 8051 Parte I

    9/86

    Modos de direccionamiento

    Direccionamiento implcito

    INC A A (A)+1

    Direccionamiento inmediatoMOV A,#3Dh A 3D

    Direccionamiento indexado

    MOVC A,@A+DPTR A ((A)+(DPTR))

  • 7/28/2019 Presentacion 8051 Parte I

    10/86

    Modos de direccionamiento

    DATA and IDATA accesoMOV R1, #22H ;set R1 to point at DATA address 22H

    MOV R0, #0A9H ;set R0 to point at IDATA address A9H

    MOV A, @R1 ;read the value at DATA address 22H

    ;into the accumulator

    MOV @R0, A ;write the value in the accumulator;to IDATA address A9H

    INC R0 ;set R0 to point at IDATA address AAH

    INC R1 ;set R1 to point at DATA address 23H

    MOV 34H, @R0 ;write the value at IDATA address AAH;to DATA address 34H

    MOV @R1, #67H ;write 67H to DATA address 23H

  • 7/28/2019 Presentacion 8051 Parte I

    11/86

    Modos de direccionamiento

    XDATA accesoMOV DPTR, #3048H ;set DPTR to point at XDATA address

    ;3048H

    MOVX A, @DPTR ;read the data at XDATA address 3048H;into the accumulator

    INC DPTR ;set DPTR to point at XDATA address;3049H

    MOV A, #26H ;set the accumulator to 26H

    MOVX @DPTR, A ;write 26H to XDATA address 3049H

    MOV R0, #87H ;set R0 to point at XDATA address 87H

    MOVX A, @R0 ;read the data at XDATA address 87H;into the accumulator

  • 7/28/2019 Presentacion 8051 Parte I

    12/86

    Modos de direccionamiento

    CODE accesoMOV DPTR, #TABLE_BASE ;set DPTR to point at the

    ;base of a lookup table

    MOV A, index ;load the accumulator with an

    ;index into the table

    MOVC A, @A+DPTR ;read the value from the

    ;table into the accumulator

  • 7/28/2019 Presentacion 8051 Parte I

    13/86

    Sistema de interrupciones

    El 8051 bsico tiene 6 fuentes de

    interrupciones

    2 fuentes externas (INT0, INT1)

    2 fuentes internas timer/counter

    2 fuentes internas provenientes de la lnea

    serie (recepcin y transmisin)

  • 7/28/2019 Presentacion 8051 Parte I

    14/86

    Vector de interrupciones

    Fuente Direccin de salto

    Reset 0000h

    External 0 0003h

    Timer 0 000bh

    External 1 0013h

    Timer 1 001bh

    Serial RX/TX 0023h

    Timer 2 (8052) 002bh

    P i i

  • 7/28/2019 Presentacion 8051 Parte I

    15/86

    Priori a e asinterrupciones

    El 8051 soporta dos niveles de prioridad paraatender las interrupciones: alta y baja

    Un servicio de atencin de una interrupcinde baja prioridad solo puede ser interrumpidopor una interrupcin de alta prioridad

    Un servicio de atencin de una interrupcin

    de alta prioridad no puede ser interrumpido

  • 7/28/2019 Presentacion 8051 Parte I

    16/86

    Prioridad de las interrupciones

    A cada fuente de interrupcin se le puedeindividualmente asignar alta o baja prioridadde acuerdo a como se programe el bit

    asociado en el registro IP (interrupt priority)

    - - PT2 PS PT1 PX1 PT0 PX0

    (IP) Interrupt priority register. Bit addressable B8h

    1: alta prioridad

    0: baja prioridad

  • 7/28/2019 Presentacion 8051 Parte I

    17/86

    Habilitacin de interrupciones

    Todas las interrupciones pueden ser habilitadas

    o bloqueadas en forma general

    Cada fuente de interrupcin puedeindividualmente habilitarse o bloquearse

    EA - ET2 ES ET1 EX1 ET0 EX0

    (IE) Interrupt enable register. Bit addressable B8h

    1: fuente de interrupcin habilitada

    0: fuente de interrupcin deshabilitada

  • 7/28/2019 Presentacion 8051 Parte I

    18/86

    Temporizadores y contadores

    El 8051 bsico tiene 2 registros utilizables

    como temporizadores / contadores

    8, 13 16 bits de cuenta Pueden utilizarse

    Como temporizador

    fc = 1/12 fosc

    Como contador de eventos externos

    fmximade evento = 1/24 fosc

  • 7/28/2019 Presentacion 8051 Parte I

    19/86

    Temporizador/contador

    Modo 13 16 bits sin auto recarga

  • 7/28/2019 Presentacion 8051 Parte I

    20/86

    Temporizador/contador

    Modo 8 bits con auto recarga

  • 7/28/2019 Presentacion 8051 Parte I

    21/86

    UART

    Full duplex UART, bajo control del software

    8 9 bits de palabra de datos

    Velocidad de comunicacin programable

    Unidad Asincrnica de Recepcin Transmisin serie

  • 7/28/2019 Presentacion 8051 Parte I

    22/86

    Tipos de memoria

    CODE

    Reservado para el programa

    64 kBytes DATA

    Memoria interna para datos, direccionable enforma directa

    128 Bytes

    Rpido acceso

  • 7/28/2019 Presentacion 8051 Parte I

    23/86

    IDATA

    Memoria interna para datos, direccionable enforma indirecta

    128 Bytes (8051), 256 Bytes (8052)

    BDATA

    Memoria interna para datos, direccionable de

    a bit (128 bits)

    Uso con direccionamiento directo 16 Bytes

    Tipos de memoria

  • 7/28/2019 Presentacion 8051 Parte I

    24/86

    Tipos de memoria

    XDATA

    Memoria externa para datos

    64 kBytes PDATA

    Memoria externa paginada para datos

    256 Bytes

  • 7/28/2019 Presentacion 8051 Parte I

    25/86

    Programacin del 8051

    Macro Assembler Ax51

  • 7/28/2019 Presentacion 8051 Parte I

    26/86

    Programacin del 8051

    Assembly Statements: Un programa escrito en

    assemblyest formado por un conjunto de

    declaraciones (statements), las cuales pueden

    ser de 3 tipos

    Directivas

    Control

    Instrucciones (mnemnicos)

  • 7/28/2019 Presentacion 8051 Parte I

    27/86

    Programacin del 8051

    Las declaraciones deben estar contenidas enuna nica lnea de cdigo

    Cada lnea de un programa puede contener unanica declaracin de control, directiva oinstruccin

    No son column sensitiveesto significa que

    pueden indentarse Todos los programas deben finalizar con la

    directiva END para indicar al ensamblador queall finaliza el programa

  • 7/28/2019 Presentacion 8051 Parte I

    28/86

    Programacin del 8051

    Directivas

    Proporcionan al programador un medio para

    indicar al ensamblador como procesar lasinstrucciones

    Permiten definir constantes y reservar espacio

    para variables Las directivas no deben ser confundidas con

    instrucciones

  • 7/28/2019 Presentacion 8051 Parte I

    29/86

    Programacin del 8051

    Las directivas se dividen en categoras Control de segmento

    Definicin de smbolos

    Inicializacin de memoria Reserva de memoria

    Declaracin de procedimientos

    Enlace de programa

    Control de direcciones

    Otras

  • 7/28/2019 Presentacion 8051 Parte I

    30/86

    Programacin del 8051

  • 7/28/2019 Presentacion 8051 Parte I

    31/86

    Declaraciones de control

    Controlan las operaciones que realiza el

    ensamblador cuando genera un archivo de

    listado o un archivo de cdigo objeto.

    Las declaraciones condicionales indicarn al

    ensamblador qu cdigo es ensamblado, bajo

    ciertas condiciones Deben comenzar con el caracter $ ej:

    $INCLUDE (reg51.inc)

    Programacin del 8051

  • 7/28/2019 Presentacion 8051 Parte I

    32/86

    Instrucciones

    Son las rdenes especficas que generarn

    cdigo de programa cuando sean ensambladas

    por el ensamblador

    En general tienen el siguiente formato

    Programacin del 8051

    [etiqueta:] mnemnico [operando] [,operando] [,operando] [;comentario]

  • 7/28/2019 Presentacion 8051 Parte I

    33/86

    Comentarios

    Son lneas de texto que pueden (deben) ser

    includas en el programa para identificar y

    explicar las partes del mismo

    Pueden ubicarse en cualquier lugar

    Deben ir precedidos del caracter ;

    Los comentarios no tienen impacto sobre la

    generacin del cdigo objeto

    Programacin del 8051

    P i d l 80 1

  • 7/28/2019 Presentacion 8051 Parte I

    34/86

    Smbolos

    Un smbolo es un nombre que define elprogramador para representar una constante,

    variable, direccin, etc. Los nombres se componen de caracteres

    permitidos (hasta 31) { A-Z, a-z, 0-9, _, ? }

    Deben comenzar con cualquiera de loscaracteres anteriores, excepto los dgitos

    Assembly no es case sensitive

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    35/86

    Etiquetas (labels)

    Una etiqueta es un smbolo que se utiliza para definir

    un lugar en el programa

    Las reglas aplicadas a nombres de smbolos tambin se

    aplican para etiquetas

    Una etiqueta debe ser el primer texto en una lnea

    Debe estar seguida del caracter : Puede estar precedida por tabulaciones o espacios

    Se puede definir una nica etiqueta por lnea

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    36/86

    Operandos, expresiones y operadores

    Un operando es una constante numrica, smbolo,expresin o cadena de caracteres que dependen

    de la directiva o instruccin donde se utilice Una expresin es una combinacin de, nmeros,

    smbolos y operadores, que se evaluan paraobtener un nmero como resultado

    Las expresiones son evaluadas en tiempo deensamblado

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    37/86

    Operandos, expresiones y operadores (cont)

    Los operadores se utilizan para combinar

    operandos dentro de un programa, no son

    instrucciones de programa, ni generan cdigo

    Los operadores representan operaciones que son

    evaluadas en tiempo de ensamblado

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    38/86

    Macros (Standard Assemblers Macros)

    Una macro es un nombre que permite colocar

    en un programa un conjunto de declaraciones

    (instrucciones, directivas), que sern

    ensambladas en aquellos lugares del programa

    donde dicho nombre fue invocado

    No debe ser confundida con una subrutina

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    39/86

    Cundo utilizar subrutinas o macros?

    Subrutinas son ms usadas cuando un procedi-miento

    se usa frecuentemente o si la cantidad de memoria

    utilizada debe mantenerse al mnimo

    Macros deberan utilizarse cuando se necesita

    mxima velocidad de procesador y/o cuando no

    importa la cantidad de memoria usada Macros son ms adecuadas cuando se utilizan bloques

    de cdigo pequeos en forma repetitiva, para la

    creacin de tablas de conversin, etc.

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    40/86

    Directivas para macros: Se utilizan espec-ficamente en la definicin de la macro

    Programacin del 8051

    ENDM Finaliza la definicin de la macro

    EXITM Termina la expansin de la macro

    IRPEspecifica una lista de argumentos que son sustituidos por

    parmetros especificados en las siguientes lneas

    IRPCEspecifica un argumento que es sustitudo, un caracter a la

    vez, por un parmtero especfico en la lnea siguiente

    LOCAL Indica un smbolo local usado dentro de la macro

    MACROIndica un comienzo de definicin de macro, su nombre, y

    lista de argumentos pasados a la macro

    REPTIndica la repeticin de las lineas siguientes de la macro

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    41/86

    Definicin de una macro La macro debe estar definida antes de ser

    utilizada

    Debe comenzar con la directiva MACRO, la cualdeclara el nombre con que ser invocada y los

    parmetros que recibe

    Debe finalizar con la directiva ENDM El texto entre MACRO y ENDM se denomina

    cuerpo de la macro

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    42/86

    Definicin de una macro (ejemplos)

    WAIT MACRO X ; macro definition

    REPT X ; generate X NOP instructions

    NOP

    ENDM ; end REPT

    ENDM ; end MACRO

    WAIT2 MACRO X ; macro definition

    IF NUL X ; make sure X has a value

    EXITM ; if not then exitENDIF

    REPT X ; generate X NOP instructions

    NOP

    ENDM ; end REPT

    ENDM ; end MACRO

    Programacin del 8051

    nombre

    cuerpo

    parmetro

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    43/86

    Parmetros de una macro Pueden pasarse hasta 16 parmetros en su

    lnea de invocacin

    Deben estar separados por comas, tanto en ladefinicin como en la invocacin de la macro

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    44/86

    Parmetros de una macro (ejemplo)

    CLRMEM MACRO ADDR, LEN

    LOCAL LOOP ; etiqueta localMOV R7, #LEN

    MOV R0, #ADDR

    MOV A, #0

    LOOP: MOV @R0, A

    INC R0

    DJNZ R7, LOOP

    ENDM

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    45/86

    Repeticiones de bloques en una macro

    REPT, IRP e IRPC son directivas de macros

    para repetir bloques de texto en el cuerpo de

    una macro

    Cada una de estas directivas debe finalizar

    con su propia directiva de finalizacin ENDM

    Programacin del 8051

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    46/86

    REPT repite un bloque de texto un nmeron de veces

    Programacin del 8051

    DELAY MACRO ; macro definition

    REPT 5 ; insert 5 NOPinstructions

    NOP

    ENDM ; end REPT block

    ENDM ;end macro definition

    NOP

    NOP

    NOP

    NOP

    NOP

    P i d l 8051

  • 7/28/2019 Presentacion 8051 Parte I

    47/86

    IRP repite un bloque de texto, uno porcada argumento

    Programacin del 8051

    CLRREG MACRO ; macro definition

    IRP RNUM,

    MOV RNUM, #00h

    ENDM ; end IRP

    ENDM ; end macro definition

    MOV R0, #00h

    MOV R1, #00h

    MOV R2, #00h

    MOV R3, #00h

    MOV R4, #00h

    MOV R5, #00h

    MOV R6, #00h

    MOV R7, #00h

    Programacin del 8051

  • 7/28/2019 Presentacion 8051 Parte I

    48/86

    IRPC repite un bloque de texto, uno por cadacaracter en el argumento dado

    Programacin del 8051

    ERROUT MACRO ; macro definition

    IRPC CHR,

    jnb TI, $

    clr TI

    mov a, # CHR

    mov SBUF, A

    ENDM ; end IRPC

    ENDM ; end macro definition

    jnb TI, $

    clr TImov A, # E

    mov SBUF, A

    jnb TI, $

    clr TI

    mov A, # rmov SBUF, A

    jnb TI, $

    clr TI

    mov A, # r

    mov SBUF, A

    Programacin del 8051

  • 7/28/2019 Presentacion 8051 Parte I

    49/86

    Llamado (invocacin) de una macro

    Una vez que la macro fue definida, puede ser

    llamada varias veces desde distintos puntos

    del programa

    El llamado consiste del nombre de la macro

    seguido por los parmetros que puede recibir

    Programacin del 8051

    Programacin del 8051

  • 7/28/2019 Presentacion 8051 Parte I

    50/86

    Llamado (invocacin) de una macro

    Programacin del 8051

    DELAY MACRO n ; macro definition

    REPT n ; insert n NOP

    instructionsNOP

    ENDM ; end REPT block

    ENDM ; end macro definition. . .

    mov P0, #0 ; clear port 0

    DELAY 10 ; wait 10 NOPs

    mov P0, # 0ffh ; set P0

    DELAY 20 ; wait 20 NOPs

    . . .

    Definicin

    Llamado

    Llamado

    P d d ll SW

  • 7/28/2019 Presentacion 8051 Parte I

    51/86

    Proceso de desarrollo SW

    .asm

    A51

    L51LIB51

    OH51 V2

    .obj.obj.obj .lib

    .lst

    .bin.lib

    .hex

    .map

    In Circuit

    Emulator

    Programador EpromKit evaluacin

    H i t d d ll SW

  • 7/28/2019 Presentacion 8051 Parte I

    52/86

    Herramientas de desarrollo SW

    Vision/51

    Compilador C51 Macro assembler A51

    Biblioteca C LIB51 RTX51

    Linker BL51

    dScope-51 Kit desarrollo

    DE-EB51

    Programador

    EPROM

    VISION 2

    d d ll

  • 7/28/2019 Presentacion 8051 Parte I

    53/86

    Herramientas de desarrollo SW

    Ejecutable

    Carga desde PC (.HEX)

    Ejecucin

    Depuracin

    Correccin F i n !Fin

    depuracin?

    llave en modo : LOAD

    llave en modo : RUN

    Vi i 2 IDE

  • 7/28/2019 Presentacion 8051 Parte I

    54/86

    Vision2 IDE

    Manejo de proyectos

    Facilidades para la creacin de programas

    ejecutables Edicin de cdigo fuente

    Depuracin (debugging) de programas

    Simulacin en el mismo ambiente dedesarrollo

    Vi i 2 IDE

  • 7/28/2019 Presentacion 8051 Parte I

    55/86

    Vision2 IDE

    Vision2 permite trabajar ms rpido a

    travs de una plataforma fcil de usar

    El editor y el depurador estn integradosen una misma aplicacin suministrando

    un ambiente de desarrollo nico para todo

    el proyecto

    Vi i 2 IDE

  • 7/28/2019 Presentacion 8051 Parte I

    56/86

    Vision2 IDE

    Source codeeditor

    window

    Output window

    Projectwindow

    P j t t

  • 7/28/2019 Presentacion 8051 Parte I

    57/86

    Project management

    Un proyecto es unconjunto de archivos

    con cdigo que son

    compilados/ensam-blados y enlazados

    (linkeados) para

    obtener un nicocdigo de programa

    ejecutableProject

    window

    P j t t

  • 7/28/2019 Presentacion 8051 Parte I

    58/86

    Project management

    Creacin de un nuevo proyecto: 1. Seleccionar New Project desde Project menu para abrir

    una New Project dialog box

    2. Ingresar el nombre del proyecto en la Project Name box

    3. Seleccionar la carpeta para guardar el proyecto(Sugerencia: utilizar una carpeta para cada proyecto)

    4. Click OK

    5. Luego de oprimido OK (o guardar) aparece la opcin

    para seleccionar un dispositivo para el objetivo (target) quese est creando, aqui debe escogerse de la lista elindicado para el proyecto en cuestin (Sugerencia: utilizarATMEL 89C52 que es el utilizado en los kits de desarrollo)

    6. Click OK

    N P j t

  • 7/28/2019 Presentacion 8051 Parte I

    59/86

    New Project

    P j t t

  • 7/28/2019 Presentacion 8051 Parte I

    60/86

    Project management

    Agregado de archivos al proyecto: En el target creado, se deben agregar el/los archivo/s que

    formarn parte del proyecto, esto implica dos operaciones:

    Abrir un nuevo archivo

    En la entrada de men file oprimirNew, esto abrir unespacio en blanco en la ventana de edicin de cdigo

    Guardar el archivo creado con nombre y extensin (a51asm), con la opcin Save As

    Agregar el archivo creado al proyecto En la ventana de proyecto, haciendo click con el botn

    derecho sobre la carpeta Source Group 1, seleccionarla opcin Add file to group

    Seleccionar el archivo creado de la lista y oprimirAdd

    A d d hi

  • 7/28/2019 Presentacion 8051 Parte I

    61/86

    Agregado de archivos

    A d d hi

  • 7/28/2019 Presentacion 8051 Parte I

    62/86

    Agregado de archivos

    O i l t

  • 7/28/2019 Presentacion 8051 Parte I

    63/86

    Opciones para el proyecto

    El cuadro de dilogo Options for target se abre

    oprimiendo el botn en la barra de herramientas

    o click del botn derecho sobre la carpeta Target 1

    en la ventana de proyecto Sugerencia: No modificar las opciones establecidas

    por defecto, excepto la frecuencia de cristal, y en

    las opciones de salida seleccionar la opcin CreateHex File, para que genere el archivo .hex que se

    utilizar en el kit de desarrollo

    Editor

  • 7/28/2019 Presentacion 8051 Parte I

    64/86

    Editor

    Editor toolbar

    Build toolbar

  • 7/28/2019 Presentacion 8051 Parte I

    65/86

    Build toolbar

    Build toolbar

    Build project

  • 7/28/2019 Presentacion 8051 Parte I

    66/86

    Build project

    Construir el proyecto significa realizar lospasos necesarios para obtener el programa

    ejecutable

    Cada proceso involucrado (ensamblado,

    enlazado, creacin del .hex) generar un

    reporte de salida visible en la output window

    Build project

  • 7/28/2019 Presentacion 8051 Parte I

    67/86

    Build project

    Debugger window

  • 7/28/2019 Presentacion 8051 Parte I

    68/86

    Debugger window

    Debugger

  • 7/28/2019 Presentacion 8051 Parte I

    69/86

    Debugger

    Debugger toolbar

    Debugger

  • 7/28/2019 Presentacion 8051 Parte I

    70/86

    Debugger

    Distintas opciones para ejecutar un programa

    Ejecucin normal (run)

    Paso a paso

    Por funcin (o subrutina completa)

    Hasta terminar la funcin (o subrutina)

    Hasta la posicin del cursor

    Debugger

  • 7/28/2019 Presentacion 8051 Parte I

    71/86

    Debugger

    Distintas opciones para detener la ejecucin

    de un programa

    Detencin normal (halt execution)

    Breakpoints

    Se pueden colocar/retirar breakpoints

    durante la edicin del cdigo, los cuales

    sern activados en la sesin de debugger

    Debugger

  • 7/28/2019 Presentacion 8051 Parte I

    72/86

    Debugger

    Atributos: Muestran sobre la primer columnade la ventana de cdigo el estado de

    ejecucin del programa, breakpoints, etc.

    Debugger

  • 7/28/2019 Presentacion 8051 Parte I

    73/86

    Debugger

    Watch window: Muestra el valor actual devariables y permite el cambio de los mismos

    Memory window: Permite observar el estado

    de 2 reas de memoria y cambiar sucontenido

    Watch

    window

    Memory

    window

    Debugger

  • 7/28/2019 Presentacion 8051 Parte I

    74/86

    Debugger

    Simulacin de perifricos, interrupciones,registros y puertos (pins) de entrada/salida

    Simulacin de registros

  • 7/28/2019 Presentacion 8051 Parte I

    75/86

    Simulacin de registros

    Permite observar y/omodificar el estado deregistros internos del

    micro-controlador Indica la cantidad de

    ciclos de instruccin y eltiempo (en segundos de

    acuerdo con el cristalseleccionado) quetranscurrieron desde elcomienzo de la ejecucin

    Simulacin E/S

  • 7/28/2019 Presentacion 8051 Parte I

    76/86

    Simulacin E/S

    Permite colocar enestado alto/bajo

    cualquiera de los

    pins del dispositivoseleccionado

    Indica el estado

    cuando el programaacta sobre un

    determinado puerto

    o pin

    Simulacin timers/counters

  • 7/28/2019 Presentacion 8051 Parte I

    77/86

    Simulacin timers/counters

    Permite modificar elestado de cuenta,

    modo de trabajo, etc.

    del dispositivoseleccionado

    Indica estado del

    temporizador(contador) cuando el

    programa lo modifica

    Simulacin interrupciones

  • 7/28/2019 Presentacion 8051 Parte I

    78/86

    Simulacin interrupciones

    Permite modificar elestado del sistema de

    interrupciones

    Indica estado delsistema cuando el

    programa lo modifica

    Activacin o desactiva-cin de pedidos exter-

    nos, pueden hacerse

    por los respectivos pins

    Simulacin UART

  • 7/28/2019 Presentacion 8051 Parte I

    79/86

    Simulacin UART

    Permite modificar elestado de los registros

    asociados a la UART

    Indica estado de la UARTcuando se produce una

    recepcin/transmisin

    Serial window

  • 7/28/2019 Presentacion 8051 Parte I

    80/86

    Serial window

    Permite la emulacin de una terminal parala UART

    Modos de edicin ASCII o HEX pueden

    ser configurados por un men local

    Disassembly window

  • 7/28/2019 Presentacion 8051 Parte I

    81/86

    Disassembly window

    Permite observar en una misma ventanael cdigo fuente y el cdigo objeto del

    programa que est siendo depurado

    Muy til cuando se programa en lenguajeC y se quiere observar el cdigo que

    gener el compilador para una

    determinada funcin o bloque

    Disassembly window

  • 7/28/2019 Presentacion 8051 Parte I

    82/86

    Disassembly window

    Code coverage

  • 7/28/2019 Presentacion 8051 Parte I

    83/86

    Code coverage

    Muestra el porcentaje de las instruccionesdel programa que han sido ejecutadas

    Permite detectar facilmente partes delcdigo que no han sido ejecutadas

    Perfomance analyzer

  • 7/28/2019 Presentacion 8051 Parte I

    84/86

    Perfomance analyzer

    Guarda y muestra el tiempo de ejecucinde funciones o bloques del programa

    Utilizable para analizar donde el programaconsume ms tiempo de ejecucin

    Debugger

  • 7/28/2019 Presentacion 8051 Parte I

    85/86

    Debugger

    IMPORTANTE: Para unavisualizacin correcta de

    la ejecucin del programa,

    se debe activar la opcinPeriodic Window Update

    en la entrada de men

    View

    Bibliografa recomendada

  • 7/28/2019 Presentacion 8051 Parte I

    86/86

    Bibliografa recomendada

    uv2_v2.pdfKeilVision2 IDE an DebuggerQuick Start

    Gs51.pdfGetting Started and Creating

    Applications. Keil software A51.pdfMacro Assembler and Utilities. Keil

    software

    Finalwd.pdfThe final word on 8051. Keilsoftware

    01502a01.pdfAP-69 An Introduction to the IntelMCS 51 Single Chip microcomputer family