Академический Документы
Профессиональный Документы
Культура Документы
EXAMEN PARCIAL
Docente:
MG.CASAZOLA CRUZ O. DANIEL
Grupo de Lenguaje ensamblador:
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
P=16F84A
HEX
STATUS
PTOB
CICLO
EQU
EQU
0x03
0x06
ORG
BSF
MOVLW
MOVWF
BCF
0x00
STATUS,5
0x00
PTOB
STATUS,5
;seleccionar el banco 1
;carga w con el valor 00h
;para habilitar el puerto B como salida
;seleccionar el banco 0
CLRF
MOVLW
MOVWF
GOTO
END
PTOB
0xAB
PTOB
CICLO
;limpia el puerto B
;cargamos registro w con el numero ABh
;enviamos el registro w al puerto B
;ir a ciclo
;fin del programa
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.
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)
RADIX HEX
STATUS EQU
0X03
AUX
EQU
0X0D
DIR1
EQU
0X0E
DIR2
EQU
0X0F
ORG
0X00
CLRF
DIR1
CLRF
DIR2
CLRF
AUX
MOVLW 0X3f
MOVWF DIR1
MOVWF AUX
MOVLW 0XF3
MOVWF DIR2
MOVWF DIR1
MOVFW AUX
MOVWF DIR2
END
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
C1
1
27p
X1
CRYSTAL
C2
27p
U1
16
15
R2
OSC1/CLKIN
OSC2/CLKOUT
MCLR
10k
RA0
RA1
RA2
RA3
RA4/T0CKI
RB0/INT
RB1
RB2
RB3
RB4
RB5
RB6
RB7
R1
100R
17
18
1
2
3
6
7
8
9
10
11
12
13
PIC16F84A
D8
D7
D6
D5
D4
D3
D2
D1
LED-BLUELED-BLUELED-BLUELED-BLUELED-BLUELED-BLUELED-BLUELED-BLUE
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)
b) SIMULACION EN PROTEUS
LIST
P=16F84A
RADIX
HEX
STATUS
PTOB
AUX
DIR1
DIR2
EQU
EQU
EQU
EQU
EQU
0x03
0x06
0x0D
0x0E
0x0F
ORG
BSF
MOVLW
MOVWF
BCF
0x00
STATUS,5
0x00
PTOB
STATUS,5
;seleccionar el banco 1
;carga w con el valor 00h
;para habilitar el puerto B salida
;seleccionar el banco 0
CLRF
CLRF
CLRF
DIR1
DIR2
AUX
ORG
0x00
;limpia la direccion 0EH
;limpia la direccion 0FH
;limpia la direccion 0DH
MOVLW
MOVWF
MOVWF
MOVLW
MOVWF
MOVWF
MOVFW
MOVWF
MOVFW
MOVWF
GOTO
0X3f
DIR1
AUX
0xF3
DIR2
DIR1
AUX
DIR2
DIR1
PTOB
CICLO
CICLO
END
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
el
P=16F84A
HEX
STATUS
PTOA
PTOB
EQU
EQU
EQU
0x03
0x05
0X06
ORG
BSF
MOVLW
MOVWF
MOVLW
MOVWF
BCF
0x00
STATUS,5
0x1F
PTOA
0x00
PTOB
STATUS,5
;seleccionar el banco 1
;carga w con el valor 01h para habilitar
; el puerto A como entrada
;carga w con el valor 00h para habilitar
; el puerto B como salida
;seleccionar el banco 0
CLRF
CLRF
PTOA
PTOB
;limpia el puerto A
;limpia el puerto B
MOVFW
MOVWF
GOTO
END
PTOA
PTOB
CICLO
CICLO
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.
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
P=16F84A
HEX
EQU
EQU
EQU
ORG
BSF
MOVLW
MOVWF
MOVLW
MOVWF
BCF
0x00
STATUS,5
0x1F
PTOA
0x00
PTOB
STATUS,5
;seleccionar el banco 1
;carga w con 1Fh
;habilitar puerto A como entrada
;carga w con 00h
;habilitar puerto B como salida
;seleccionar el banco 0
CLRF
CLRF
PTOA
PTOB
;limpia el puerto A
;limpia el puerto B
MOVLW
ADDWF
MOVWF
GOTO
0x05
PTOA,0
PTOB
CICLO
0x03
0x05
0x06
el
END
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.
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.
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
el
Cdigo .asm
LIST
RADIX
P=16F84A
HEX
STATUS
PTOA
PTOB
EQU
EQU
EQU
0x03
0x05
0x06
ORG
BSF
MOVLW
MOVWF
0x00
STATUS,5
0x0F
PTOB
;seleccionar el banco 1
;carga w con el valor 0fh
;habilitar puerto B en nibble
BCF
STATUS,5
;seleccionar el banco 0
CLRF
SWAPF
GOTO
PTOB
PTOB,1
CICLO
;limpia el puerto B
;intercambia nibbles del puerto B
;ir a la subrutina CICLO
CICLO
END
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
microcontrolador 16F84A y presione ok.
2) Seleccione FILE
el
LIST
RADIX
P=16F84A
HEX
STATUS
PTOB
CONTA1
CONTA2
EQU
EQU
EQU
EQU
0x03
0x06
0x0D
0x0E
ORG
BSF
MOVLW
MOVWF
BCF
0x00
STATUS,5
0x00
PTOB
STATUS,5
;seleccionar el banco 1
;carga w con 00h para habilitar puerto B salida
;transfiere contenido de w en 0x05 del banco 1
;seleccionar el banco 0
CLRF
MOVLW
MOVWF
CALL
MOVLW
MOVWF
CALL
GOTO
PTOB
0x80
PTOB
TIEMPO
0x00
PTOB
TIEMPO
CICLO
;limpia el puerto B
;cargamos w con el numero 80h
;enviamos el registro w al puerto B
;llamamos a la subrutina de tiempo TIEMPO
;cargamos w con el numero 80h
;enviamos el registro w al puerto B
;llamamos a la subrutina de tiempo TIEMPO
;ir a la subrutina CICLO
MOVLW
MOVWF
MOVLW
MOVWF
DECFSZ
D'150'
CONTA1
D'20'
CONTA2
CONTA2,1
GOTO
DECFSZ
LAZO1
CONTA1,1
GOTO
RETURN
LAZO2
CICLO
TIEMPO
LAZO2
LAZO1
END
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:
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
microcontrolador 16F84A y presione ok.
2) Seleccione FILE
LIST
RADIX
P=16F84
HEX
W
F
EDO
PTAB
CONTA4
CONTA1
CONTA2
CONTA3
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
0x00
0x01
0x03
0x06
0x0C
0x0D
0x0E
0x0F
ORG
0x00
BSF
MOVLW
MOVWF
BCF
EDO,5
b'00000000'
PTAB
EDO,5
INICIO
;-----------------------------BUCLE
INICIA PROGRAMA----------------------------------MOLVW
MOVWF
CALL
MOVLW
MOVWF
CALL
0x80
PTAB
TEMPO
0x00
PTAB
TEMPO
MOVLW
0x40
el
MOVWF
CALL
MOVLW
MOVWF
CALL
GOTO
;--------------------------------TEMPO
LAZO2
LAZO1
TEMPO1
LAZO4
LAZO3
PTAB
TEMPO1
0x00
PTAB
TEMPO1
BUCLE
RUTINA DE TIEMPO---------------------------------
MOVLW
MOVWF
MOVLW
MOVWF
DECFSZ
GOTO
DECFSZ
GOTO
RETURN
D'5'
CONTA1
D'5'
CONTA2
CONTA2,1
LAZO1
CONTA1,1
LAZO2
MOVLW
MOVWF
MOVLW
MOVWF
DECFSZ
GOTO
DECFSZ
GOTO
RETURN
D'6'
CONTA3
D'6'
CONTA4
CONTA4,1
LAZO3
CONTA3,1
LAZO4
END
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.
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)
d) SIMULACION EN PROTEUS
INICIO
IZQ
EQU
EQU
EQU
EQU
0x03
0x06
0x0D
0x0E
ORG
BSF
MOVLW
MOVWF
BCF
0x00
STATUS,5
0x00
PTOB
STATUS,5
CLRF
PTOB
BCF
STATUS,0
MOVLW
0x01
MOVWF
PTOB
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
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.
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)
b) SIMULACION EN PROTEUS
ESTADO
EQU
0x03
PORTB
EQU
0x06
AUX1
EQU
0x0C
AUX2
EQU
0x0D
AUX3
EQU
0x0E
ORG
BCF
0x00
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
CINCO
GOTO 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:
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)
b) SIMULACION EN PROTEUS
W EQU
F EQU
0
1
PUERTOB EQU
ESTADO EQU
PCL
EQU
0x06
0x03
0x02
AUX1
EQU
0x0C
AUX2
EQU
0x0D
AUX3
EQU
0X0E
CUENTA
EQU
ORG
BSF
0x20
0x00
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:
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)
f)
el
;fin
;+-----------------------------------------------------------------;|
;+-----------------------------------------------------------------;inicio
Giro
+
|
XORWF
BTFSS
GOTO
GOTO
npaso,w
ESTADO,2
Test
Inicio
;fin
;+-------------------------------------------------------------------;| RETARDO DE 60 mlSeg
;+-------------------------------------------------------------------Retardo
MOVLW
.33
MOVWF
Aux1
PLoop1
MOVLW
.60
MOVWF
Aux2
PLoop2
CLRWDT
CLRWDT
DECFSZ
Aux2,1
GOTO
PLoop2
DECFSC
Aux1,1
GOTO
PLoop1
CLRWDT
RETURN
;fin
;+-------------------------------------------------------------------;|
TABLA MOTOR GIRA A LA DERECHA |
;+-------------------------------------------------------------------TablaD
ADDWF
PCL,f
RETLW
B'00001001'
RETLW
B'00000011'
RETLW
B'00000110'
RETLW
B'00001100'
END
+
|
+
; 1 set number of repetitions (B)
;1|
; 1 set number of repetitions (A)
;1|
; 1 clear watchdog
; 1 cycle delay
; 1 + (1) is the time over? (A)
; 2 no, loop
; 1 + (1) is the time over? (B)
; 2 no, loop
; 1 cycle delay
; 2+2 Done
+
;09
;03
;06
;0C
;Fin del programa
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:
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
ENCABEZADO
el
;+------------------------------------------------------------------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
;fin
;+-------------------------------------------------------------------;|
GIRA MOTOR HACIA LA IZQUIERDA
;+-------------------------------------------------------------------;inicio
GiroI
MOVF
npaso,w
CALL
TablaI
MOVWF
PUERTOB
CALL
Retardo
INCF
npaso,f
MOVLW
0x04
XORWF
npaso,w
BTFSS
ESTADO,2
GOTO
Test
GOTO
Inicio
;fin
Retardo
MOVLW
.33
MOVWF
Aux1
PLoop1
MOVLW
.60
MOVWF
Aux2
PLoop2
CLRWDT
CLRWDT
DECFSZ
Aux2,1
GOTO
PLoop2
DECFSZ
Aux1,1
GOTO
PLoop1
CLRWDT
RETURN
;fin
;|
TABLA MOTOR GIRA A LA DERECHA
;+-------------------------------------------------------------------TablaD
ADDWF
PCL,f
RETLW
B'00001001'
RETLW
B'00000011'
RETLW
B'00000110'
RETLW
B'00001100'
--------------------------------------------------------------------;|
TABLA MOTOR GIRA A LA IZQUIERDA
TablaI
ADDWF
PCL,f
RETLW
B'00001100'
RETLW
B'00000110'
RETLW
B'00000011'
RETLW
B'00001001'
;09
;03
;06
;0C
;0C
;06
;03
;09
END
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
ENCABEZADO
p = 16F84
HEX
;Usar el PIC16F84A-04/P
;Todo en hexadecimal
el
;|
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
;+----------------------------------------------------------
----------;|
;inicio
VelMin
npaso,w
TablaD
PUERTOB
Retardo
npaso,f
0x04
npaso,w
ESTADO,2
Test
Inicio
;fin
;+-------------------------------------------------------------------;| RETARDO DE 60 mlSeg
;+-------------------------------------------------------------------Retardo
MOVLW
.33
MOVWF
Aux1
PLoop1
MOVLW
.60
MOVWF
Aux2
PLoop2
CLRWDT
CLRWDT
DECFSZ
Aux2,1
GOTO
PLoop2
DECFSZ
Aux1,1
GOTO
PLoop1
CLRWDT
RETURN
;fin
;| RETARDO DE 30 mlSeg
Retardo1
MOVLW
.15
MOVWF
Aux1
PLoop1
MOVLW
.30
MOVWF
Aux2
PLoop2
CLRWDT
CLRWDT
DECFSZ
Aux2,1
GOTO
PLoop2
DECFSZ
Aux1,1
GOTO
PLoop1
CLRWDT
RETURN
;|
TABLA MOTOR GIRA A LA DERECHA |
TablaD
ADDWF
PCL,f
RETLW
B'00001001'
RETLW
B'00000011'
;09
;03
RETLW
RETLW
END
B'00000110'
B'00001100'
;06
;0C
;Fin del programa
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
1) Seleccione CONFIGURE
SELECT DEVICE de la ventana desplegable seleccione
microcontrolador 16F84A y presione ok.
2) Seleccione FILE
;|
Ciclo1
Ciclo2
Retardo
Uno
Dos
Tres
ENCABEZADO
|
;Usar el PIC16F84A-04/P
;Todo en hexadecimal
VARIABLES
0
1
0x06
0x05
0x03
0x02
0x0C
0x0D
0x0E
0x20
0x00
|
;Cuando d=0 el destino es w
;Cuando d=1 el destino es f
;Direccin del Puerto B
;Direccin del Estado
;Direccin de PCL
;Direcciones de ocupados para
;la subrutina de retardo
;Direccin del registro que lleva el conteo
;Direccin de inicio
BSF
ESTADO,5
CLRF
PUERTOB
CLRF
PUERTOA
BCF
ESTADO,5
PROGRAMA PRINCIPAL
BSF
PUERTOA,0
;Pasarse al Banco 1
;Establecer el Puerto B como de salida
CLRF
MOVF
CALL
MOVWF
CALL
INCF
MOVLW
XORWF
BTFSS
GOTO
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
CLRWDT
DECFSZ
GOTO
DECFSZ
;Inicializar el contador
;Pasar a W el contenido de contador
;Llamar a la tabla dependiendo de W
;Mandar al Puerto B el valor obtenido
;Llamar la subrutina de retardo
;Incrementar al contador
;Mover b'1010' a W
;Hacer ope XOR cuenta con W
;El contador es igual a 10?
;No, seguir con el conteo
;Si, ir a inicilizar el contador
;14
cuenta
cuenta,w
Tabla
PUERTOB
Retardo
cuenta,f
0x0A
cuenta,w
ESTADO,2
Ciclo2
Ciclo1
0x0D
Aux1
0x48
Aux2
0x7A
Aux3
Aux3,f
Tres
Aux2,f
;Volver al banco 0
|
;Activar el display 1
;72
;0xF7
;247
el
Sig
;|
Tabla
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
END
GOTO
Dos
DECFSZ
Aux1,f
GOTO
Uno
GOTO
Sig
CLRWDT
RETURN
TABLA DE LOS DGITOS (0-9)
;B'gfedcba'
ADDWF
PCL,f
RETLW
B'00111111'
RETLW
B'00000110'
RETLW
B'01011011'
RETLW
B'01001111'
B'01100110'
;4
B'01101101'
;5
B'01111100'
;6
B'00000111'
;7
B'01111111'
;8
B'01100111'
;9
;0
;1
;2
;3
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.