You are on page 1of 5

UNIVERSIDAD CATLICA DE SANTA MARA

P. P. DE INGENIERA MECANICA, MECANICA ELECTRICA Y MECATRNICA


CDIGO:
ASIGNATURA:

4A08045
MICROCONTROLADORES Y MICROPROC.

PRIMERA FASE: ARQUITECTURA DE MICROCONTROLADORES

SOFTWARE DE PROGRAMACION DE
MICROCONTROLADORES

I.

GUA DE LABORATORIO NRO 2


Pag 1/5
Docente(s):
SERGIO MESTAS RAMOS
Fecha:

OBJETIVOS
Comprobar el funcionamiento de diferentes programas con microcontroladores.
Utilizar distintas herramientas para realizar una simulacin y un debug de los programas
anteriores.

II.

MATERIALES Y/O EQUIPOS A UTILIZAR

III.

Computador.
MPLab.
Protoboard.
Microcontrolador.
Dispositivos varios.
Entrenador

DESARROLLO DE LA PRACTICA
3.1 Manejo de E/S
1. Edite el siguiente programa en MPLAB.

List p=16F84
include"P16F84.INC"
org
0x00
goto Inicio
org
0x05
Inicio clrf
PORTB
bsf
STATUS,RP0
clrf
TRISB
movlw b'00011111'
movwf TRISA
bcf
STATUS,RP0
Leer movf PORTA,W
movwf PORTB
goto Leer
end

;Tipo de procesador
;Incluye el fichero con los nombres de los registros
;Vector de Reset
;Salva el vector de interrupcin
;Borra los latch de salida
;Selecciona banco 1 de la memoria de datos
;Puerta B se configura como salida
;Puerta A se configura como entrada
;Selecciona banco 0 de la memoria de datos
;Leer las entradas RA0-RA4
;Reflejar en las salidas
;Bucle sin fin
;Fin del programa fuente

2. Compile el programa.
3. Simule el programa y abra las ventanas de Memoria de programa, registros de funcin especial (FSR)
y la ventana de estimulus para el puerto de entrada.
4. Anote en una tabla el valor del PC, W, TRISA, TRISB, PORTA y PORTB para cada corrida del
programa.

Ejecucin

STATUS

PC

TRISA

TRISB

PORTA

PORTB

1
..
N

5. Dibuje el diagrama de flujo del programa anterior.


6. Determine cul es el propsito del programa.
3.2 Control de una lmpara.
7. Edite el siguiente programa en MPLAB.

List p=16F84
include"P16F84.INC"
Temp equ
0x0c
org
0x00
goto Inicio
org
0x05
Inicio clrf
PORTB
bsf
STATUS,RP0
clrf
TRISB
movlw b'00000011'
movwf TRISA
bcf
STATUS,RP0
clrf
Temp
Loop movf PORTA,W
andlw b'00000011'
movwf Temp
btfsc STATUS,Z
goto Apagar
movlw b'00000001'
subwf Temp,W
btfsc STATUS,Z
goto Encender
movlw b'00000010'
subwf Temp,W
btfsc STATUS,Z
goto Encender
Apaga bcf
PORTB,0
goto Loop
Enciende
bsf
PORTB,0
goto Loop
end

;Tipo de procesador
; Incluye el fichero con los nombres de los registros
;Variable temporal que se almacena en la posicin 0x0c
;Vector de Reset
;Salva el vector de interrupcin
;Borra los latch de salida
;Selecciona banco 1 de la memoria de datos
;Puerta B se configura como salida
;RA0 y RA1 se configuran como entrada
;Selecciona banco 0 de la memoria de datos
;Pone a 0 el registo o variable temporal
;Leer el estado de la puerta A
;Filtra la informacin para quedarnos con RA0 y RA1
;Almacena temporalmente
;RA0=0 y RA1=0 ??
;Si, la lmpara se apaga

;RA0=1 y RA1=0 ??
;Si, la lmpara se enciende

;RA0=0 y RA1=1 ??
;Si, la lmpara se enciende
;No, la lmpara se apaga
;La lmpara se enciende
;Fin del programa fuente

8. Compile el programa.
9. Simule el programa y abra las ventanas de Memoria de programa, registros de funcin especial (FSR)
y la ventana de estimulus para el puerto de entrada.

10. Anote en una tabla el valor del PC, W, TRISA, TRISB, PORTA y PORTB para cada corrida del
programa.

Ejecucin

STATUS

PC

TRISA

1
..
N

11. Dibuje el diagrama de flujo del programa anterior.


12. Determine cul es el propsito del programa.
3.3 Control combinacional.
13. Edite el siguiente programa en MPLAB.

List p=16F84
include"P16F84.INC"
Temp equ
0x0c
org
0x00
goto Inicio
org
0x05
Inicio clrf
PORTB
bsf
STATUS,RP0
clrf
TRISB
movlw b'00001001'
movwf OPTION_REG
movlw b'00000011'
movwf TRISA
bcf
STATUS,RP0
Loop: clrwdt
movf PORTA,W
andlw b'00000011'
movwf Temp
btfsc STATUS,Z
goto Secuencia_00
movlw b'00000001'
subwf Temp,W
btfsc STATUS,Z
goto Secuencia_01
movlw b'00000010'
subwf Temp,W
btfsc STATUS,Z
goto Secuencia_10
Secuencia_11 movlw b'11110000'
movwf PORTB
goto Loop
Secuencia_00 movlw b'10101010'
3

TRISB

PORTA

PORTB

movwf PORTB
goto Loop
Secuencia_01 movlw b'01010101'
movwf PORTB
goto Loop
Secuencia_10 movlw b'00001111'
movwf PORTB
goto Loop
end
14. Comente cada una de las lneas del programa.
15. Compile el programa.
16. Simule el programa y abra las ventanas de Memoria de programa, registros de funcin especial (FSR)
y la ventana de estimulus para el puerto de entrada.
17. Anote en una tabla el valor del PC, W, TRISA, TRISB, PORTA y PORTB para cada corrida del
programa.

Ejecucin

STATUS

PC

TRISA

1
..
N

18. Dibuje el diagrama de flujo del programa anterior.


19. Determine cul es el propsito del programa.
3.4 Control secuencial.
20. Edite el siguiente programa en MPLAB.

List

p=16F84
include"P16F84.INC"
org
0x00
goto Inicio
org
0x05
Inicio clrf
PORTB
bsf
STATUS,RP0
clrf
TRISB
movlw b'00001001'
movwf OPTION_REG
movlw b'00000011'
movwf TRISA
bcf
STATUS,RP0
Loop: clrwdt
btfsc PORTA,0
goto Alarma_On
btfss PORTA,1
goto Loop
Alarma_Off bcf
PORTB,0
goto Loop
4

TRISB

PORTA

PORTB

Alarma_On

btfsc
goto
bsf
goto
end

PORTA,1
Alarma_Off
PORTB,0
Loop

21. Comente cada una de las lneas del programa.


22. Compile el programa.
23. Simule el programa y abra las ventanas de Memoria de programa, registros de funcin especial (FSR)
y la ventana de estimulus para el puerto de entrada.
24. Anote en una tabla el valor del PC, W, TRISA, TRISB, PORTA y PORTB para cada corrida del
programa.

Ejecucin

STATUS

PC

TRISA

TRISB

PORTA

PORTB

1
..
N

25. Dibuje el diagrama de flujo del programa anterior.


26. Determine cul es el propsito del programa.

IV.

CUESTIONARIO FINAL
1. Realice un programa que funcione segn la siguiente tabla, considerando que el puerto B es entrada y
el A es salida.
RB2

RB1

RB0

RA4

RA3

RA2

RA1

RA0

2. Para el programa anterior repita los pasos desarrollados en cada uno de los programas anteriores.
3. Realice un programa que a partir de una combinacin binaria de 4 bits entregue como salida un valor
para activar un display de 7 segmentos de ctodo comn.
4. Para el programa anterior repita los pasos desarrollados en cada uno de los programas anteriores.

V.
VI.

CONCLUSIONES.
BIBLIOGRAFA O REFERENCIAS UTILIZADAS EN EL DESARROLLO DE LA
PRACTICA
5

You might also like