Está en la página 1de 13

Introduccin.

Al igual que los humanos, un microcontrolador interacta con el mundo exterior,


recibe datos del mismo y tambin se los enva despus de procesarlos. En el mundo
de la electrnica, los microcontroladores PIC son muy tiles, ya que facilitan tareas,
ayudan a la reduccin de costos, ya que a un bajo precio se puede obtener esta
herramienta muy til para realizar diferentes funciones y debido a su tamao, se
pueden montar en un espacio reducido dentro de nuestras creaciones.

Es as que travs del desarrollo de estas prcticas, seremos capaces de observar


el funcionamiento de los microcontroladores, ms especficamente del
microcontrolador PIC16F84 que es el PIC en el que enfocaremos nuestra atencin.

Marco Terico

Microcontroladores PIC (Peripherical Interface Controller)

Un microcontrolador es un circuito programable que contiene todos los


componentes necesarios para controlar el funcionamiento de una tarea determinada
(Palacios, Remiro, & Lpez, 2004).

Ilustracin 1. Estructura interna del PIC.


Son circuitos electrnico completos en los cuales todos sus componentes (CPU,
diodos, etc.) se organizan sobre un chip o pastilla semiconductor de silicio muy
pequea que, luego es encerrada en una cpsula plstica que contiene los pines de
acceso para comunicarse. Adems, poseen un juego de instrucciones reducido, son
chips pequeos, con consumo de potencia muy bajo. Poseen las siguientes
caractersticas:

La arquitectura del procesador sigue el modelo Hardvard. La memoria del


programa es independiente de la de los datos.
Tcnica de segmentacin (pipeline) en la ejecucin de instrucciones. La
segmentacin permite al procesador dividir la ejecucin de las instrucciones en
varias fases, para permitir atender instrucciones en cada fase de manera
simultnea.

Ilustracin 2. Aspecto fsico de un microcontrolador.

Poseen formato de instrucciones de una misma longitud. Las instrucciones de


los microcontroladores ms sencillos tienen una longitud de palabra de 12 bits,
los medianos tienen 14 bits y los de mayor complejidad poseen ms longitud.
Posee de un Procesador RISC (computador de juego de instrucciones reducido).
Son computadores de juego de instrucciones reducido, en los que el repertorio
de instrucciones es muy restringido; las instrucciones son muy simples y suelen
ejecutarse en un siclo mquina. Adems, los RISC deben tener una estructura
pipeline y ejecutar todas las instrucciones a la misma velocidad.
Todas las instrucciones son ortogonales. Cualquier instruccin puede manejar
cualquier elemento de la arquitectura como fuente o como destino. En ls PIC, el
manejo del banco de registros que participan activamente en la ejecucin de las
instrucciones es muy interesante, por ser estas ortogonales.
Arquitectura basada en un banco de registros. Implica que todos los elementos
del sistema (es decir, temporizadores, puertos de entrada/salida, posiciones de
memoria, etc.) estn implementados fsicamente como registros.
Diversidad de modelos de microcontroladores. La gran variedad de modelos de
microcontroladores PIC permite que el usuario pueda seleccionar el ms
conveniente para su proyecto.
o El nmero de patillas de E/S vara e 4 a 70, segn el modelo.
o Casi todos disponen de una memoria EEPROM de 16 a 1024 bytes para
almacenar datos y recuperarlos despus de haber eliminado la
alimentacin.
o Las frecuencias mximas ms habituales de funcionamiento, segn el
modelo, son 4MHz y 10 MHz, llegando algunos a los 48 MHz.
o Adems de las entradas/salidas digitales, temporizadores y contadores,
segn el modelo, podemos disponer de entradas/salidas analgicas
(convertidoras A/D, D/A), comparadores analgicos, amplificadores
operacionales, puerto serie, I2c, USB.
o Segn la versin de PIC, la pilla o stack dispone de un cierto nmero de
niveles, lo que supone poder encadenas ms o menos subrutinas.
o Los microcontroladores ms sencillos no admiten interrupciones, pero el
resto s
o Hay PICs en los que el temporizador TMR1 tiene un circuito oscilador que
puede trabajar asncronamente y que puede incrementarse, aunque el
microcontrolador se halle en el modo de reposo (sleep), posibilitando la
implementacin de un reloj en tiempo real.
o En algunos modelos, las lneas de E/S de uno o ms puertos presentan
una carga pull-up activada por el software.
o Amplio margen de alimentacin y corrientes de salida elevadas. La
tensin tpica de los PIC es de 5V, pero, segn de qu modelos se trate,
se pueden alimentar con tensiones de 2 a 6.25, lo cual posibilita el
funcionamiento mediante pilas corrientes importantes por su bajo
cojsumo (menos de 2 mA a 5V y 4 MHz). Las lneas de E/S de los PI>C
pueden proporcionar o absorber una corriente de salida comprendida
entre 20 y 25 mA, capaz de controlar directamente ciertos perifricos.
o Herramientas potentes y econmicas.

Tipos de PIC

De acuerdo a la familia de productos. Las principales diferencias radican en el


nmero de instrucciones y su longitud y el nmero de puertos y funciones, lo
cual se refleja en el encapsulado, la complejidad interna y de programacin y en
el nmero de aplicaciones. PIC10, PIC12, PIC14, PIC16, PIC17, PIC18.
Segn el tipo de memoria empleada. Flash, OTP, ROM.
De acuerdo al nmero de patillas E/S. 4-7 patillas, 18-27 patillas, 28-44 patillas,
45-80 patillas.
Segn el tamao de la memoria. 0.5K-1K, 2K-4K, 8K-16K, 24K-32K, 48K-64K,
96K-128K (Aranda, 2014).

PIC16F84
El PIC 16F84 es un microcontrolador de Microchip Technology fabricado con
tecnologa CMOS, su consumo de potencia es muy bajo y adems es
completamente esttico, es decir; puede detenerse y los datos no se pierden
(Chelinoska, 2011).

El

Ilustracin 3. Encapsulado de 18 pines y smbolo.


Normalmente un PIC 16F8 se alimenta con 5 V aplicados entre los pines V DD y VSS
que son la alimentacin y la masa del Chip respectivamente.

Puertos de entrada/salida

Los puertos estn constituidos por lneas digitales de entrada/salida que trabajan
entre 0 y 5 V. Los puertos se pueden configurar como entradas para recibir datos o
como salidas para gobernar dispositivos externos.

El PIC 16F84 tiene dos puertos:

El puerto A con 5 lneas, pines RA0 a RA4.


El puerto B con 8 lneas, pines RB0 a RB7.

Cada lnea puede ser configurada como entrada o como salida,


independientemente unas de otras, segn se programe (Palacios, Remiro, & Lpez,
2004).

Ilustracin 4. Circuito del entrenador para aprendizaje del microcontrolador 16F84.


Prctica 1:00010101 a PORT B

Prctica 2: PORT A a PORT B

ORG 0

Inicio
bsf STATUS,RP0
clrf TRISB
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0

Principal
movf PORTA,W
movwf PORTB
goto Principal

END
Prctica 3: PORT A + Constante = PORT B

CONSTANTE EQU d'05'


ORG 0
Inicio
bsf STATUS,RP0
clrf TRISB
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0

Principal

movf PORTA,W
addlw CONSTANTE
movwf PORTB
goto Principal

END

Prctica 4: PORT A + PORT A = PORT B

CONSTANTE EQU d'03'

ORG 0
Inicio
bsf STATUS,RP0
clrf TRISB
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0

Principal

movf PORTA,W
addwf PORTA,W
movwf PORTB
goto Principal

END

Prctica 5: Por el PORT B se obtiene el dato introducido por el PORT A pero


los bits pares de salida se fijan en 1.

ORG 0
Inicio
bsf STATUS,RP0
clrf TRISB
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0

Principal

movf PORTA,W
iorlw b'00010101'
movwf PORTB
goto Principal

END
Prctica 6: Por el PORT B se obtiene el contenido de PORT A pero los bits de
salida impares se fijan siempre a 0.
ORG 0
Inicio
bsf STATUS,RP0
clrf TRISB
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0

Principal

movf PORTA,W
andlw b'11110101'
movwf PORTB

goto Principal

END

Prctica 7: Comprobar que un registro es mayor o menor que otro.


NUMERO EQU d'10'
ORG 0
Inicio
bsf STATUS,RP0
clrf TRISB
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0

Principal

movlw NUMERO
subwf PORTA,W
movlw b'11110000'
btfss STATUS,C
goto ActivaSalida
movlw b'11111111'
btfsc STATUS,Z
goto ActivaSalida
movlw b'01010101'

ActivaSalida

movwf PORTB
goto Principal

END

Prctica 8: El PORT B acta como salida es controlado por el bit 0 del PORT
A, que acta como entrada.
ORG 0
Inicio
bsf STATUS,RP0
clrf TRISB
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0

Principal

btfsc PORTA,0
goto EsUno
movlw b'11111111'
movwf PORTB
goto Principal

EsUno

movlw b'11110000'
movwf PORTB

END
Evaluacin 1: Control de un depsito de lquidos.
; SR SLC SV Led 1 Led 2 Led 3 Led 4 Led 5 Bomba1 Bomba2
;0 0 0 1 0 0 0 0 1 1
;0 0 1 0 1 0 0 0 1 1
;0 1 0 0 0 1 0 0 1 0
;0 1 1 0 1 0 0 0 1 0
;1 0 0 0 0 0 1 0 0 0
;1 0 1 0 0 0 0 1 0 0
;1 1 0 0 0 0 0 1 0 0
;1 1 1 0 0 1 1 0 0 0

; SV=Nivel bajo
; SLC=Nivel medio
; SR=Nivel alto
; Led 1= Vacio
; Led 2= LLenandose
; Led 3= LLeno
; Led 4= Rebase
; Led 5= Alarma

;ZONA DE DATOS
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++

LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

ORG 0

Inicio

BSF STATUS,RP0 ;Ingresa a banco 1


CLRF TRISB ;Limpia el puerto B
MOVLW b'00011111' ;Se declaran las entradas de puerto A
MOVF TRISA ;Se mueve la literal al puerto A
BCF STATUS,RP0 ;Se regresa a banco 0

Principal

movf PORTA,W ;Se leen las entradas en puerto A (sensores)


andlw b'00000111' ;Mscara para quedarse en el valor de los sensores
addwf PCL,F ;Salta a la configuracin adecuada
goto config0 ; 0,0,0
goto config1 ; 0,0,1
goto config2 ; 0,1,0
goto config3 ; 0,1,1
goto config4 ; 1,0,0
goto config5 ; 1,0,1
goto config6 ; 1,1,0
goto config7 ; 1,1,1
config0 ;Indicador "vacio" se ilumina y encendido de la Bomba1 y Bomba2
movlw b'01000011'
goto ActivaSalida

config1
movlw b'00100011' ;Nivel bajo, con las dos bombas encendidas y el indicador
"llenandose" se ilumina
goto ActivaSalida

config2
movlw b'00010010' ;Nivel medio, se para la Bomba2 y el indicador "lleno" se
ilumina
goto ActivaSalida

config3
movlw b'00100010' ;Alarma=fallo
goto ActivaSalida

config4
movlw b'00001000' ;Nivel alto, se para la ultima bomba, Bomba1, y el indicador
"rebase" se ilumina
goto ActivaSalida

config5
movlw b'00000100' ;Alarma=fallo
goto ActivaSalida

config6
movlw b'00000100' ;Alarma=fallo
goto ActivaSalida

config7
movlw b'00011000' ;Alarma=fallo
goto ActivaSalida

ActivaSalida
movwf PORTB
goto Principalg
END
Bibliografa
Aranda, D. (2014). Electrnica: Tcnicas digitales y microcontroladores. Buenos Aires, Argentina:
Dlaga S.A.

Chelinoska. (2011). Curso Avanzado de Microcontroladores PIC. Obtenido de Wordpress:


https://chelinoska.files.wordpress.com/2011/03/electronica-curso-avansado-de-
microcontroladores-pic-proyectos-pic-16f84.pdf

Palacios, M. E., Remiro, D. F., & Lpez, P. L. (2004). Microcontrolador PIC 16F84. Madrid, Espaa:
Alfaomega.