You are on page 1of 14

UNIVERSIDAD NACIONAL DE SAN ANTONIO

ABAD DEL CUSCO

FACULTAD DE INGENIERIA
ELCTRICA, ELECTRNICA, INFORMTICA Y MECNICA.
ESCUELA PROFESIONAL
DE INGENIERIA INFORMTICA Y DE SISTEMAS

PROCEDIMIENTOS EN PIC 16F84A

CURSO: MICROPROCESADORES
DOCENTE: PALOMINO OLIVERA EMILIO
ALUMNOS:
-

Gutierrez Huahuatico Noe Koviet


Mamani Sota Delia
Marca Pfoccori Luz Maribel
Pacco Quispe Deivi
Paucara Pinares Daniel
Pimentel Cruz Jimmy

114142
131354
113560
113564
073311

Cusco - Per

UNSAAC

INDICE
Presentacin.......................................................................................................1
Introduccin........................................................................................................2
Aspectos generales............................................................................................3
Planteamiento del problema..............................................................................3
Alcance..............................................................................................................3
Objetivos Generales..........................................................................................3
Metodologa.......................................................................................................4
Marco terico......................................................................................................5
PIC16F84A.....................................................................................................5
Pines y funciones...........................................................................................5
Puertos del microcontrolador.........................................................................6
El oscilador externo........................................................................................8
Reset..............................................................................................................8
Procedimientos............................................................................................19
Conclusiones.....................................................................................................11
Bibliografa........................................................................................................12
Links................................................................................................................12

UNSAAC

PRESENTACION
El presente informe es un trapajo en grupo asignado por el docente del curso
de microprocesador donde daremos a conocer tanto el funcionamiento y
desarrollo sobre procedimientos en el PIC 16F84A.
Para esto utilizaremos tanto las guas facilitadas por docente de la asignatura y
tanto el internet tendremos que todo material sea previa referenciada en la
bibliografa.
En el presente informe veremos de manera ms detallado todo el proceso de la
implementacin de los ejemplos en MPLAB IDE.

UNSAAC

INTRODUCCION
En este presente informe veremos tanto la arquitectura del PIC 16F84A y
Procedimientos
en el PIC 16F84A
enfocndonos
mucho mayor
en
procedimientos en el PIC 16F84A veremos tanto la teora y ejemplos respecto a
los temas tocados en estn instancia de este presente informe explicaremos el
mecanismo de funcionamiento de los procedimientos en lenguaje ensamblador e
implementar programas utilizando en el lenguaje ensamblador del PIC 16F84A
(para lo cual utilizaremos el siguiente programa MPLAB IDE).
Los procedimientos son mdulos donde se pueden reutilizar o ser referenciada
des de otro programa.

UNSAAC

ASPECTOS GENERALES
Planteamiento del problema
En la actualidad existe una buena cantidad de informacin que nos ayuda a
profundizar y ampliar todo respecto a los procedimientos y tendremos que ver el
funcionamiento del PIC 16F84A las instrucciones operaciones que realiza es
por eso que este documento lo estamos realizando para dar a conocer todo
respecto a los procedimientos que veremos la funcionalidad de los ejemplos
dados en la gua asignado por el docente de la asignatura para lo cual
utilizaremos el programa MPLAB IDE donde daremos solucin con los
respectivos procedimientos veremos la reutilizacin o llamada de algunos
procedimientos por parte de otras programas .
Alcance
El estudiante debe conocer todo respecto a los procedimientos ya que el alumno
ya conoce el funcionamiento de los procedimientos que es parte de la
modularidad.
Los procedimientos son algo similar a los mtodos en un lenguaje de alto nivel,
son llamados para ejecutarse y al terminar continuar la lnea siguiente despus
de haber llamado el procedimiento los procedimientos son usados para realizar
tareas en especfico como lo puede ser imprimir cierto mensaje en pantalla o
hacer alguna operacin aritmtica.
Los puertos del microcontrolador PIC16F84 son el medio de comunicacin con el
mundo exterior.
Objetivos Generales
Adquirir una slida
microprocesadores.

comprensin

del

funcionamiento

interno

de

los

Conocer y emplear eficientemente el entorno de programacin del Lenguaje


Ensamblador.
Elaborar programas a nivel avanzado que permiten manejar eficientemente los
recursos del microprocesador
Implementar
programacin

procedimientos en ensamblador empleando herramientas de

Metodologa
A la hora de desarrollar un programa pequeo, cualquier metodologa puede valer.
El problema surge cuando ese programa va creciendo, con lo que la cantidad de
sentencias e instrucciones lo hace poco legible y ya no es posible hacer un
seguimiento lgico de su ejecucin.
UNSAAC

Otro factor a tener en cuenta, es que la persona que lea un cdigo no tiene porqu
ser la misma que lo ha escrito. An ms, es posible que sean diferentes
programadores los que intervengan en el desarrollo de una aplicacin.

UNSAAC

La principal ayuda utilizada para la divisin del programa en procedimientos es el


diagrama jerrquico, que es una figura orientada a bloques que resume las
relaciones entre los mdulos (tareas) y submdulos (subtareas). El diagrama
jerrquico muestra la cadena de subordinaciones que existen entre los mdulos y
submdulo. Es una gran ayuda tanto para el programador como para cualquier
otra persona que quiera analizar el programa, ya que permite ver de forma clara
su estructura funcional.MARCO TEORICO
PIC16F84A
Un microcontrolador, es un circuito integrado programable que contiene los
elementos necesarios para controlar un sistema.
PIC significa Peripheral interface Controler es decir un controlador de perifricos.
Cuando hablamos de un circuito integrado programable que controla perifricos,
estamos hablando de un sistema que contiene entre otras cosas una unidad
aritmtica-lgica, una memoria de datos y programas, unos puertos de entrada y
salida, es decir estamos hablando de un pequeo ordenador diseado para
realizar una funcin especfica.
Podemos encontrar microprocesadores en lavadoras, teclados, telfonos mviles,
ratones etc. Hay multitud de microprocesadores con ms memoria, entradas y
salidas, frecuentes de trabajo, coste, subsistemas integrados, dependiendo de
cada tipo de microcontrolador. El presente documento est basado en el popular
microcontrolador PIC 16F84A del fabricante Microchip Technology Inc ya que es
un sistema sencillo, barato y potente para muchas aplicaciones.
Las caractersticas del microcontrolador las podemos encontrar en la web del
fabricante microchip.
El PIC16F84 es un microcontrolador con memoria de programa tipo FLASH, lo
que representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya
que no se requiere borrarlo con luz ultravioleta como las versiones EPROM sino,
permite reprogramarlo nuevamente sin ser borrado con anterioridad. Por esta
razn, lo usaremos en la mayora de aplicaciones que se desarrollan a lo la rgo del
curso.
Pines y funciones

UNSAAC

El PIC16F84 es un microcontrolador de Microchip Technology fabricado en


tecnologa CMOS, su consumo de potencia es muy bajo y adems es
completamente esttico, esto quiere decir que el reloj puede detenerse y los datos
de la memoria no se pierden.
El encapsulado ms comn para el microcontrolador es el DIP (Dual In-line Pin)
de 18 pines, propio para usarlo en experimentacin. La referencia completa es
16F84-04/P, para el dispositivo que utiliza reloj de 4 MHz. Sin embargo, hay otros
tipos de encapsulado que se pueden utilizar segn el diseo y la aplicacin que
se quiere realizar. Por ejemplo, el encapsulado tipo surface mount (montaje
superficial) tiene un reducido tamao y bajo costo, que lo hace propio para
producciones en serie o para utilizarlo en lugares de espacio muy reducido, la
figura muestra los tipos de empaque que puede tener el integrado.
PIC16F84A

Puertos del microcontrolador


Los puertos son el puente entre el microcontrolador y el mundo exterior. Son
lneas digitales que trabajan entre cero y cinco voltios y se pueden configurar
como entra- das o como salidas.
El PIC16F84 tiene dos puertos. El puerto A con 5 lneas y el puerto B con 8 lneas.
Cada pin se puede configurar como entrada o como salida independiente
programando un par de registros diseados para tal fin. En ese registro un "0"
configura el pin del puerto correspondiente como salida y un "1" lo configura como
entrada.

UNSAAC

El puerto B tiene internamente unas resistencias de pull-up conectadas a sus


pines (sirven para fijar el pin a un nivel de cinco voltios), su uso puede ser
habilitado o deshabilitado bajo control del programa. Todas las resistencias de
pull-up se co- nectan o se desconectan a la vez, usando el bit llamado RBPU que
se encuentra en el registro (posicin de memoria RAM) llamado OPTION. La
resistencia de pull-up es desconectada automticamente en un pin si este se
programa como salida. El pin RB0/INT se puede configurar por software para que
funcione como interrupin ex- terna, para configurarlo se utilizan unos bits de los
registros INTCON y OPTION.
El pin RA4/TOCKI del puerto A puede ser configurado como un pin de entrada/salida
o como entrada del temporizador/contador. Cuando este pin se programa como
entrada digital, funciona como un disparador de Schmitt (Schmitt trigger), puede
reconocer seales un poco distorsionadas y llevarlas a niveles lgicos (cero y cinco
voltios). Cuando se usa como salida digital se comporta como colector abierto, por lo
tanto, se debe poner una resistencia de pull-up (resistencia externa conectada a un
nivel de cinco voltios). Como salida, la lgica es inversa: un "0" escrito al pin del
puerto entrega en el pin un "1" lgico. Adems, como salida no puede manejar
cargas como fuente, slo en el modo sumidero.
Como este dispositivo es de tecnologa CMOS, todos los pines deben estar
conectados a alguna parte, nunca dejarlos al aire porque se puede daar el
integrado. Los pines que no se estn usando se deben conectar a la fuente de
alimentacin de +5V.

La mxima capacidad de corriente de cada uno de los pines de los puertos en


UNSAAC

modo sumidero (sink) es de 25 mA y en modo fuente (source) es de 20 mA.


La mxima capacidad de corriente total de los puertos es:
Modo sumidero
Modo fuente

PUERTO A
80 mA
50 mA

PUERTO B
150 mA
100 mA

El consumo de corriente del microcontrolador para su funcionamiento depende del


voltaje de operacin, la frecuencia y de las cargas que tengan sus pines. Para un
reloj de 4 MHz el consumo es de aproximadamente 2 mA; aunque este se puede
reducir a 40 microamperios cuando se est en el modo sleep (en este modo el
micro se detiene y disminuye el consumo de potencia).
El oscilador externo
Todo microcontrolador requiere un circuito externo que le indique la velocidad
a la que debe trabajar. Este circuito, que se conoce como oscilador o reloj, es
muy simple pero de vital importancia para el buen funcionamiento del sistema.
El PIC16F84 puede utilizar cuatro tipos de oscilador diferentes.
Estos tipos son:
RC: Oscilador con resistencia y condensador.
XT: Cristal.
HS: Cristal de alta velocidad.
LP: Cristal para baja frecuencia y bajo consumo de potencia.
Reset
En los microcontroladores se requiere un pin de reset para reiniciar el
funcionamiento del sistema cuando sea necesario, ya sea por una falla que se
presente o porque as se halla diseado el sistema. El pin de reset en los PIC es
llamado MCLR (master clear). El PIC16F84 admite diferentes tipos de reset:
Al encendido (Power OnReset)
Pulso en el pin MCLR durante operacin normal.

Pulso en el pin MCLR durante el modo de bajo consumo (modo sleep)


El rebase del conteo del circuito de vigilancia (watchdog) durante operacin
normal
El rebase del conteo del circuito de vigilancia (watchdog) durante el
modo de bajo consumo (sleep)

El reset al encendido se consigue gracias a dos temporizadores. El primero de


ellos es el OST (Oscillator Start-Up Timer: Temporizador de encendido del
oscilador), orientado a mantener el microcontrolador en reset hasta que el oscilador
del cristal es estable. El segundo es el PWRT (Power-Up Timer : Temporizador de
encendido), que provee un retardo fijo de 72 ms (nominal) en el encendido
nicamente, diseado para mantener el dispositivo en reset mientras la fuente se
estabiliza. Para utilizar estos temporizadores, slo basta con conectar el pin MCLR
UNSAAC

a la fuente de alimentacin, evitndose utilizar las tradicionales redes RC externas


en el pin de reset.
El reset por MCLR se consigue llevando momentneamente este pin a un estado
lgico bajo, mientras que el watchdog WDT produce el reset cuando su
temporizador rebasa la cuenta, o sea que pasa de 0FFh a 00h. Cuando se quiere
tener control sobre el reset del sistema se puede conectar un botn como se
muestra en la figura.

Procedimientos
Un procedimiento es un mdulo de software que puede ser referenciado desde
otro programa.
La ventaja de que un procesador soporte procedimientos, es que este permitir la
programacin modular y la reutilizacin de cdigo. Para que un procesador
permita el uso de procedimientos, este debe implementar una memoria pila, pues
esta es la base para implementar las instrucciones de llamada a procedimientos y
el retorno de los procedimientos al programa principal. La memoria pila se utiliza
para almacenar la direccin de retorno del programa principal, antes de iniciar la
ejecucin del mdulo invocado y se utiliza para volver al programa principal y
continuar la ejecucin de la instruccin que sigue a la llamada al procedimiento
antes indicado.
El PIC 16F84A cuenta con una memoria pila de 8 palabras de 13 bits, la cual se
encuentra fuera del espacio de memoria para los programas o los datos como
puede verse en el siguiente grfico que muestra la arquitectura de mencionado
micro controlador.

UNSAAC

Las instrucciones que pone a nuestra disposicin el PIC 16F84A, para el manejo
de procedimientos se documentan a continuacin:

Instrucciones de llamada a procedimientos:

CALL

Call Subroutine

Sintaxis

Operando

Operacin

Indicadores

PC + 1 => TOS
Ninguno
k => PC[10:0]
PCLATH[4:3] =>
Apila en la cima de la pila 'PC+1', salta incondicionalmente hacia la etiqueta
'k'.
0 k 2047

call k

Instrucciones de retorno de procedimientos:

RETURN Return from Subroutine


Sintaxis
return

Operandos

Operacin

Indicadores

ninguno

TOS => PC

Ninguno

Carga la cima de la pila en el contador de programa.


RETLW

Return with Literal in W

Sintaxis Operandos

Operacin

Indicadores

k => W TOS =>


Ninguno
PC
Mueve los 8 bits del literal 'k' al registro de trabajo 'W' y retorna de
subprograma.
retlw k

0 k 255

UNSAAC

CONCLUSION

UNSAAC

BIBLIOGRAFIA
https://www.clubensayos.com/Temas-Variados/PIC-16f84A/707727.html
http://sputnik.epsj23.net/~eserra/elect/pics/pic16f84.pdf
https://es.wikipedia.org/wiki/PIC16F84

UNSAAC

You might also like