You are on page 1of 5

1) Activacin de un led con una seal de entrada a travs de un pulsador

PROGRAMACION EN MPLAB
Variante1:
LEER

MOVF PORTA,W;Cargamos el contenido de PORTA en registro W


MOVWF PORTB
;Movemos el contenido de W a PORTB
GOTO LEER
;Creamos un bucle infinito
END

Variante2: Declarar una variable llamada CARGA , en el campo de variables


LEER

MOVF PORTA,W
MOVWF
CARGA
COMF CARGA
MOVF CARGA,W
MOVWF PORTB
GOTO LEER
END
Ejercicio:

; CARGAMOS EL CONTENIDO DE PUERTO A EN W.


;PASAMOS EL CONTENIDO DE W A LA VARIABLE CARGA.
;COMPLEMENTAMOS EL CONTENIDO DE CARGA.
;
;GARGAMOS EL CONTENDIO DE W EN PUERTO B.
; CREAMOS UN BUBLE INFINITO.

1) Cree un circuito con PIC16F84A que controle 5 led conectados al puertoB con 5
pulsadores conectados al puertoA, llene la tabla 1. Nota: Comente cada lnea de
cdigo del programa.
Tabla 1

Codigo

Registro W

PortA

PortB

Variables

2) Activacin de un led con una seal de entrada a travs de un pulsador


Circuito en proteus

Diagrama de flujo

PROGRAMACION EN MPLAB

1. ;ActivaLED.asm
Fecha:01/09/2015
2. ;Este Programa activa un led conectado al puerto PB0
3. ;a travs de un pulsador conectado al puerto PA0.
4. ;**************************************************
5. list p=16F84A
6. #include P16F84A.inc
7. __CONFIG
_CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
8. ;**** Mapa de Memoria y Definicin de variables ****
9. Led
equ 0
10.
Pulsador equ 0
11.
;**** Seccin Codigo Reset ***
12.
Reset
org 0x00
13.
goto Inicio
14.
org 0x05
15.
;**** Configuracin de Puertos******
16.
Inicio
bsf STATUS,RP0
17.
movlw
b'00001'
18.
movwf
TRISA
19.
movlw
b'11111110'
20.
movwf
TRISB
21.
bcf STATUS,RP0
22.
bcf PORTB,Led
23.
;**** Seccion principal de codigo ****
24.
Bucle
btfsc
PORTA,Pulsador
25.
goto Apagar
26.
bsf PORTB,Led
27.
goto Bucle
28.
29.
Apagar
bcf PORTB,Led
30.
goto Bucle
31.
end

Ejercicio:
2) Modifique el programa usando la instruccin BTFSS pero que realice la misma funcin
del programa anterior. Nota: comente cada lnea del cdigo de programa.

3) Elabore un programa que lea las entradas RB0-RB3 conectando pulsadores y active las
salidas RB4-RB7 conectando LEDs. Comente cada lnea de cdigo del programa.
Realice el montaje simulado en Proteus y llene una tabla 2 con los valores de los
registros involucrados en la aplicacin.

Tabla 2

Cdigo

Registro W

PortB

Variables

Figura 1: Diseo del circuito en proteus.

4) Elaborar un programa para un sencillo medidor de nivel: En RA0 y RA1

estn conectados dos sensores de nivel S1 y S2 respectivamente. Las


salidas correspondientes son RB1 y RB2.

5) Elabore un programa con las siguientes caractersticas:


a. S2 inactivo, activar led1(tanque vacio).
b. S2 activo, activar led2 (tanque llenando) y apagar led1.
c. S1 activo, activar led3 (tanque lleno) y apagar led2.
6) Elaborar un programa para el medidor de nivel que tenga 8 entradas
(PORTB) y 4 salidas (PORTA). Cada salida se activara con dos entradas
corespondientes

You might also like