Beruflich Dokumente
Kultur Dokumente
Integrantes:
Naranjo Erika CI:
Rafael Pacheco CI: 20.664.864
Introduccin
La presente prctica tiene como finalidad utilizar el microcontrolador PIC16F887 para
realizar la manipulacin de entradas y salidas digitales, dichas entradas pueden ser
sensores, suiches, pulsadores o cualquier dispositivo que envi una seal que el
microcontrolador interprete como un valor alto y que tome como base para ejecutar una
accin que puede ser tan sencilla como el encendido de un led o tan compleja como el
control de un sistema de ascensor (por ejemplo), en el cual se tienen que tomar en cuenta un
conjunto de variables que dictarn el estado de las salidas que controla el microcontrolador.
Durante el desarrollo de esta prctica nos apoyaremos en el lenguaje Ensamblador para
realizar la programacin del PIC 16F887 y as poder decirle al dispositivo que acciones
tomar cuando se presenten un conjunto de entradas determinadas para as poder realizar la
ejecucin y/o control del proceso en cuestin que para fines de esta prctica ser el control
de nivel de un tanque que posee dos vlvulas las cuales ser accionadas de acuerdo a
seales enviadas por sensores convenientemente colocados para poder realizar de manera
satisfactoria el control y monitoreo del proceso de nivel. Es de gran importancia adems de
lo antes expuesto conocer la arquitectura interna del microcontrolador y como estn
organizadas sus respectivas memorias de programa y espacios de uso general para poder
realizar de manera correcta la configuracin y programacin de este.
En la implementacin de esta prctica se utiliz el dispositivo de desarrollo PT-40 el cual
permite observar de manera fsica como el PIC 16F887 responde a los cambios en sus pines
de entradas y como estos cambios se ven reflejados en las salidas de este pudiendo as
determinar si los resultados de las simulaciones se corresponden con la realidad.
Desarrollo De La Prctica
Para el desarrollo de la siguiente prctica se procedi en primera instancia a entender de
manera completa lo que se solicitaba en el enunciado de esta, posteriormente se hizo el
desarrollo de un diagrama de flujo que permitiera entender de manera ms clara la
secuencia de eventos y condiciones que permitan realizar la ejecucin de las acciones que
se pretendan realizar en funcin de lo pedido en la presente prctica, luego se realiz la
codificacin en lenguaje Ensamblador y luego de una serie de depuraciones, se obtuvo un
cdigo libre de errores lgicos y de sintaxis el cual luego se prob en el ambiente de
simulacin ISIS-Proteus 8 y se evidenci que este funcionaba de manera correcta de
acuerdo a lo solicitado en la prctica en cuestin para luego pasar a una demostracin fsica
del proceso mediante la utilizacin de la tarjeta de desarrollo PT-40.
Diagrama de Flujo
Cdigo Ensamblador
#include <p16f887.inc>
HL
EQU RA5
LL
EQU RA2
PV2
EQU RA0
EQU RC0
LED100
EQU RD1
LED50
EQU RD7
EQU 0x22
ORG 0x00
GOTO
Inicio
ORG 0x05
Inicio
BSF
STATUS,RP0
MOVLW
0xff
MOVWF
TRISA
MOVLW
b'00000000'
MOVWF
TRISC
MOVLW
b'00000000'
MOVWF
TRISD
BSF
STATUS,RP1
CLRF ANSEL
BCF
STATUS,RP1
BCF
STATUS,RP0
BCF
INTCON,GIE
CLRF PORTC
CLRF PORTD
CLRF CONT
VerificarPuls: ;Rutina que perimite establecer la posicion de la valvula V2
BTFSC
PORTA,PV2
GOTO
VerificarHL
GOTO
IncrementarPuls
IncrementarPuls:
BTFSS
PORTA,PV2
GOTO IncrementarPuls
BTFSC
CONT,2
GOTO Cambio100a0
BTFSC
CONT,1
GOTO Cambio50a100
GOTO
Cambio100a0:
Cambio0a50
;Valvula pasa de 100% de apertura a 0% de apertura
CLRF CONT
GOTO
Cambio50a100:
VerificarHL
;Valvula pasa de 50% de apertura a 100% de apertura
BSF
CONT,2
BSF
CONT,1
GOTO
VerificarHL
Cambio0a50:
BCF
CONT,2
BSF
CONT,1
GOTO
VerificarHL
PORTA,HL
GOTO
ApagaV1
GOTO
PrendeV1
ApagaV1:
BCF
PORTC,LEDV1
BSF
PORTC,LEDH
GOTO
VerificarLL
PrendeV1:
BSF
PORTC,LEDV1
BCF
PORTC,LEDH
GOTO
VerificarLL
PORTA,LL
GOTO
ApagaV2
GOTO
PrendeV2
ApagaV2:
BCF
PORTD,LED100
BCF
PORTD,LED50
BSF
PORTD,LED0
GOTO
VerificarPuls
PrendeV2:
BTFSC
CONT,2
GOTO V2a100
BTFSC
CONT,1
GOTO V2a50
GOTO
V2a100:
BSF
PORTD,LED100
BSF
PORTD,LED50
BSF
PORTD,LED0
GOTO
VerificarPuls
V2a50:
PORTD,LED100
BSF
PORTD,LED50
BSF
PORTD,LED0
GOTO
VerificarPuls
V2a0:
END
V2a0
PORTD,LED100
BCF
PORTD,LED50
BSF
PORTD,LED0
GOTO
VerificarPuls
Conclusin
Luego de realizar de manera satisfactoria la presente prctica, se pudo llegar a la conclusin
de lo importante que es la correcta manipulacin de las entras y salidas digitales a la hora
de realizar aplicaciones que involucren el uso de microcontroladores tanto en la industria
como en aplicaciones de uso general, ya que el saber usar dichas entradas y salidas de
manera correcta y acertada, permitir realizar correctamente el control y/o la
implementacin de cualquier proceso o aplicacin por muy sencilla o compleja que sea, es
importante destacar que el usar de manera correcta las entradas digitales le permite al micro
obtener informacin del mundo exterior, para as poder realizar las acciones
correspondientes de acuerdo a lo que este codificado en su memoria de programa y as
poder entregar como salidas lo que el programador desee de acuerdo a la aplicacin que se
est desarrollando. Por otra parte se pudo verificar la importancia de conocer la sintaxis del
lenguaje ensamblador para as poder realizar una programacin libre de errores que retrasen
de manera significativa el desarrollo de la aplicacin que se est desarrollando as mismo es
importante tener a la mano el set de instrucciones del microcontrolador que se est
utilizando (PIC 16F887) para as poder jugar con estas a la hora de desarrollar la lgica del
programa, la cual se facilita en gran medida gracias al uso de diagramas de flujos para
poder esquematizar de manera visual la secuencia del proceso que se desea implementar
utilizando el microcontrolador.
Rafael Pacheco