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.