Parcial Ensamblador

download Parcial Ensamblador

of 61

description

p

Transcript of Parcial Ensamblador

  • UNIVERSIDAD NACIONAL DEL CALLAO

    FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS

    EXAMEN PARCIAL

    Docente:

    MG.CASAZOLA CRUZ O. DANIEL

    Grupo de Lenguaje ensamblador:

    Acosta Mieles, Edward Yohn

    Contreras Centeno, Nelson Luis

    Garay Alburqueque, Jair Edson

    Ramos Ramos, Alex Vctor

    Mendoza Rosado, Irvin Fernando

    2015

  • PROBLEMA 1

    OBJETIVO

    1. Proponer un circuito que tenga el puerto b como salida conectando 8 leds, realizando un programa que me encienda los bits 0, 1, 3, 5, 7.

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier

    procesador de texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con

    el Proyecto Wizard es la que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    Cdigo .asm

    LIST P=16F84A ;comando que indica el pic usado.

    RADIX HEX ;los valores en hexadecimal

  • STATUS EQU 0x03 ;direcciona al registro de STATUS

    PTOB EQU 0x06 ;direcciona al puerto B

    ORG 0x00

    BSF STATUS,5 ;seleccionar el banco 1

    MOVLW 0x00 ;carga w con el valor 00h

    MOVWF PTOB ;para habilitar el puerto B como salida

    BCF STATUS,5 ;seleccionar el banco 0

    CLRF PTOB ;limpia el puerto B

    CICLO MOVLW 0xAB ;cargamos registro w con el numero ABh

    MOVWF PTOB ;enviamos el registro w al puerto B

    GOTO CICLO ;ir a ciclo END ;fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de

    problema1_led.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y

    cargar el archivo problema1_led.asm.

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es

    exitosa deber aparecer el archivo .asm con una flecha verde que seala la primera

    instruccin a ejecutarse. En caso de errores de compilacin habr que corregirlos antes de

    continuar. Haciendo doble click en el error lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

  • 7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el

    ejecutable que se usa para programar el PIC se necesita un quemador y un software por

    ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS.

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en

    donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con

    button, cap de 22pF, crystal, res de 10k y 100R y led, para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre problema1_led.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos del

    espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace con el

    icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL del

    mismo margen. El resultado se observa en la siguiente grfica:

    7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre seleccione en

    la lnea de Program File el icono de la carpeta y aparecer un directorio de bsqueda que

    tenemos que hacerlo apuntar al archivo problema1_led.hex que se form como resultado de la

    compilacin y que debe de estar en su carpeta de trabajo. Luego presione ok y est listo para la

    simulacin.

  • 8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin.

    Observe que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el

    valor de prendido o apagado de los LEDS.

    PROBLEMA 2

    OBJETIVO

    2.-Realice un programa que permita guardar el dato 3F en la direccin de memoria datos

    0Eh y el dato F3 en la direccin de memoria 0Fh, luego realice un intercambio entre 0Eh y

    0Fh.

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier

    procesador de texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con

    el Proyecto Wizard es la que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    LIST P=16F84A ;comando que indica el pic usado.

    RADIX HEX ;los valores de hexadecimal

    STATUS EQU 0X03 ;direcciona al registro de STATUS

    AUX EQU 0X0D ;direccion de memoria 0DH

    DIR1 EQU 0X0E ;direccion de memoria 0EH

    DIR2 EQU 0X0F ;direccion de memoria 0FH

    ORG 0X00

    CLRF DIR1 ;limpia la direccion 0EH

    CLRF DIR2 ;limpia la direccion 0FH

    CLRF AUX ;limpia la direccion 0DH

    MOVLW 0X3f ;cargar el reg w con el num 3Fh

    MOVWF DIR1 ;almacenar el reg w en la dir 0Eh

  • MOVWF AUX ;almacenar reg w en aux 0Dh

    MOVLW 0XF3 ;cargar reg w con el numero F3h

    MOVWF DIR2 ;almacenar el reg w en la dir 0Fh

    MOVWF DIR1 ;almacenar el reg w en la dir 0Eh

    MOVFW AUX ;cargar reg w con dato de dir 0Dh

    MOVWF DIR2 ;almacenar reg w en la dir 0Fh

    END ;fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de

    problema2_led.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y

    cargar el archivo problema2_led.asm.

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es

    exitosa deber aparecer el archivo .asm con una flecha verde que seala la primera

    instruccin a ejecutarse. En caso de errores de compilacin habr que corregirlos antes de

    continuar. Haciendo doble click en el error lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

  • 7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el

    ejecutable que se usa para programar el PIC se necesita un quemador y un software por

    ejemplo Pickit 2.

    PROBLEMA 3

    OBJETIVO

    3. Del ejercicio anterior, sabiendo los datos existentes en las localidades de memoria 0Eh y 0Fh, modifique el programa que transfiera el dato de las localidades de memoria 0Eh al puerto B.

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier

    procesador de texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con

    el Proyecto Wizard es la que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    LIST P=16F84A ;comando que indica el pic usado.

    OSC1/CLKIN16

    RB0/INT6

    RB17

    RB28

    RB39

    RB410

    RB511

    RB612

    RB713

    RA017

    RA118

    RA21

    RA32

    RA4/T0CKI3

    OSC2/CLKOUT15

    MCLR4

    U1

    PIC16F84A

    D1LED-BLUE

    D2LED-BLUE

    D3LED-BLUE

    D4LED-BLUE

    D5LED-BLUE

    D6LED-BLUE

    D7LED-BLUE

    D8LED-BLUE

    R1100R

    R2

    10k

    C1

    27p

    C2

    27p

    12

    X1CRYSTAL

  • RADIX HEX ;los valores en hexadecimal

    STATUS EQU 0x03 ;direciona al registro de STATUS

    PTOB EQU 0x06 ;direcciona al puerto B

    AUX EQU 0x0D ; direccion de mamoria 0DH

    DIR1 EQU 0x0E ;direccion de mamoria 0EH

    DIR2 EQU 0x0F ;direccion de mamoria 0FH

    ORG 0x00

    BSF STATUS,5 ;seleccionar el banco 1

    MOVLW 0x00 ;carga w con el valor 00h

    MOVWF PTOB ;para habilitar el puerto B salida

    BCF STATUS,5 ;seleccionar el banco 0

    ORG 0x00

    CLRF DIR1 ;limpia la direccion 0EH

    CLRF DIR2 ;limpia la direccion 0FH

    CLRF AUX ;limpia la direccion 0DH

    MOVLW 0X3f ;cargar el reg w con el num 3Fh

    MOVWF DIR1 ;almacenar el reg w en la dir 0Eh

    MOVWF AUX ;almacenar el reg w en aux 0Dh

    MOVLW 0xF3 ;cargar reg w con el numero F3h

    MOVWF DIR2 ;almacenar el reg w en la dir 0Fh

    MOVWF DIR1 ;almacenar el reg w en la dir 0Eh

    MOVFW AUX ;cargar reg w con dato de dir 0Dh

    MOVWF DIR2 ;almacenar reg w en la dir 0Fh

    CICLO MOVFW DIR1 ;cargar reg w con dato de dir 0Eh

    MOVWF PTOB ;enviar el reg w al pto B

    GOTO CICLO ;ir a ciclo

    END

    ;fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de

    problema3_led.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y

    cargar el archivo problema3_led.asm.

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es

    exitosa deber aparecer el archivo .asm con una flecha verde que seala la primera

    instruccin a ejecutarse. En caso de errores de compilacin habr que corregirlos antes de

    continuar. Haciendo doble click en el error lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

  • 7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el

    ejecutable que se usa para programar el PIC se necesita un quemador y un software por

    ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS.

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en

    donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con

    button, cap de 22pF, crystal, res de 10k y 100R y led, para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre problema3_led.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos

    del espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace

    con el icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL

    del mismo margen. El resultado se observa en la siguiente grfica:

    7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre seleccione

    en la lnea de Program File el icono de la carpeta y aparecer un directorio de bsqueda que

    tenemos que hacerlo apuntar al archivo problema3_led.hex que se form como resultado de la

    compilacin y que debe de estar en su carpeta de trabajo. Luego presione ok y est listo para la

    simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin.

    Observe que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el

    valor de prendido o apagado de los LEDS

  • PROBLEMA 4

    OBJETIVO

    4.Proponer un circuito que tenga el puerto B como salida conectando 8 leds y el puerto A como entradas, realizar un programa que transfiera todas las entradas en el puerto A hacia el puerto B.

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

  • a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de texto

    o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es la que se

    sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    Cdigo .asm

    LIST P=16F84A ;comando que indica el pic usado.

    RADIX HEX ;los valores en hexadecimal

    STATUS EQU 0x03 ;direciona al registro de STATUS

    PTOA EQU 0x05 ;direcciona al puerto A

    PTOB EQU 0X06 ;direcciona al puerto B

    ORG 0x00

    BSF STATUS,5 ;seleccionar el banco 1

    MOVLW 0x1F ;carga w con el valor 01h para habilitar

    MOVWF PTOA ; el puerto A como entrada

    MOVLW 0x00 ;carga w con el valor 00h para habilitar

    MOVWF PTOB ; el puerto B como salida

    BCF STATUS,5 ;seleccionar el banco 0

    CLRF PTOA ;limpia el puerto A

    CLRF PTOB ;limpia el puerto B

    CICLO MOVFW PTOA ;cargamos w con el valor del puerto A

    MOVWF PTOB ;enviamos el registro w al puerto B

    GOTO CICLO ;ir a la subrutina CICLO

    END ;fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de problema4_led.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar el

    archivo problema4_led.asm.

  • 6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa deber

    aparecer el archivo .asm con una flecha verde que seala la primera instruccin a ejecutarse. En caso

    de errores de compilacin habr que corregirlos antes de continuar. Haciendo doble click en el error lo

    conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

    7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el

    ejecutable que se usa para programar el PIC se necesita un quemador y un software por

    ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS:

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en

    donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con

    button, SW-SPDT, cap, de 27pF, crystal, res de 10k y 100R y led, para que tambin se

    transfieran.

    4) Guardar la hoja de ISIS con el nombre problema4_led.

  • 5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando

    elementos del espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace

    con el icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL

    del mismo margen. El resultado se observa en la siguiente grfica:

    7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre

    seleccione en la lnea de Program File el icono de la carpeta y aparecer un directorio de

    bsqueda que tenemos que hacerlo apuntar al archivo problema4_led.hex que se form como

    resultado de la compilacin y que debe de estar en su carpeta de trabajo. Luego presione ok y

    est listo para la simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin.

    Observe que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el

    valor de prendido o apagado de los LEDS.

    PROBLEMA 5

  • OBJETIVO

    5. Proponer un circuito que tenga el puerto B como salida conectando 8 leds y el puerto A como entradas, realizar un programa que permita hacer la operacin de suma del puerto A (entrada) con el dato 05h y el resultado mostrarlo en el puerto B (salida). Porta=porta+05h.

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de texto

    o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es la que se

    sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    Cdigo .asm

    LIST P=16F84A ; comando que indica el pic usado.

    RADIX HEX ;los valores en hexadecimal

    STATUS EQU 0x03 ;direcciona al registro de STATUS

    PTOA EQU 0x05 ;direcciona al puerto A

    PTOB EQU 0x06 ;direcciona al puerto B

    ORG 0x00

    BSF STATUS,5 ;seleccionar el banco 1

    MOVLW 0x1F ;carga w con 1Fh

    MOVWF PTOA ;habilitar puerto A como entrada

    MOVLW 0x00 ;carga w con 00h

    MOVWF PTOB ;habilitar puerto B como salida

    BCF STATUS,5 ;seleccionar el banco 0

    CLRF PTOA ;limpia el puerto A

    CLRF PTOB ;limpia el puerto B

    MOVLW 0x05 ;cargamos w con el numero 05h

    ADDWF PTOA,0 ;suma, W = PuertoA + W

    MOVWF PTOB ;enviamos el reg w al puerto B

    GOTO CICLO ;ir a CICLO

  • END ;fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de problema5_led.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar el

    archivo problema5_led.asm.

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa deber

    aparecer el archivo .asm con una flecha verde que seala la primera instruccin a ejecutarse. En caso

    de errores de compilacin habr que corregirlos antes de continuar. Haciendo doble click en el error lo

    conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

    7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable que se

    usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

  • b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS:

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en

    donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con

    button, SW-SPDT, cap, de 27pF, crystal, res de 10k y 100R y led, para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre problema5_led.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos

    del espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace con

    el icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL del

    mismo margen. El resultado se observa en la siguiente grfica:

    7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre seleccione

    en la lnea de Program File el icono de la carpeta y aparecer un directorio de bsqueda que

    tenemos que hacerlo apuntar al archivo problema5_led.hex que se form como resultado de la

    compilacin y que debe de estar en su carpeta de trabajo. Luego presione ok y est listo para la

    simulacin.

  • 8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin.

    Observe que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el

    valor de prendido o apagado de los LEDS.

    PROBLEMA 6

    OBJETIVO

    6. Realizar un programa que permita hacer la funcin espejo en el puerto B, el nibble menos significativo del puerto B ser de entrada y el nibble ms significativo ser de salida, permitiendo de esta manera monitorear el estado del nibble de entrada en el nibble de salida.

    .

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de

    texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es la

    que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

  • Cdigo .asm

    LIST P=16F84A ;comando que indica el pic usado.

    RADIX HEX ;los valores en hexadecimal

    STATUS EQU 0x03 ;direciona al registro de STATUS

    PTOA EQU 0x05 ;direcciona al puerto A

    PTOB EQU 0x06 ;direcciona al puerto B

    ORG 0x00

    BSF STATUS,5 ;seleccionar el banco 1

    MOVLW 0x0F ;carga w con el valor 0fh

    MOVWF PTOB ;habilitar puerto B en nibble

    BCF STATUS,5 ;seleccionar el banco 0

    CLRF PTOB ;limpia el puerto B

    CICLO SWAPF PTOB,1 ;intercambia nibbles del puerto B

    GOTO CICLO ;ir a la subrutina CICLO

    END ;fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de Ejercicio-6.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar el

    archivo Ejercicio-6.asm.

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa deber

    aparecer el archivo .asm con una flecha verde que seala la primera instruccin a ejecutarse. En caso

    de errores de compilacin habr que corregirlos antes de continuar. Haciendo doble click en el error

    lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

  • 7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable que

    se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del comportamiento del

    PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS:

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en

    donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con

    button, cap de 22pF, crystal, SW-SPDT-MOM, res de 10k y 100R y led, para que tambin se

    transfieran.

    4) Guardar la hoja de ISIS con el nombre EJERCICIO6-PROTEUS.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos

    del espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace con el

    icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL del

    mismo margen. El resultado se observa en la siguiente grfica:

  • 7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre seleccione en

    la lnea de Program File el icono de la carpeta y aparecer un directorio de bsqueda que

    tenemos que hacerlo apuntar al archivo Ejercicio-6.hex que se form como resultado de la

    compilacin y que debe de estar en su carpeta de trabajo. Luego presione ok y est listo para la

    simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin.

    Observe que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el

    valor de prendido o apagado de los LEDS.

    PROBLEMA 7

    OBJETIVO

    7. Realizar un programa que permita tener una seal cuadrada simtrica de 50 hz en el bit 7 del puerto B. CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador

    de texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto

    Wizard es la que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

  • 3) En Untitled digite el siguiente programa.

    LIST P=16F84A ; comando que indica el pic usado.

    RADIX HEX ;los valores se representan en hexadecimal

    STATUS EQU 0x03 ;direcciona al registro de STATUS

    PTOB EQU 0x06 ;direcciona al puerto B

    CONTA1 EQU 0x0D ;hace refencia a la direccin 0Dh

    CONTA2 EQU 0x0E ;hace refencia a la direccin 0Eh

    ORG 0x00

    BSF STATUS,5 ;seleccionar el banco 1

    MOVLW 0x00 ;carga w con 00h para habilitar puerto B salida

    MOVWF PTOB ;transfiere contenido de w en 0x05 del banco 1

    BCF STATUS,5 ;seleccionar el banco 0

    CLRF PTOB ;limpia el puerto B

    CICLO MOVLW 0x80 ;cargamos w con el numero 80h

    MOVWF PTOB ;enviamos el registro w al puerto B

    CALL TIEMPO ;llamamos a la subrutina de tiempo TIEMPO

    MOVLW 0x00 ;cargamos w con el numero 80h

    MOVWF PTOB ;enviamos el registro w al puerto B

    CALL TIEMPO ;llamamos a la subrutina de tiempo TIEMPO

    GOTO CICLO ;ir a la subrutina CICLO

    TIEMPO MOVLW D'150' ;cargamos w con el numero decimal 5

    MOVWF CONTA1 ;almacenamos w en la direccion 0Dh

    LAZO2 MOVLW D'20' ;cargamos w con el numero decimal 5

    MOVWF CONTA2 ;almacenamos w en la direccion 0Eh

    LAZO1 DECFSZ CONTA2,1 ;decrementa CONTA2 -1 y si el resultado es

    GOTO LAZO1 ;ir a la subrutina LAZO1

    DECFSZ CONTA1,1

    GOTO LAZO2 ;ir a la subrutina LAZO2

    RETURN ;retorno de la instruccin CALL

    END ;fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de EJERCICIO7.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar el

    archivo EJERCICIO7.asm.

  • 6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa deber

    aparecer el archivo .asm con una flecha verde que seala la primera instruccin a ejecutarse. En caso

    de errores de compilacin habr que corregirlos antes de continuar. Haciendo doble click en el error

    lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

    7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable que

    se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS.

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en

    donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con

    button, cap de 22pF, crystal, res de 10k y 100R y led, para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre EJERCICIO-7.

  • 5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos del

    espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace con el

    icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL del

    mismo margen. El resultado se observa en la siguiente grfica:

    7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre

    seleccione en la lnea de Program File el icono de la carpeta y aparecer un directorio de

    bsqueda que tenemos que hacerlo apuntar al archivo EJERCICIO7.hex que se form

    como resultado de la compilacin y que debe de estar en su carpeta de trabajo. Luego

    presione ok y est listo para la simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la

    simulacin. Observe que haciendo clic sobre los switches causara que estos se abran o

    cierren y afecten el valor de prendido o apagado de los LEDS.

    PROBLEMA 8

  • OBJETIVO

    8. Realizar un programa que permita tener una seal cuadrada simtrica de 50 hz en el bit 7,

    una seal cuadrada simtrica de 60 hz en el bit 6 del puerto B.

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador

    de texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto

    Wizard es la que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    LIST P=16F84

    RADIX HEX

    W EQU 0x00

    F EQU 0x01

    EDO EQU 0x03

    PTAB EQU 0x06

    CONTA4 EQU 0x0C

    CONTA1 EQU 0x0D

    CONTA2 EQU 0x0E

    CONTA3 EQU 0x0F

    ORG 0x00

    INICIO BSF EDO,5

    MOVLW b'00000000'

    MOVWF PTAB

    BCF EDO,5

    ;------------------------------ INICIA PROGRAMA-----------------------------------

    BUCLE MOLVW 0x80

    MOVWF PTAB

    CALL TEMPO

    MOVLW 0x00

    MOVWF PTAB

    CALL TEMPO

    MOVLW 0x40

  • MOVWF PTAB

    CALL TEMPO1

    MOVLW 0x00

    MOVWF PTAB

    CALL TEMPO1

    GOTO BUCLE

    ;--------------------------------- RUTINA DE TIEMPO---------------------------------

    TEMPO MOVLW D'5'

    MOVWF CONTA1

    LAZO2 MOVLW D'5'

    MOVWF CONTA2

    LAZO1 DECFSZ CONTA2,1

    GOTO LAZO1

    DECFSZ CONTA1,1

    GOTO LAZO2

    RETURN

    TEMPO1 MOVLW D'6'

    MOVWF CONTA3

    LAZO4 MOVLW D'6'

    MOVWF CONTA4

    LAZO3 DECFSZ CONTA4,1

    GOTO LAZO3

    DECFSZ CONTA3,1

    GOTO LAZO4

    RETURN

    END

  • 4) Guarde el documento creado con en su carpeta de trabajo con el nombre de Ejercicio8asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar

    el archivo Ejercicio8.asm.

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa

    deber aparecer el archivo .asm con una flecha verde que seala la primera instruccin a

    ejecutarse. En caso de errores de compilacin habr que corregirlos antes de continuar. Haciendo

    doble click en el error lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

    7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable

    que se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en

    donde escogeremos los que vamos a utilizar.

  • 3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con

    button, cap de 22pF, crystal, res de 10k y 100R y led, para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre EJERCICIO-8.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos

    del espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace con

    el icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL del

    mismo margen. El resultado se observa en la siguiente grfica:

    7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre seleccione

    en la lnea de Program File el icono de la carpeta y aparecer un directorio de bsqueda que

    tenemos que hacerlo apuntar al archivo Ejercicio8.hex que se form como resultado de la

    compilacin y que debe de estar en su carpeta de trabajo. Luego presione ok y est listo para la

    simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin.

    Observe que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el

    valor de prendido o apagado de los LEDS.

  • Problema 9

    OBJETIVO

    9. Proponer un circuito que tenga el puerto B como salida conectando 8 leds, realizar un programa

    que permita rotar el dato 01h en el puerto B de manera infinita. Controle la rotacin para que el

    bit se rote de la posicin del bit 0 al bit 7.

    CONTENIDO:

    c) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    d) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de

    texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es

    la que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

  • 3) En Untitled digite el siguiente programa.

    Cdigo asm.

    LIST P=16F84A RADIX HEX STATUS EQU 0x03 PTOB EQU 0x06 CONT1 EQU 0x0D CONT2 EQU 0x0E ORG 0x00 BSF STATUS,5 MOVLW 0x00 MOVWF PTOB BCF STATUS,5 CLRF PTOB BCF STATUS,0 INICIO MOVLW 0x01 MOVWF PTOB IZQ CALL TIEMPO RLF PTOB,1 BTFSS PTOB,7 GOTO IZQ GOTO INICIO TIEMPO MOVLW D'150' MOVWF CONT1 LAZO2 MOVLW D'20' MOVWF CONT2 LAZO1 DECFSZ CONT2,1 GOTO LAZO1 DECFSZ CONT1,1 GOTO LAZO2 RETURN END

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de Ejercicio9.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar

    el archivo Ejercicio9.asm.

  • 6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa

    deber aparecer el archivo .asm con una flecha verde que seala la primera instruccin a

    ejecutarse. En caso de errores de compilacin habr que corregirlos antes de continuar. Haciendo

    doble click en el error lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

  • 7) PROGRAMACIN

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable

    que se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS:

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de

    componentes en donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo

    de la derecha, esto transfiere el componente a nuestro ambiente de trabajo.

    Hacemos lo mismo con button, cap , crystal, res, led Green y led red para que

    tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre Ejercicio9.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando

    elementos del espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se

    hace con el icono de buses del margen izquierdo del proteus y las etiquetas se crean

    con el icono LBL del mismo margen. El resultado se observa en la siguiente grfica:

  • 7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre

    seleccione en la lnea de Program File el icono de la carpeta y aparecer un directorio

    de bsqueda que tenemos que hacerlo apuntar al archivo Ejercicio9.hex que se

    form como resultado de la compilacin y que debe de estar en su carpeta de

    trabajo. Luego presione ok y est listo para la simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la

    simulacin. Observe que haciendo clic sobre los switches causar que estos se abran

    o cierren y afecten el valor de prendido o apagado de los LEDS.

    Problema 10

  • OBJETIVO

    10. Proponer un circuito que tenga el puerto B como salida conectando 8 leds, realizar un

    programa que permita rotar el dato 01h en el puerto B a la izquierda y cuando llegue al bit 7 se

    realice la rotacin a la derecha, de la posicin del bit 7 a la posicin del bit 0 de forma infinita.

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de

    texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es

    la que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    LIST P=16F84

    RADIX HEX

    ESTADO EQU 0x03

    PORTB EQU 0x06

    AUX1 EQU 0x0C

    AUX2 EQU 0x0D

    AUX3 EQU 0x0E

    ORG 0x00

    BCF ESTADO,0

    CLRF PORTB

    BCF ESTADO,5

    MOVLW 0x01

    MOVWF PORTB

  • BCF ESTADO,0

    CALL RETARDO

    ROTARI RLF PORTB,1

    CALL RETARDO

    BTFSS PORTB,7

    GOTO ROTARI

    ROTARD RRF PORTB,1

    CALL RETARDO

    BTFSS PORTB,0

    GOTO ROTARD

    GOTO ROTARI

    RETARDO MOVLW 0x0F

    MOVWF AUX1

    UNO MOVLW 0x0E

    MOVWF AUX2

    DOS CLRWDT

    TRES GOTO CUATRO

    CUATRO GOTO CINCO

    CINCO CLRWDT

    DECFSZ AUX2,F

    GOTO DOS

    DECFSZ AUX1,F

    GOTO UNO

    SEIS GOTO SIETE

    SIETE GOTO OCHO

    OCHO GOTO NUEVE

    NUEVE CLRWDT

    RETURN

    END

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de Ejercicio10.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar

    el archivo Ejercicio10.asm.

  • 6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa

    deber aparecer el archivo .asm con una flecha verde que seala la primera instruccin a

    ejecutarse. En caso de errores de compilacin habr que corregirlos antes de continuar. Haciendo

    doble click en el error lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

  • 7) PROGRAMACIN

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable

    que se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS:

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes

    en donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo

    mismo con button, cap , crystal, res, led para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre Ejercicio10.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando

    elementos del espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se

    hace con el icono de buses del margen izquierdo del proteus y las etiquetas se crean con

    el icono LBL del mismo margen. El resultado se observa en la siguiente grfica:

  • 7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre

    seleccione en la lnea de Program File el icono de la carpeta y aparecer un directorio de

    bsqueda que tenemos que hacerlo apuntar al archivo Ejercicio10.hex que se form

    como resultado de la compilacin y que debe de estar en su carpeta de trabajo. Luego

    presione ok y est listo para la simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la

    simulacin. Observe que haciendo clic sobre los switches causar que estos se abran o

    cierren y afecten el valor de prendido o apagado de los LEDS.

    Problema11

    OBJETIVO

    10. Proponer un circuito que tenga el puerto B como salida conectando 8 leds, realizar un

    programa que permita encender el puerto B de manera secuencial del bit 7 al bit 0, y despus que

    apague todos desde el bit 7 al bit 0, que se repita esto de manera cclica.

  • CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de

    texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es

    la que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    LIST P=16F84

    RADIX HEX

    W EQU 0

    F EQU 1

    PUERTOB EQU 0x06

    ESTADO EQU 0x03

    PCL EQU 0x02

    AUX1 EQU 0x0C

    AUX2 EQU 0x0D

    AUX3 EQU 0X0E

    CUENTA EQU 0x20

    ORG 0x00

    BSF ESTADO,5

    CLRF PUERTOB

    BCF ESTADO,5

    CICLO1 CLRF CUENTA

    CICLO2 MOVF CUENTA,W

    CALL TABLA

    MOVWF PUERTOB

    CALL RETARDO

    INCF CUENTA,F

  • MOVLW 0x10

    XORWF CUENTA,W

    BTFSS ESTADO,2

    GOTO CICLO2

    GOTO CICLO1

    RETARDO MOVLW 0x0D

    MOVWF AUX1

    UNO MOVLW 0X48

    MOVWF AUX2

    DOS MOVLW 0x07A

    MOVWF AUX3

    TRES CLRWDT

    DECFSZ AUX3,F

    GOTO TRES

    DECFSZ AUX2,F

    GOTO DOS

    DECFSZ AUX1,F

    GOTO UNO

    GOTO SIG

    SIG CLRWDT

    RETURN

    TABLA ADDWF PCL,F

    RETLW B'10000000'

    RETLW B'11000000'

    RETLW B'11100000'

    RETLW B'11110000'

    RETLW B'11111000'

    RETLW B'11111100'

    RETLW B'11111110'

    RETLW B'11111111'

    RETLW B'01111111'

    RETLW B'00111111'

    RETLW B'00011111'

    RETLW B'00001111'

    RETLW B'00000111'

    RETLW B'00000011'

  • RETLW B'00000001'

    RETLW B'00000000'

    END

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de Ejercicio11.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar

    el archivo Ejercicio11.asm

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa

    deber aparecer el archivo .asm con una flecha verde que seala la primera instruccin a

    ejecutarse. En caso de errores de compilacin habr que corregirlos antes de continuar. Haciendo

    doble click en el error lo conduce al sitio del error.

  • Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

    7) PROGRAMACIN

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable

    que se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS:

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes

    en donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo

    mismo con button, cap , crystal, res, led para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre Ejercicio10.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando

    elementos del espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se

    hace con el icono de buses del margen izquierdo del proteus y las etiquetas se crean con

    el icono LBL del mismo margen. El resultado se observa en la siguiente grfica:

  • 7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre

    seleccione en la lnea de Program File el icono de la carpeta y aparecer un directorio de

    bsqueda que tenemos que hacerlo apuntar al archivo Ejercicio11.hex que se form

    como resultado de la compilacin y que debe de estar en su carpeta de trabajo. Luego

    presione ok y est listo para la simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la

    simulacin. Observe que haciendo clic sobre los switches causar que estos se abran o

    cierren y afecten el valor de prendido o apagado de los LEDS.

    PROBLEMA 12

    OBJETIVO

    12. Proponer un circuito que tenga el puerto B como salida conectando un motor a pasos en sentido del reloj. Que inicie la rotacin cuando se presione el bit 0 del puerto A y si se presiona cuando est rotando este deber parar, es decir el bit ser de arranque y paro.

  • CONTENIDO:

    e) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    f) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de

    texto o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es

    la que se sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    Cdigo .asm

    ;| ENCABEZADO |

    LIST p = 16F84 ;Usar el PIC16F84A-04/P

    RADIX HEX ;Todo en hexadecimal

    ;| VARIABLES |

    w equ 0 ;Cuando d=0 el destino es w

    f equ 1 ;Cuando d=1 el destino es f

    PUERTOA equ 0x05 ;Direccion del Puerto A

    PUERTOB equ 0x06 ;Direccin del Puerto B

    ESTADO equ 0x03 ;Direccin del Estado

    PCL equ 0x02 ;Direccin de PCL

    Aux1 equ 0x0D

    Aux2 equ 0x0E

    npaso equ 0x20 ;Direccin del reg que lleva el conteo de

    los pasos

    ;| CONFIGURACIN DEL PUERTO B COMO SALIDA |

    ;| Y EL PUERTO A COMO DE SALIDA |

    ORG 0x00 ;Direccin de inicio

    BSF ESTADO,5 ;Pasarse al Banco 1

    MOVLW 0x00

    MOVWF PUERTOB ;Establecer el Puerto B como de salida

    MOVLW 0x0F

    MOVWF PUERTOA ;Puerto A como de entrada RA0-RA3

    BCF ESTADO,5 ;Volver al banco 0

    ;| PROGRAMA PRINCIPAL |

    ;inicio

    Inicio CLRF npaso ;Borrar contenido de npaso

    Test BTFSS PUERTOA,0 ;El bit 0 del puerto A es 1?

    GOTO Inicio ;No, ir a inicio

    GOTO Giro ;Si, ir a Giro

  • ;fin ;+---------------------------------------------------------------------- +

    ;| GIRA MOTOR HACIA LA DERECHA | ;+---------------------------------------------------------------------- + ;inicio

    Giro

    XORWF npaso,w ;Hacer ope XOR cuenta con W

    BTFSS ESTADO,2 ;El contador es igual a 4?

    GOTO Test ;No,va a ciclo

    GOTO Inicio ;Si, regresa al testeo

    ;fin ;+---------------------------------------------------------------------- +

    ;| RETARDO DE 60 mlSeg | ;+---------------------------------------------------------------------- +

    Retardo MOVLW .33 ; 1 set number of repetitions (B)

    MOVWF Aux1 ; 1 |

    PLoop1 MOVLW .60 ; 1 set number of repetitions (A)

    MOVWF Aux2 ; 1 |

    PLoop2 CLRWDT ; 1 clear watchdog

    CLRWDT ; 1 cycle delay

    DECFSZ Aux2,1 ; 1 + (1) is the time over? (A)

    GOTO PLoop2 ; 2 no, loop

    DECFSC Aux1,1 ; 1 + (1) is the time over? (B)

    GOTO PLoop1 ; 2 no, loop

    CLRWDT ; 1 cycle delay

    RETURN ; 2+2 Done

    ;fin ;+---------------------------------------------------------------------- +

    ;| TABLA MOTOR GIRA A LA DERECHA | ;+---------------------------------------------------------------------- +

    TablaD ADDWF PCL,f

    RETLW B'00001001' ;09

    RETLW B'00000011' ;03

    RETLW B'00000110' ;06

    RETLW B'00001100' ;0C

    END ;Fin del programa

  • 4) Guarde el documento creado con en su carpeta de trabajo con el nombre de problema12.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar el

    archivo problema12.asm

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa deber

    aparecer el archivo .asm con una flecha verde que seala la primera instruccin a ejecutarse. En caso

    de errores de compilacin habr que corregirlos antes de continuar. Haciendo doble click en el error

    lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

    7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable que

    se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del comportamiento

    del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

  • 1) En el programa PROTEUS abra ISIS:

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en donde

    escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la derecha,

    esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con button, cap de

    27pF, crystal, res de 10k y 100R ,Motor y Switches, para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre problema12.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos del

    espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace con el

    icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL del mismo

    margen. El resultado se observa en la siguiente grfica:

    7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre seleccione en la

    lnea de Program File el icono de la carpeta y aparecer un directorio de bsqueda que tenemos que

    hacerlo apuntar al archivo problema12.hex que se formo como resultado de la compilacin y que

    debe de estar en su carpeta de trabajo. Luego presione ok y est listo para la simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin. Observe

    que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el valor de

    prendido o apagado del Motor.mas

  • PROBLEMA 13

    OBJETIVO

    13. Proponer un circuito que tenga el puerto B como salida conectando un motor a pasos en sentido contrario del reloj. El bit 0 del puerto A ser de arranque y paro, el bit 1 controlara el sentido de giro en direccin del reloj, el bit 1 controlara el sentido de giro en direccin contraria del reloj.

    CONTENIDO:

    g) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    h) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de texto

    o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es la que se

    sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    Cdigo .asm

    ;+----------------------------------------------------------------------

    ;| ENCABEZADO

  • ;+----------------------------------------------------------------------

    LIST p = 16F84 ;Usar el PIC16F84A-04/P

    RADIX HEX ;Todo en hexadecimal ;+----------------------------------------------------------------------

    ;| VARIABLES

    w equ 0 ;Cuando d=0 el destino es w

    f equ 1 ;Cuando d=1 el destino es f

    PUERTOA equ 0x05 ;Direccion del Puerto A

    PUERTOB equ 0x06 ;Direccin del Puerto B

    ESTADO equ 0x03 ;Direccin del Estado

    PCL equ 0x02 ;Direccin de PCL

    Aux1 equ 0x0D

    Aux2 equ 0x0E

    npaso equ 0x20 ;Direccin del reg que lleva el conteo de

    los pasos

    ;| CONFIGURACIN DEL PUERTO B COMO SALIDA

    ;| Y EL PUERTO A COMO DE SALIDA

    ORG 0x00 ;Direccin de inicio

    BSF ESTADO,5 ;Pasarse al Banco 1

    MOVLW 0x00

    MOVWF PUERTOB ;Establecer el Puerto B como de salida

    MOVLW 0x0F

    MOVWF PUERTOA ;Puerto A como de entrada RA0-RA3

    BCF ESTADO,5 ;Volver al banco 0 ;+----------------------------------------------------------------------

    ;| PROGRAMA PRINCIPAL

    ;inicio

    Inicio CLRF npaso ;Borrar contenido de npaso

    Test BTFSS PUERTOA,0 ;El bit 0 del puerto A es 1?

    GOTO Inicio ;No, ir a inicio

    BTFSS PUERTOA,1 ;Si,El bit 1 del puerto A es 1?

    GOTO GiroD ;No, ir a gira hacia la derecha

    GOTO GiroI ;Si, ir a gira hacia la izquierda

    ;| GIRA MOTOR HACIA LA DERECHA

    ;inicio

    GiroD MOVF npaso,w ;Pasar a W el contenido de contador

    CALL TablaD ;Llamar la tabla de pasos

    MOVWF PUERTOB ;Mandar al Puerto B el valor obtenido

    CALL Retardo ;Llamar retardo

    INCF npaso,f ;Incrementar npaso = npaso + 1

    MOVLW 0x04 ;Mover b'00000100' a W

    XORWF npaso,w ;Hacer ope XOR cuenta con W

    BTFSS ESTADO,2 ;El contador es igual a 4?

    GOTO Test ;No,va a ciclo

  • GOTO Inicio ;Si, regresa al testeo

    ;fin ;+----------------------------------------------------------------------

    ;| GIRA MOTOR HACIA LA IZQUIERDA ;+----------------------------------------------------------------------

    ;inicio

    GiroI MOVF npaso,w ;Pasar a W el contenido de contador

    CALL TablaI ;Llamar la tabla de pasos

    MOVWF PUERTOB ;Mandar al Puerto B el valor obtenido

    CALL Retardo ;Llamar retardo

    INCF npaso,f ;Incrementar npaso = npaso + 1

    MOVLW 0x04 ;Mover b'00000100' a W

    XORWF npaso,w ;Hacer ope XOR cuenta con W

    BTFSS ESTADO,2 ;El contador es igual a 4?

    GOTO Test ;No,va a ciclo

    GOTO Inicio ;Si, regresa al testeo

    ;fin

    Retardo MOVLW .33 ; 1 set number of repetitions (B)

    MOVWF Aux1 ; 1 |

    PLoop1 MOVLW .60 ; 1 set number of repetitions (A)

    MOVWF Aux2 ; 1 |

    PLoop2 CLRWDT ; 1 clear watchdog

    CLRWDT ; 1 cycle delay

    DECFSZ Aux2,1 ; 1 + (1) is the time over? (A)

    GOTO PLoop2 ; 2 no, loop

    DECFSZ Aux1,1 ; 1 + (1) is the time over? (B)

    GOTO PLoop1 ; 2 no, loop

    CLRWDT ; 1 cycle delay

    RETURN ; 2+2 Done

    ;fin

    ;| TABLA MOTOR GIRA A LA DERECHA ;+----------------------------------------------------------------------

    TablaD ADDWF PCL,f

    RETLW B'00001001' ;09

    RETLW B'00000011' ;03

    RETLW B'00000110' ;06

    RETLW B'00001100' ;0C ----------------------------------------------------------------------

    ;| TABLA MOTOR GIRA A LA IZQUIERDA

    TablaI ADDWF PCL,f

    RETLW B'00001100' ;0C

    RETLW B'00000110' ;06

    RETLW B'00000011' ;03

    RETLW B'00001001' ;09

  • END ;Fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de problema13.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y

    cargar el archivo problema13.asm

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa

    deber aparecer el archivo .asm con una flecha verde que seala la primera instruccin a

    ejecutarse. En caso de errores de compilacin habr que corregirlos antes de continuar.

    Haciendo doble click en el error lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

    7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable

    que se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

  • b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS.

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en

    donde escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con

    button, cap de 27pF, crystal, res de 10k y 100R, Motor y Switches, para que tambin se

    transfieran

    4) Guardar la hoja de ISIS con el nombre problema13.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos

    del espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace con

    el icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL del

    mismo margen. El resultado se observa en la siguiente grfica:

    7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre seleccione

    en la lnea de Program File el icono de la carpeta y aparecer un directorio de bsqueda que

    tenemos que hacerlo apuntar al archivo problema13.hex que se formo como resultado de la

    compilacin y que debe de estar en su carpeta de trabajo. Luego presione ok y est listo para la

    simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin.

    Observe que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el

    valor de prendido o apagado de los Motor.

  • PROBLEMA 14

    OBJETIVO

    14. Proponer un circuito que tenga el puerto B como salida conectando un motor a pasos,

    conectado al puerto B, y en el puerto A como entrada: el bit 0 incrementa la velocidad, el bit

    1 decrementa la velocidad.

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de texto

    o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es la que se

    sigue a continuacin:

    1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    Cdigo .asm

    ;| ENCABEZADO

    LIST p = 16F84 ;Usar el PIC16F84A-04/P

    RADIX HEX ;Todo en hexadecimal

  • ;| VARIABLES

    w equ 0 ;Cuando d=0 el destino es w

    f equ 1 ;Cuando d=1 el destino es f

    PUERTOA equ 0x05 ;Direccion del Puerto A

    PUERTOB equ 0x06 ;Direccin del Puerto B

    ESTADO equ 0x03 ;Direccin del Estado

    PCL equ 0x02 ;Direccin de PCL

    Aux1 equ 0x0D

    Aux2 equ 0x0E

    npaso equ 0x20 ;Direccin del reg que lleva el conteo de

    los pasos

    ;| CONFIGURACIN DEL PUERTO B COMO SALIDA |

    ;| Y EL PUERTO A COMO DE SALIDA

    ORG 0x00 ;Direccin de inicio

    BSF ESTADO,5 ;Pasarse al Banco 1

    MOVLW 0x00

    MOVWF PUERTOB ;Establecer el Puerto B como de salida

    MOVLW 0x0F

    MOVWF PUERTOA ;Puerto A como de entrada RA0-RA3

    BCF ESTADO,5 ;Volver al banco 0 ;+----------------------------------------------------------------------

    ;| PROGRAMA PRINCIPAL ;+----------------------------------------------------------------------

    ;inicio

    Inicio CLRF npaso ;Borrar contenido de npaso

    Test BTFSS PUERTOA,0 ;El bit 0 del puerto A es 1?

    GOTO Inicio ;No, ir a inicio

    BTFSC PUERTOA,1 ;Si,El bit 1 del puerto A es 0?

    GOTO VelMax ;No, gira a vel max

    BTFSC PUERTOA,2 ;Si, el bit 2 del puerto A es 0?

    GOTO VelMin ;No, gira a vel min

    GOTO Inicio ;Si, vuelve al testeo

    ;fin

    ;| GIRA MOTOR A VEL MAX

    ;inicio

    VelMax MOVF npaso,w ;Pasar a W el contenido de contador

    CALL TablaD ;Llamar la tabla de pasos

    MOVWF PUERTOB ;Mandar al Puerto B el valor obtenido

    CALL Retardo1 ;llamar la subrutina de retardo

    INCF npaso,f ;Incrementar npaso = npaso + 1

    MOVLW 0x04 ;Mover b'00000100' a W

    XORWF npaso,w ;Hacer ope XOR cuenta con W

    BTFSS ESTADO,2 ;El contador es igual a 4?

    GOTO Test ;No,va a ciclo

    GOTO Inicio ;Si, regresa al testeo

    ;fin ;+-----------------------------------------------------------

  • -----------

    ;| GIRA MOTOR A VEL MIN

    ;inicio

    VelMin MOVF npaso,w ;Pasar a W el contenido de contador

    CALL TablaD ;Llamar la tabla de pasos

    MOVWF PUERTOB ;Mandar al Puerto B el valor obtenido

    CALL Retardo ;Llamar la subrutina de retardo1

    INCF npaso,f ;Incrementar npaso = npaso + 1

    MOVLW 0x04 ;Mover b'00000100' a W

    XORWF npaso,w ;Hacer ope XOR cuenta con W

    BTFSS ESTADO,2 ;El contador es igual a 4?

    GOTO Test ;No,va a ciclo

    GOTO Inicio ;Si, regresa al testeo

    ;fin ;+----------------------------------------------------------------------

    ;| RETARDO DE 60 mlSeg ;+----------------------------------------------------------------------

    Retardo MOVLW .33 ; 1 set number of repetitions (B)

    MOVWF Aux1 ; 1 |

    PLoop1 MOVLW .60 ; 1 set number of repetitions (A)

    MOVWF Aux2 ; 1 |

    PLoop2 CLRWDT ; 1 clear watchdog

    CLRWDT ; 1 cycle delay

    DECFSZ Aux2,1 ; 1 + (1) is the time over? (A)

    GOTO PLoop2 ; 2 no, loop

    DECFSZ Aux1,1 ; 1 + (1) is the time over? (B)

    GOTO PLoop1 ; 2 no, loop

    CLRWDT ; 1 cycle delay

    RETURN ; 2+2 Done

    ;fin

    ;| RETARDO DE 30 mlSeg

    Retardo1 MOVLW .15 ; 1 set number of repetitions (B)

    MOVWF Aux1 ; 1 |

    PLoop1 MOVLW .30 ; 1 set number of repetitions (A)

    MOVWF Aux2 ; 1 |

    PLoop2 CLRWDT ; 1 clear watchdog

    CLRWDT ; 1 cycle delay

    DECFSZ Aux2,1 ; 1 + (1) is the time over? (A)

    GOTO PLoop2 ; 2 no, loop

    DECFSZ Aux1,1 ; 1 + (1) is the time over? (B)

    GOTO PLoop1 ; 2 no, loop

    CLRWDT ; 1 cycle delay

    RETURN ; 2+2 Done

    ;| TABLA MOTOR GIRA A LA DERECHA |

    TablaD ADDWF PCL,f

    RETLW B'00001001' ;09

    RETLW B'00000011' ;03

  • RETLW B'00000110' ;06

    RETLW B'00001100' ;0C

    END ;Fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de problema12.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar el

    archivo problema14.asm.

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa deber

    aparecer el archivo .asm con una flecha verde que seala la primera instruccin a ejecutarse. En caso

    de errores de compilacin habr que corregirlos antes de continuar. Haciendo doble click en el error

    lo conduce al sitio del error.

    Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

  • 7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable que

    se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del comportamiento

    del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS:

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en donde

    escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la derecha,

    esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con button, cap de

    27pF, crystal, res de 10k y 100R, Motor y Switches, para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre problema14.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos del

    espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace con el

    icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL del mismo

    margen. El resultado se observa en la siguiente grfica:

    7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre seleccione en la

    lnea de Program File el icono de la carpeta y aparecer un directorio de bsqueda que tenemos que

  • hacerlo apuntar al archivo problema14.hex que se formo como resultado de la compilacin y que

    debe de estar en su carpeta de trabajo. Luego presione ok y est listo para la simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin. Observe

    que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el valor de

    prendido o apagado el Motor.

    PROBLEMA 15

    OBJETIVO

    15. Proponer un circuito que tenga el puerto B como salida conectando un display de 7 segmentos conectando al puerto B de tal forma que podamos visualizar en el display un contador de 0 al 9.

    CONTENIDO:

    a) CREACION DE UN PROYECTO NUEVO CON EL MPLAB

    b) SIMULACION EN PROTEUS

    a) CREACION DE UN PROYECTO NUEVO

    Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de texto

    o en el ambiente del MPLAB. Esta segunda alternativa combinada con el Proyecto Wizard es la que se

    sigue a continuacin:

  • 1) Seleccione CONFIGURE SELECT DEVICE de la ventana desplegable seleccione el

    microcontrolador 16F84A y presione ok.

    2) Seleccione FILE NEW y aparecer una ventana sin ttulo.

    3) En Untitled digite el siguiente programa.

    Cdigo .asm

    ;| ENCABEZADO |

    LIST p = 16F84 ;Usar el PIC16F84A-04/P

    RADIX HEX ;Todo en hexadecimal

    ;| VARIABLES |

    w equ 0 ;Cuando d=0 el destino es w

    f equ 1 ;Cuando d=1 el destino es f

    PUERTOB equ 0x06 ;Direccin del Puerto B

    PUERTOA equ 0x05

    ESTADO equ 0x03 ;Direccin del Estado

    PCL equ 0x02 ;Direccin de PCL

    Aux1 equ 0x0C ;Direcciones de ocupados para

    Aux2 equ 0x0D ;la subrutina de retardo

    Aux3 equ 0x0E

    cuenta equ 0x20 ;Direccin del registro que lleva el conteo

    ORG 0x00 ;Direccin de inicio

    BSF ESTADO,5 ;Pasarse al Banco 1

    CLRF PUERTOB ;Establecer el Puerto B como de salida

    CLRF PUERTOA

    BCF ESTADO,5 ;Volver al banco 0

    ;| PROGRAMA PRINCIPAL |

    BSF PUERTOA,0 ;Activar el display 1

    Ciclo1 CLRF cuenta ;Inicializar el contador

    Ciclo2 MOVF cuenta,w ;Pasar a W el contenido de contador

    CALL Tabla ;Llamar a la tabla dependiendo de W

    MOVWF PUERTOB ;Mandar al Puerto B el valor obtenido

    CALL Retardo ;Llamar la subrutina de retardo

    INCF cuenta,f ;Incrementar al contador

    MOVLW 0x0A ;Mover b'1010' a W

    XORWF cuenta,w ;Hacer ope XOR cuenta con W

    BTFSS ESTADO,2 ;El contador es igual a 10?

    GOTO Ciclo2 ;No, seguir con el conteo

    GOTO Ciclo1 ;Si, ir a inicilizar el contador

    Retardo MOVLW 0x0D ;14

    MOVWF Aux1

    Uno MOVLW 0x48 ;72

    MOVWF Aux2

    Dos MOVLW 0x7A ;0xF7 ;247

    MOVWF Aux3

    Tres CLRWDT ;Limpiar el reloj del Perro guardian

    DECFSZ Aux3,f ;Decrementar Aux3 -> Aux3-1

    GOTO Tres

    DECFSZ Aux2,f ;Decrementar Aux2 -> Aux2-1

  • GOTO Dos

    DECFSZ Aux1,f ;Decrementar Aux1 -> Aux1-1

    GOTO Uno

    GOTO Sig

    Sig CLRWDT ;Limpiar el reloj del Perro guardian

    RETURN

    ;| TABLA DE LOS DGITOS (0-9) |

    ;B'gfedcba'

    Tabla ADDWF PCL,f

    RETLW B'00111111' ; 0

    RETLW B'00000110' ; 1

    RETLW B'01011011' ; 2

    RETLW B'01001111' ; 3

    RETLW B'01100110' ; 4

    RETLW B'01101101' ; 5

    RETLW B'01111100' ; 6

    RETLW B'00000111' ; 7

    RETLW B'01111111' ; 8

    RETLW B'01100111' ; 9

    END ;Fin del programa

    4) Guarde el documento creado con en su carpeta de trabajo con el nombre de problema1_led.asm.

    5) Seleccione VIEW PROJECT y aparecer una ventana, dar click derecho en source files y cargar el

    archivo problema15_led.asm.

    6) Para compilar el programa asm, seleccione Project Build All. Si la compilacin es exitosa deber

    aparecer el archivo .asm con una flecha verde que seala la primera instruccin a ejecutarse. En caso

    de errores de compilacin habr que corregirlos antes de continuar. Haciendo doble click en el error

    lo conduce al sitio del error.

  • Si la compilacin es exitosa deber aparecer una ventana que diga BUILD SUCCEEDED.

    7) PROGRAMACION

    Como resultado de la compilacin debi haberse generado un archivo .hex que es el ejecutable que

    se usa para programar el PIC se necesita un quemador y un software por ejemplo Pickit 2.

    b) SIMULACION EN PROTEUS

    La simulacin en el programa PROTEUS nos permite una excelente visualizacin del

    comportamiento del PIC programado dentro del circuito utilizado. Siga los siguientes pasos:

    1) En el programa PROTEUS abra ISIS.

    2) Seleccione Component y luego P, Esto abrir una ventana de seleccin de componentes en donde

    escogeremos los que vamos a utilizar.

    3) En Keywords ingresamos PIC 16F84A y hacemos doble clic en el elemento respectivo de la

    derecha, esto transfiere el componente a nuestro ambiente de trabajo. Hacemos lo mismo con

    button, res de 10k , 2.2k y 220R, Display-anodo y BC548 para que tambin se transfieran.

    4) Guardar la hoja de ISIS con el nombre problema15.

    5) Con estos elementos se puede empezar a dibujar el circuito arrastrando y pegando elementos del

    espacio de trabajo al plano de dibujo.

    6) Acercando el Mouse a los terminales de los componentes se los va uniendo. El bus se hace con el

    icono de buses del margen izquierdo del proteus y las etiquetas se crean con el icono LBL del mismo

    margen. El resultado se observa en la siguiente grfica:

  • 7) Haga un clic derecho en el centro del Microcontrolador y en la ventana que se abre seleccione en

    la lnea de Program File el icono de la carpeta y aparecer un directorio de bsqueda que tenemos

    que hacerlo apuntar al archivo problema15.hex que se formo como resultado de la compilacin y

    que debe de estar en su carpeta de trabajo. Luego presione ok y est listo para la simulacin.

    8) Presione PLAY en la parte inferior izquierda de la pantalla de ISIS y empezara la simulacin.

    Observe que haciendo clic sobre los switches causara que estos se abran o cierren y afecten el valor

    de prendido o apagado el Motor.