Você está na página 1de 11

UNIVRESIDAD DE CARABOBO

FACULTAD DE INGENIERIA
DEPARTAMENTO DE SISTEMAS Y AUTMATICA
LABORATORIO DE MICROPROCESADORES

INFORME #1
MANIPULACIN DE ENTRADAS Y SALIDAS
DIGITALES

Realizado por:
Elena Perdomo
CI: 21.026.661

JUNIO 2016

OBJETIVO GENERAL:
Disear programas en lenguaje ensamblador para manipular entradas y
salidas digitales del microcontrolador, que se relacionen con la
resolucin de problemas reales.
Objetivos Especficos:

Verificar los procedimientos para el desarrollo de aplicaciones con microcontroladores


Manipular salidas digitales con el microcontrolador
Procesar entradas digitales con el microcontrolador

Conectar perifricos digitales (pulsadores, interruptores, leds) con el microcontrolador

Se requiere elaborar una aplicacin para el PIC16F887 que controle el


nivel del tanque mostrado en la figura 1, donde todos los sensores son
ON/OFF (esto es, envan un valor 1 o un valor 0), de acuerdo a las
especificaciones que se indican a continuacin:

Cuando el sensor de nivel alto (HL) est activo (valor 1), deber
encenderse una seal H, y la vlvula de llenado (V1) deber estar

cerrada.
Cuando el sensor de nivel alto (HL) est inactivo (valor 0), deber

abrirse la vlvula de llenado (V1).


Mientras el sensor de nivel bajo (LL) est inactivo (valor 0), se
podr activar la vlvula de vaciado (V2) de acuerdo a la indicacin

del operador.
Mientras el sensor de nivel bajo (LL) est activo (valor 1), no podr
activarse la vlvula de vaciado (V2), la misma deber estar
cerrada.

Mientras la vlvula V1 solamente tiene 2 posiciones (abierta o


cerrada), la vlvula V2 tiene 3 posiciones: cerrada, abierta al 50%,
abierta completamente (100%). El operador puede especificar qu
posicin desea para la vlvula, mediante el accionamiento de un

pulsador P: si presiona P una vez V2 se abre al 50%, si presionar P


una segunda vez V2 se abre al 100% y si presiona P una tercera vez
V2 se cierra; este comportamiento es cclico, de modo que si el
operador presiona P cuatro veces, la vlvula pasara por los estados
abierta 50%, abierta 100%, cerrada y abierta 50%, quedndose en
este ltimo estado, y si luego el operador presiona P, deber cambiar
al estado abierta 100%. Elabore el algoritmo (diagrama de flujo o
pseudocdigo) correspondiente a la aplicacin solicitada, represente
la vlvula V2 mediante 2 salidas digitales: una para indicar el estado
50% abierta, otra para indicar 100% abierta y ninguna salida activa
para indicar que V2 est cerrada. Utilice la nomenclatura indicada
anteriormente (HL, LL, etc) en la elaboracin del algoritmo (esto es,
no se requiere que indique el pin exacto del PIC donde se
representara cada uno de esos elementos).
DIAGRAMA DE FLUJO:

EXPLICACIN SOBRE CONFIGURACIONES:


En primer lugar se declararon las variables a utilizar y se indic la
direccin

en

las

que

se

almacenarn.

De

acuerdo

las

especificaciones del pic16f887 las direcciones OX20 en adelante del


banco 0 no estn ocupadas para registros propios del micro es por
esta razn que se utilizan para almacenar estas variables.

CNT: Contador que lleva el control del estado de la Vlvula 2.

EQUX0x20.
K1: variable usada en el Retardo de tiempo. EQU 0x22
K2: variable usada en el Retardo de tiempo. EQU 0x23

Se desactivaron las interrupciones:


ORG 0X00
GOTO CONFIGURA
ORG 0X05

El PORTA se configur como entrada debido a que los sensores HL, LL


Y CONTROL DE VALVULA 2 son controlados por el estado de dichos
pines. Esto se realiza colocando en 1 todos los bits del TRISA, as
todos los bits del PORTA sern entradas.
El PORTD Y PORTC se configuraron como salidas debido a que es en
ellos que se refleja el estado de cada una de las vlvulas de igual
forma para configurar dichos puertos como salidas, se colocan en 0
todos los bits de los registros TRISC Y TRISD.
BSF STATUS,RP0 ; BANCO 1 (donde estn ubicados los tris asociados
a cada puerto)
MOVLW 0XFF
MOVWF TRISA ; TRISA Todos sus bits en 1
CLRF TRISC ; TRISC Todos sus bits en 0
CLRF TRISD ; TRISD Todos sus bits en 0
BSF STATUS,RP1 ; BANCO 3 (donde estn los Registros ANSEL y
ANSELH)
CLRF ANSEL; Desactivando entradas Analgicas
CLRF ANSELH

BCF STATUS,RP0 ; REGRESANDO AL BANCO 0


BCF STATUS,RP1
CLRF PORTD
CLRF PORTC
CLRF CONT
ESQUEMA CIRCUITAL:

CDIGO ASM:
LIST P=16F887
#INCLUDE "P16F887.INC"
CONT EQU 0X20
K1 EQU 0X22
K2 EQU 0X23
ORG 0X00
GOTO CONFIGURA
ORG 0X05
CONFIGURA
BSF STATUS,RP0
MOVLW 0XFF
MOVWF TRISA
CLRF TRISC
CLRF TRISD
BSF STATUS,RP1
CLRF ANSEL
CLRF ANSELH
BCF STATUS,RP0
BCF STATUS,RP1
CLRF PORTD
CLRF PORTC
CLRF CONT
INICIO
BTFSC PORTA,RA5
GOTO CERRAR_V1
GOTO ACTIVAR_V1
CERRAR_V1
BSF PORTC,RC5 ;ENCIENDO
HL
BCF
PORTC,RC0
;
V1
CERRADA
BTFSS
PORTA,RA1 ;
PREGUNTO POR LL
GOTO ACTIVAR_V2
GOTO CERRAR_V2
ACTIVAR_V1
BCF PORTC,RC5 ;APAGO HL

BSF
PORTC,RC0
ABIERTA
BTFSSPORTA,RA1
;PREGUNTO POR LL
GOTO ACTIVAR_V2
GOTO CERRAR_V2
CERRAR_V2
MOVLW B'00010000'
MOVWF PORTD
GOTO INICIO
ACTIVAR_V2
BTFSC PORTA,RA0
GOTO INICIO
CALL RETARDO
BTFSC PORTA,RA0
GOTO INICIO
INCF CONT,1
MOVLW .1
SUBWF CONT,0
BTFSC STATUS,Z
GOTO ABRIR_50
MOVLW .2
SUBWF CONT,0
BTFSC STATUS,Z
GOTO ABRIR_100
CIERRA
BTFSS PORTA,RA0
GOTO CIERRA
MOVLW B'00010000'
MOVWF PORTD
CLRF CONT
GOTO INICIO
ABRIR_50
MOVLW B'10010000'
MOVWF PORTD
BTFSC PORTA, RA0
GOTO ABRIR_50
GOTO ACTIVAR_V2
ABRIR_100
MOVLW B'10010010'
MOVWF PORTD
BTFSC PORTA, RA0
GOTO ABRIR_100
GOTO ACTIVAR_V2
END

;V1

SIMULACIN:
SIMULACIN MPLAB:

INICIO DEL PROGRAMA: TANTO PORTA, PORTD Y PORTC Y CNT en 0


RA1=0 , Se puede activar VLVULA 2, Se ha pulsado solo una vez el
pulsador CNT=1 Abrir50%. PORTD = B10010000 , RA5=0 HL
Encendido RC0=1
RA1=0 , Se puede activar VLVULA 2, Se ha pulsado solo dos veces el
pulsador CNT=2 Abrir50%. PORTD = B10010010 . RA5=0 HL
Encendido RC0=1
RA1=0 , Se puede activar VLVULA 2, Se ha pulsado solo dos veces el
pulsador CNT=3 CERRADA PORTD = B0001000 RA5=0 HL Encendido
RC0=1

RA1=1 , NO se puede activar VLVULA 2, cerrada, PORTD = B0001000,


RA5=1 v1 Abierta RC0=0, RC5=1.
SIMULACIN PROTEUS:

RA1= 0,Se puede activar V2,


V2 50% ABIERTA. RA5=0, HL
encendido RC0=1.

RA1= 0,Se puede activar V2,


V2 100% ABIERTA. RA5=0, HL
encendido RC0=1.

RA1= 0,CERRADA V2, RA5=1,


HL APAGADO RC0=0, RC5=1
V1 ABIERTA.

Você também pode gostar