Está en la página 1de 36

1

ÍNDICE

1. Introducción…………………………………………………………………….3
2. Objetivos………………………………………………………………………..4
2.1. Objetivos Generales………………………………………………………..4
2.2. Objetivos Específicos………………………………………………………4
3. MARCO TEORICO…………………………………………………………….5
3.1. Que Es El Microcontrolador……………….……………………………….5
3.2. Historia Del Microcontrolador……………..………………………………5
3.3. Comparación Entre Microcontrolador Y Microprocesador………………..6
3.4. Especificaciones Del Dispositivo……………………….………………….6
3.5. Descripción De Pines……………………………………………………….6
3.6. Arquitectura Del Pic16f84………………………………………………….7
3.7. Memoria Del Programa……………………………………………………..7
3.7.1. Memoria De Datos………………………………………………8
3.7.2. Puertos De Entrada Y Salida……………………………………8
3.8. Configuración De Los Puertos De Entrada Y Salida……………………….9
3.9.Límite De Corriente Para Los Puertos………………………………………10
3.10. Temporizadores Para El Pic 16F84…….………………………………..11
3.10.1. Timero………...…………………………………………………12
3.10.2. El Preescaler……………………………………………………..13
3.11. Otros Circuitos Del Microcontrolador...…………………………………14
3.12. Oscilsdor Externo………..………………………………………………15
4. Desarrollo De La Investigacion…………………………………………………17
4.1. Otros Tipos De Microcontroladores Pic……………………………………17
4.1.1. Micro controlador PIC16F84……………………………………17
4.1.2. Micro controlador PIC16F877…………………………………..17
4.1.3. Micro controlador PIC16F887……..……………………………17

5. Microcontrolador PIC16F84……………………………………………………18
5.1.1. Capacidad De Datos (Ram)……………………………….…….18
5.1.2. Programación Del Pic16f84…………………………………….19
5.1.3. Programadores…………………………………………………..19
6. Microcontrolador Pic16f877……………………………………………………....20

2
6.1.1. Características Del Microcontrolador Pic16f877……………….…20

6.1.2. Dispositivos Periféricos……………………………………….…..21


6.1.3. Componentes De Los Pines………………………………….……22
6.1.4. Estructura Interna Del Pic 16f877…………………………….…..23
6.1.5. Pic 16f877 De Microchip……………………………………….…23
6.1.6. Pines…………………………………………………………….…24
6.1.7. Arquitectura Interna…………………………………………….…24
6.1.8. Memoria De Programa (Flash)……………………………………24
6.2. Mapa De Memoria…………………………………………………………....25
6.2.1. Memorias De Datos…………………………………………….....25
6.3.Tabla De Registros…………………………………………………………....26
6.4.Reloj U Oscilador………………………………………………………….….26
7. Microcontrolador Pic16f887………………………………………………………27
7.1.Características Del Microcontrolador Pic16f887………………..……………27
7.2.Las Características Más Importantes…………………………………………28
7.3.Componentes De Los Pines……………………………….………………….29
7.4.Dispositivo De Procesamiento (Cpu)………………….……………………..30
7.5.Memoria…………………………………………………………..…………..30
7.5.1. Memori Rom………………………………………….….……….31
7.5.2. Memoria Eeprom………………...……………………….………32
7.5.3. Memoria Ram……………………………………………….……32
7.6. Bancos De La Memoria Ram………………………………….…………….33
7.7.Tablas De Los Bancos De La Memoria Ram…………….…………..………34
7.8.Pila O Bateria………………………………………………………….……..34
8. Conclusiones………………………………………………………………….….35
9. Biliografia………………………………………………………………………..36

3
1. INTRODUCCION

El presente trabajo está basado en el microcontrolador llamado PIC 16F84, de dicho fabricante
conocido como Microchip tecnología inc. En el cual se detallará de manera amplia todos los
temas relacionados a este tipo de micro controlador.

También destacaremos lo importante de este pic en nuestro mundo tecnológico.

Hablaremos de tipos similares al PIC 16F84, puesto que también se estudiaran algunas
características de estos, y por su puesto las ilimitadas aplicaciones de este micro controlador.

Es un circuito integrado programable el que contiene todos los componentes necesarios para
controlar el funcionamiento de una tarea determinada como, el control de una lavadora un
teclado de ordenador, un sistema de alarma, etc.

La utilización de un micro controlador en un circuito reduce notablemente el tamaño y número


de componentes y en consecuencia disminuye la cantidad de averías.

4
2. OBJETIVOS

2.1. OBJETIVOS GENERAL:


 Mostrar cómo funciona el 16f84 conjuntamente con su estructura, arquitectura
y su programación.
2.2. OBJETIVOS ESPECIFICOS:
 Demostrar su que clasificación de su funcionamiento de gama encapsulado es
muy económico de 18 pines.
 Definir cada parte de sus componentes.
 Detallar el sistema de control utilizando temporizadores y contadores.
 Diferenciar sus características de otros micro controladores semejantes.

5
3. MARCO TEORICO

QUE ES UN MICROCONTROLADOR

Circuito integrado programable con factores elementales oportunos y ventajosos para poder
controlar o gobernar todo un sistema.

Controlador de interfaz periférica “pic”, hablamos no solo de un sistema que controla sino una
unidad aritmético como lógica, que consta con entradas y salidas.

HISTORIA

Todo empezó con el equipo de ingenieros asiáticos a finales de la década del sesenta, este grupo
llego a USA con el plan de que algunos circuitos integrados para calculadoras fueran más
rápidas. La propuesta fue revisada por una compañía reconocida actualmente, que estaba a
cargo por aquellos tiempos.
La propuesta requería de bastante uso de memoria lo cual no beneficiaria, con el tiempo
encontraron una solución, así se crea a el primer microprocesador de 4-bits.
Las empresas trabajaron conjuntamente en un microprocesador de 8-bits, que salió al mercado
en inicios de la década de los setenta, dando luz a mucho mas microprocesadores.
Estos avances fueron muy significativos para abrir paso a nuevas revoluciones tecnológicas las
cuales observamos en la actualidad.

COMPARACIÓN DE UN MICROCONTROLADOR Y UN MICROPROCESADOR

La función que tiene cada uno de estos difiere del otro, para el caso del microprocesador
dependerá de su uso ya que no tiene comunicación con el exterior se lo considera como la parte
principal del ordenador.

6
Figura 1. Partes de un microcontrolador.
Fuente. K. Quiñones y F. Telemaco (2010)
Por otro lado el “pic” está diseñado para obtener todo en uno. No se requiere de algún
componente adicional ya que los periféricos se intersecan de manera directa a este. Por este
motivo ahorramos tiempo y espacio para crear un aparato.

EL PIC 16F84

Es un microcontrolador con memoria programado tipo “flash” es decir nunca pierde su


programación, lo que representa gran facilidad en el desarrollo de prototipos por ende permite
ser reprogramado las veces que quieras sin ser borrado con anterioridad.

DESCRIPCION DEL DISPOSITIVO

El PIC 16F84 no es el más moderno, pero es una herramienta valiosa para la introducción
al aprendizaje del mundo de los “pic”. Sus principales características son:

 Diversidad de 35 ordenanzas.

 La totalidad de instrucciones se realizan en un solo periodo a excepto las de salto que


requieren dos.

7
 Un ciclo máquina del “pic” son 4 ciclos de tic tac, por lo tanto un “pic” con un cristal
de 4 mega hertz, se realizaran 1 millón de instrucciones por segundo.

 La frecuencia de trabajo máxima de 10 mega hertz para “pic” y de 20 mega hertz para
este “pic”.

 Memoria adiestrada flash de 1 K por 14 bits.

 Memoria de trabajo dividida en 2 áreas: 22 registros de propósito específico y 68 de


propósito general como memoria de datos.

 15 registros de funciones especiales.

 “alu” de ocho bits y registro de trabajo que normalmente recibe un operando que puede
ser cualquier registro, memoria, puerto de Entrada/Salida.

 cuatro fuentes de interrupciones


 40 años de retención de la memoria “efrom”.
 13 pines de E/S con control individual de dirección.

INDICACION DE PINES

Figura 2. Microcontrolador y sus pines de entrada y salida


Fuente. K. Quiñones y F. Telemaco (2010).

8
Nombre Nº Tipo Descripción
OSC1/CLKIN 16 I Entrada del oscilador
a cristal/Entrada de la
fuente de reloj
OSC2/CLKOUT 15 O Salida del oscilador a
cristal.
MCLR 4 I/P Reset/Entrada del
voltaje de
programación.
RA0 17 I/O Puerto A
bidireccional, bit 0
RA1 18 I/O Puerto A
bidireccional, bit 1

RB1 7 I/O Puerto B


bidireccional, bit 1
RB2 8 I/O Puerto B
bidireccional, bit 2
Vss 5 P Tierra de referencia
Vdd 14 P Alimentación

DISEÑO DEL PIC 16F84

Sus grandes usos y consumo de los microcontroladores PIC se deben de las características de
su arquitectura. Están basados en una arquitectura tipo Harvard que posee buses y espacios de
memoria por separado para el programa y los datos. Gracias esto son más rápidos que los
microcontroladores constituidos en la arquitectura tradicional.

Figura 3. Diseño grafico de la arquitectura.


Fuente. K. Quiñones y F. Telemaco (2010)

9
Este “pic” es poseedor de características sofisticadas para reducir componentes
reduciendo costos y consumo. Posee cuatro modos de oscilador totalmente distintos,
desde el simple circuito oscilador “rc” con lo que se rebajan los costos hasta la utilización
de un oscilador a cristal.
En el modo “sleep” el consumo se reduce. Además posee la función (Perro cuidante) que
protege al micro de cuelgues debido a fallode cerebro de ordenador que produzcan bucles
sinfin.

MEMORIA DEL PROGRAMA

Constituida de 14 bits con un total de 1 K, del tipo Flash permite solo la lectura durante su
funcion. Sólo se ejecutará el código contenido en esta memoria, pudiendo almacenar en esta
una cantidad tope de datos como parte de la instrucción “retlw”. La memoria del
microcontrolador, podrá ser grabada o borrada eléctricamente a nuestra dispocision desde el
programador las veces que sean necesarias. La memoria tipo Flash tiene la característica de
poderse borrar en bloques completos y no podrán borrarse posiciones concretas o específicas.
Este tipo de memoria no es volátil, es decir, no pierde sus datos si se obstruye la energía.

Figura 4. Diagrama con las partes de la memoria del programa.


Fuente. K. Quiñones y F. Telemaco (2010)

10
En la actualidad hay varias versiones de memoria de programa para este “pic”
 Versión “qtp”. Aquí el fabricante graba en todos los chips el condigo que configura los
pedidos medianos y grandes.

 Versión “sqtp”. En este el fabricante solamente graba algunos códigos para las labores
de identificación, palabras claves, números de de serie, etc.
Las memorias "flash” han reemplazado a las “efrom” por ser prácticos, al acceder que los
microcontroladores que las incorporan puedan ser reprogramados "en circuito".

MEMORIA DE DATOS

 Formada en dos bancos, banco 0 y banco 1.


 Para mover de página se utiliza un bit del registro.
 Cada banco se reparte a su vez en dos áreas:
 El primero monitorea el funcionamiento, se aplican para el control del funcionamiento
del CPU y los periféricos con los que trabaje.

El segundo puede accederse de manera directa como indirectamente haciendo uso del primero.

Figura 5. Distribución de los dos bancos.


Fuente. K. Quiñones y F. Telemaco (2010)

11
ESTACIÓN O BANCO 0:
Se encuentra conformado por 80 bytes, desde la posición 00 hasta la cuatro. El área RFS tiene
doce registros que estarán utilizados por funciones específicas.

El Área RGP tiene 68 registros de memoria RAM que estarán utilizados para almacenar
archivos momentáneamente requeridos por el programa. Inicia en la dirección cero y termina
en la posición cuatro.

Se emplea dos modos de dirección, el directo y el indirecto. En el directo, los 7 bits de menos
peso de la instrucción proporcionan la dirección en la posición de la página, por lo tanto los
bits RP1 y RP0 seleccionan la página o banco.

PUERTOS DE ENTRADA Y SALIDA

 La característica principal del microcontrolador es el número de pines de entradas y


salidas que se usan para la conexión de periféricos. En total se usan trece pines
disponibles de entrada o salida de propósito generalmente.

 Los pines del PIC16F84 se encuentran divididos en dos grupos de registros, PORTA y
PORTB los dos son análogas por sus características.

 El Puerto A nos referimos a PORTA tiene 5 líneas de la RA0 a la RA4, en la que hay
que distinguir la A4 o T0CKI que está compartida con la entrada para el TMR0 a través
de un botón.
 El Puerto B nos referimos a PORTB tiene ocho líneas de E entre S que van desde la rb4
a la rb7.

CONFIGURACION DE LOS PUERTOS DE ENTRADA Y SALIDA

No incumbe la línea, cualquiera puede ser de entrada o de salida. En tal caso, si actúa como
entrada la información que se introduce no se guardara, por lo tanto debe ser mantenida hasta
que sea observada.

Los bits de cada puerto se configuran mediante los bits de dos registros especiales de control,
que son:
Si apretamos el reseteo, todos los bits de los registros “tris” cambian los roles a tener el valor
uno y todas las líneas de (E entre S) actúan como entrada para evitar daños irreversibles. Todas

12
las patitas de E entre S que no trabajen deben ser llevadas a +5v, regla de las entradas “cmos”
si o si con una resistencia para evitar que se muestren como salidas.

Luego de configurar los pines podemos indicar al pic de esta manera: entregando un 1 o un 0
a las salidas dependerán del dato que llegue al ingreso.

Figura 6. Configuración de pines para el puerto B.


Fuente. K. Quiñones y F. Telemaco (2010)

LIMITE DE CORRIENTE PARA LOS PUERTOS

Es el medio de comunicación que existe con el planeta de afuera, gracias a estos se puede
conectar los periféricos o circuitos que querramos. Se deben acatar normas básicas para que el
microcontrolador no se deteriore o destruya. Entonces debemos saber los límites de corriente
que puede soportar el microcontrolador.

Si son de salida muestran un nivel lógico.

 Emana una potencia total de 800 miliWatts.

 Corriente mayor de salida a VSS 150 miliAmperios.


 Máxima corriente de salida de VDD 100 miliAmperios.
 Si utilizamos todas las líneas del puerto "A" como fuente, no deberá exceder de 50
miliAmperios toda la corriente que añade este puerto.
 De 150 miliAmperios toda la corriente que suministre este puerto.
13
Utilización de buffers de corriente, adicionan en su salida el mismo nivel lógico que la entrada
ademas controlan corrientes relativamente elevadas.

Figura 7. ULN2803 circuito integrado de 8 buffers


Fuente. K. Quiñones y F. Telemaco (2010)

TEMPORIZADORES DEL PIC16F84

TIMERO

Cuenta o temporiza, tiene en su registro 8 bits, brinda de manera directa al hardware


del pic.

Partes del timero:

 Cuenta y temporiza de ocho bits.

 Divisor de ocho bits ajustado por los software.

 Selección de reloj adentro y afuera.

 Interrupción por sobrellenado.

En el modo contador hace conteos extremos por medio de un pin o en el modo temporizador
para contar pulsos internos de reloj de frecuencia constante.

También se puede agregar un prescaler, en cualquier caso como un diferencial de hertz que
divide por dos, cuatro, ocho o de doscientos cincuenta y seis. Este divisor es alternativo como
prescaler o del tmro según como se lo programe.

14
El tmro no varia el valor memorizado, aumenta consecutivamente esto lo hace singular.
Ejemplo: Escribimos en él el valor diez, después de un tiempo el registro comienza a
ser incrementado a once, doce, trece y así sucesivamente constantemente y totalmente
independiente del resto del programa.

La parte interna del pic determina el accionar del regitro tmro.

Figura 8. Bloques internos del PIC en una placa.


Fuente. K. Quiñones y F. Telemaco (2010)

EL PRESCALER

Divide y programa, es de 8 bits, se configura a través de los bits pese0 y pse1 del registro
opciones.
Esta frecuencia Fosc entre4 se trata de una parte de la frecuencia del controlador de segundos.
Utiliza un megagertz por lo tanto tendremos una Fosc entre 4 analogo a un megagertz, como
consecuencia provoca un tmro, un millón de aumentos por segundo. Estoresultaria complicado
para otro dispositivo por ser demasiado elevada.

15
Figura 9. Diagrama de la función del PSA.
Fuente. K. Quiñones y F. Telemaco (2010)

Figura 10. Configuración de la función


Fuente. K. Quiñones y F. Telemaco (2010)

Recalcando, esto también es de mucha utilidad tenerlo en cuenta: Cuando el prescaler es


asignado al temporizador/contador, cualquier registro del TMR0 limpiara el prescaler.

 Cuando el prescaler es asignado al temporizador watch-dog, una instrucción CLRWDT


limpiara ambos, al prescaler y al WDT.

 Cuando el registro escrito en TMR0 se usa como temporizador, no efectuara el pulso


continuo para empezar inmediatamente, solamente cuando se cumplan dos
instrucciones del retardo del ciclo.

16
OTROS CIRCUITOS DEL MICROCONTROLADOR

Figura 11. Circuitos complemetarios del micro controlador 16f84.


Fuente. K. Quiñones y F. Telemaco (2010)

Oscilador Externo: Es instalado con el microcontrolador o conectado al pin OSC1 y


OSC2, es llamado “Externo” porque se necesitamos de un circuito externo para obtener
la señal de reloj y la frecuencia de estabilización, los cuales pueden ser un oscilador de
cristal, un resonador cerámico o un circuito RC.

Oscilador interno: Consiste de dos osciladores externos separados:


El HFINTOSC es un oscilador interno de altas frecuencias el cual opera a 8MHZ. El
microcontrolador puede usar una señal de reloj a esa frecuencia y luego dividirla en el
preescaler.

El LFINTOSC es un oscilador interno el cual opera a 31KHZ. Esta frecuencia es usada


por el watch-dog y el power-up timer.

OSCILADOR EXTERNO

El modo LP, XT y HS aguantan el uso del oscilador de adentro para configurar los Hertz
de trabajo, Esta frecuencia es guiada por el resonador cerámico conectado al pin.
Dependiendo de las partes de los componentes.

17
Figura 12. Oscilador externo del 16f84
Fuente. K. Quiñones y F. Telemaco (2010)

Figura 24. Oscilador externo de manera fisica.


Fuente. K. Quiñones y F. Telemaco (2010)

18
DESARROLLO DE LA INSVENTIGACION

OTROS TIPOS DE MICROCONTROLADORES PIC

En la actualidad hay un sin fin de micro controladores que se utilizan en la gama de los equipos
para programar y controlar.

Se tiene los siguientes tipos de micro controladores PIC.

 Micro controlador PIC16F84


 Micro controlador PIC16F877
 Micro controlador PIC16F887

Según los tipos de micro controladores se pueden diferenciar según su ancho de palabra 4, 8,
16, 32, bits, según la especialidad concreta como comunicación, señales, robótica, maquinas,
etc.

Fabricantes de micro controladores:

FABRICANTES
NATIONAL semiconductor COP400-COP800
MICROCHIP Serie PIC
ATMEL 8051-AT91SAN-AVR-AVR32

Figura 15: Fabricantes


Fuente: Hardvard

Aplicaciones del micro controladores:

 Robótica.
 Equipamiento Informático.
 Sistemas Portátiles y Autónomos
 Sector Automotriz.
 Sector Doméstico.

MICROCONTROLADOR PIC16F84

El micro controlador PIC16F84 destaca por cuya simplicidad y prestaciones con una facilidad
de uso y precio lo han convertido en un gran importante del micro controlador, así mismo

19
consta de un chip que contiene mucha tecnología, que nosotros necesitamos saber para poder
controlar el tipo de microcontrolador que podamos utilizar en algún equipo.

El microcontrolador PIC 16F84 es un componente adecuado para conocer nuevas técnicas en


especial para estudiantes de electrónica. También puede ser fácil de encontrar en el mercado
para poder utilizarlo ya que es fácil de reprogramarlo. Es un componente independiente y
programable.

CAPACIDAD DE DATOS (RAM)


El microcontrolador PIC 16F84 consta de varios registros que estos actúan de acuerdo a una
memoria RAM. En el registro contiene algo específico disponible para su propio chip que está
conectados directo en la memoria RAM.

La memoria RAM puede constar dependiendo de un dispositivo PIC y este puede variar según
el modelo de manipulación de los bancos de la memoria RAM y ser adecuados a la memoria
externa, el dispositivo puede contener funciones que puedan ocultar en toda su amplitud el
espacio direccionable.

PROGRAMACIÓN DEL PIC16F84


En la programación del PIC 16F84 podemos analizar y transferir un código al ordenador PIC
que se lo conoce con el nombre de programador. En la familia de los microcontroladores PIC
de la empresa Microchip en la actualidad han incorporado una programación a menor voltaje.

También nos permite programar a un PIC en un distinto circuito y se suelen usar los pines RB6
y RB7 para un buen funcionamiento. En otros modelos de microcontroladores PIC se pueden
utilizar como reloj y datos.

Los microcontroladores más amplios incluyen PIC reprogramados con una gran variedad y así
poder enviar las ordenes a un microcontrolador PIC al cual podremos programar, en la
actualidad es el más fácil de programar para cualquier proyecto que podamos realizar en el
ámbito de dar un gran avance en la tecnología.

PROGRAMADORES
 Puerto serie y USB.
 Puerto serie II.
 MPLAB.
 ICD2.
 ICD3 USB.
20
 PICK 1 USB.
 PICAT 1.25 Puerto USB.

MICROCONTROLADOR PIC16F877

A este microcontrolador se lo puede dar a conocer como unos de los PIC programable siendo
eficaz en realizar todo tipo de actividades que pueda solicitar el procedimiento de datos y
control y dar un buen conocimiento en el ámbito de comunicación digital de cualquier
componente y consta también de una memoria interna capaz de poder almacenar todo tipo de
datos que podamos requerir almacenar.

Cada tipo de microcontrolador se puede programar en Assembler pero puede variar según el
tipo de microcontrolador que se va utilizar de acuerdo al fabricante y modelo, siendo el
microcontrolador uno de los de arquitectura más compleja teniendo una unidad lógica del
programa teniendo en cuenta sus entradas y salidas.

En la Unidad Lógica Aritmética podemos darle el uso de procesar datos de acuerdo a las
órdenes que le podríamos dar para que puedan ejecutarse, así mismo los pines solo se encargan
de comunicarle al microcontrolador que hay una transmisión de datos que se está realizando
para un control determinado.

Cada tipo de microcontrolador es fabricado por distinta empresa pero este tipo de
microcontrolador PIC16F84 es de la empresa Microchip al cual se une a la familia de los PIC,
en la actualidad este tipo de microcontrolador es capaz, eficiente y práctico al momento de
emplearlo en algún proyecto de robótica.

Sus características más eficaces en su uso:

 Tiene una capacidad de soportar comunicación serial.


 Capacidad suficiente para programas.
 Consta de una memoria reprogramable.
 Set de instrucciones reducido.

21
CARACTERISTICAS DEL MICROCONTROLADOR PIC16F877

CARACTERISTICAS PIC16F877
Tiene una Frecuencia máxima DX-20MHz
Memoria del programa flash palabra de 14 bits 8KB
Posiciones RAM de datos 368
Puertos E/S A,B,C,D,E
Numero de pines 40
Interrupciones 14
Timers 3
Módulos CCP 2
Comunicaciones serie MSSP, USART

Figura 16: Características del PIC16F877


Fuente: Angulo (2012)

DISPOCITIVOS PERIFERICOS:
 Temporizador contador de 8 bits.
 Temporizador contador de 16 bits.
 Temporizador contador de 8 bits con preescaler.
 Modulación de Anchura de Impulsos.
 Conversor de 10 bits.
 Puerto Serie Síncrono Master.
 Puerta Paralela Esclava.

COMPONENTES DE LOS PINES

NOMBRE DEL PIN PIN TIPO TIPO DE DESCRIPCION


BUFFER
OSC1 13 1 ST/MOS Entrada del oscilador.
OSC2/CLKOUT 14 O - Salida del oscilador de cristal.
MCLR/Vpp/THV 1 I/P ST Entrada del master clear (reset)
o entrada de voltaje.

22
RA0/ANO PORTA es un puerto I/O
bidireccional.
RA1/AN1 2 - TTL RAO: Puede ser salida
analógica 0.
RA2/AN2/Vref- 3 - TTL RA1: Puede ser salida
analógica 1.
RC3/SCK/SCL RC1: Puede ser la entrada del
oscilador.

Figura 17: Tabla de Descripción de pines


Fuente: Angulo (2012)

ESTRUCTURA INTERNA DEL PIC 16F877

Siempre que un electrónico va a utilizar un nuevo dispositivo lo primero que tiene hacer es
estudiar el datas heet u hoja de características, pues ha de adquirir una serie de conocimientos
necesarios para su correcto uso. En esta entrada voy a explicar algunos apartados importantes
de la hoja de características del PIC 16F877 de Microchip, el cual he utilizado durante el
vigente curso:

Figura 18: Estructura del microcontrolador


Fuente: Marlote (2013)

PIC 16F877 DE MICROCHIP

El PIC 16F877 fabricado por la empresa Microchip tiene una gran ventaja ya que tiene un
consumo muy bajo en cuanto a potencia y es completamente estático siendo muy versátil en su
funcionamiento ya que si este se detiene aun asi los datos de la memoria no se pierden. Tiene

23
una memoria que representa una gran capacidad de desarrollar cualquier prototipo, además nos
permite reprogramarlo sin poder borrar los datos ya almacenados.

El encapsulado que he utilizado es de tipo de 40 pines, aunque posee otros encapsulados:

Figura 19: PIC 16F877 y la distribución de sus 40 pines.


Fuente: Marlote (2013)

PINES

Los pines I/O (Input/Output) están organizados en 5 puertos:

Figura 20: Pines


Fuente: Marlote (2013)

24
En el caso de estos pines podemos configurarlos dándoles una señal de entrada y de salida
independientemente para poder registrarlos en la memoria y poder así configurarlos para que
puedan cumplir una función eficaz en la realización de cualquier tipo de programación a
realizar en el microcontrolador y darles algunas funciones especiales a realizar en la robótica.

ARQUITECTURA INTERNA

Nos referimos a los tipos de bloques funcionales de un PIC internamente como la memoria
RAM, la memoria FLASH, la lógica de control.

Figura 21: Estructura interna del PIC 16F877.


Fuente: Marlote (2013)

MEMORIA DE PROGRAMA (FLASH)

En este tipo de memoria tiene una capacidad de 8k donde se puede almacenar el programa o
códigos del microcontrolador a utilizar.

25
Figura 22: Mapa de memoria de programa (FLASH).
Fuente: Marlote (2013)

MAPA DE MEMORIA

Cuando el micro vuelva a ejecutar su tarea normalmente, el contador de programa recupera su


valor leyéndolo en la pila. Al tener una pila de 8 niveles, se pueden acumular 8 llamadas a
subrutinas sin tener problemas.

Vector De Reset: Cuando se resetea el microcontrolador el contador de programa se pone a


cero. Por esto, en la primera dirección del programa se debe escribir todo lo relacionado con la
iniciación del mismo.

Vector de Interrupción: cuando el microcontrolador recibe una llamada a una interrupción, el


contador de programa apunta a la dirección 04H de la memoria de programa, por eso allí se
debe escribir toda la información necesaria para atender dicha interrupción.

26
MEMORIAS DE DATOS

Como he mencionado anteriormente, el PIC 16F877 tiene 2 memorias de datos:

Memoria SRAM (Static Random Access Memory):

Es una memoria de tipo volátil cuando deja de recibir alimentación se borran los datos que
tenga almacenados que está dividida en 4 bancos de 128 bytes cada uno. De esos 128 bytes los
32 primeros están dedicados a los Registros de Funciones Especiales, cumplen un propósito
general en el control y configuración del microcontrolador.

TABLA DE REGISTROS

Figura 23: Tabla de registros del PIC 16F8


Fuente: Marlote (2013)

Memoria EEPROM: Es una memoria que guarda los datos aunque le falte alimentación con
una capacidad de 256 bytes, que permite realizar operaciones de lectura y escritura sin interferir
con el funcionamiento normal del microcontrolador.

RELOJ U OSCILADOR

El pequeño circuito externo que los microcontroladores necesitan para que se les indique la
velocidad de trabajo es conocido como reloj u oscilador. En función del montaje que se realice
se puede conseguir más o menos precisión. En el momento de programar (o quemar los
fusibles) el PIC se debe especificar el tipo de oscilador externo que se va a utilizar. El PIC
16F877 puede utilizar 4 tipos de oscilador diferentes:

27
 XT: Cristal genérico (de 1 a 4 MHz).
 RC: Oscilador con resistencia y condensador.
 HS: Cristal de alta frecuencia (de 10 a 20 MHz).
 LP: Cristal para baja frecuencia y bajo consumo.

MICROCONTROLADOR PIC16F887
Este tipo de microcontrolador tiene una memoria interna que puede almacenar dos tipos de
datos que el programa pueda realizar, dándole algunos datos de un usuario y este maneja los
registros de control del microcontrolador en diferentes operaciones registrando una entrada y
una salida al programa del microcontrolador.

CARACTERISTICAS DEL MICROCONTROLADOR PIC16F887

Se lo conoce a este tipo de microcontrolador como un instrumento programable tan eficaz de


realizar diferentes tipos de procedimientos de datos y control en su amplia gama de
dispositivos.

La Unidad Lógica Aritmética se puede encargar de procesar los datos que le puede dar
instrucciones para poder ejecutarlos y poder trabajarlos en la ejecución de algún programa
programable en cuanto a los pines que se pueden encargar de transmitir los datos para un buen
control de funcionamiento.

LAS CARACTERISTICAS MÁS IMPORTANTES

 Tiene una arquitectura de 8 Bits.


 Se mejoró la versión del PIC16F887 a PIC16F887A.
 Contiene más de 35 pines.
 Contiene una memoria flash de 8192.
 Memoria RAM de 368 bytes.
 Velocidad de CPU de 5 MIPS.
 Contiene un oscilador externo.
 Contiene un oscilador interno.

28
Figura 24: Microcontrolador PIC16F887
Fuente: Salvatierra (2009)

COMPONENTES DE LOS PINES


El microcontrolador PIC16F887 contiene pines en el cual aportan una labor muy importante
en el funcionamiento del microcontrolador donde dispone diferentes funciones.
Los pines cumplen una función esencial que nos permite mejorar su rendimiento en el
microcontrolador sin perjudicar su funcionamiento de cada uno de los pines que asu vez pueden
modificarse durante su funcionamiento.

Figura 25: Pines


Fuente: Salvatierra (2009)

29
DISPOSITIVO DE PROCESAMIENTO (CPU)
Puede constar de un funcionamiento en una forma muy clara con respecto al CPU donde se
puede decir que este tipo de dispositivo está fabricado con una tecnología RISC, donde nos
dará a conocer que tipo de microcontrolador podremos utilizar para el programa.

Al darse la ejecución para cada uno de los instrumentos puede demorarse cuatro ciclos con
una frecuencia de oscilador. Durante su funcionamiento el microcontrolador opera a una
velocidad de 20 MHz donde el programa podrá ejecutar 5 millones de instrucciones por
segundo.

Figura 26: El CPU


Fuente: Salvatierra (2009)

MEMORIA
El microcontrolador PIC 16F887 consta de tres tipos de memoria:

 Memoria ROM.
 Memoria EEPROM.
 Memoria RAM.

30
MEMORI ROM
La capacidad de la memoria ROM contiene una función muy importante la que es guardar
durante la ejecución del programa. La memoria ROM está fabricada en una tecnología FLASH
del cual podemos trabajar con un voltaje especial. Siendo un programa especial para una PC
pudiendo trabajar en el ámbito de la electrónica para hacer algún tipo de programación.

Figura 27: Memoria ROM


Fuente: Salvatierra (2009)
MEMORIA EEPROM
Cumple un funcionamiento muy importante en el programa que al estar apagando se puede ir
guardando la fuente de alimentación que a su vez se puede modificar en su pleno
funcionamiento del microcontrolador PIC 16F887. Siendo esta la memoria adecuada y eficaz
para poder guardar permanentemente los resultados modificados y realizados durante la
programación.

Figura 28: Memoria EEPROM


Fuente: Salvatierra (2009)

31
MEMORIA RAM
Se puede decir que esta memoria RAM contiene una tercera parte del microcontrolador
PIC16F887 en el cual pueden proporcionar unos registros de algunas funciones especiales
teniendo en cuenta que se puede dividir en 4 bancos me memoria el cual se pueda utilizar en
algún tipo de programa que se pueda utilizar.

En la siguiente imagen daremos a conocer cada uno de los grupos y los registros que se puede
fabricar para el funcionamiento del microcontrolador con mucha más eficacia y más didáctico.

Figura 29: Memoria RAM


Fuente: Salvatierra (2009)

BANCOS DE LA MEMORIA RAM

Los bancos de la memoria RAM están divididas en cuatro bancos. Antes de acceder a un
registro al escribir un programa para leer o cambiar su optimalización, es necesario seleccionar
el banco que contiene ese tipo de registro. Más tarde vamos a tratar dos bits del registro
STATUS utilizados para selección en tipo de banco.

32
Figura 30: Bancos de la memoria RAM

Fuente: Salvatierra (2009)

TABLAS DE LOS BANCOS DE LA MEMORIA RAM.

Dir. NOMBRE Dir. NOMBRE Dir. NOMBRE Dir. NOMBRE


00h INDF 80h INDF 100h INDF 180h INDF
01h TMRO 81h OPTION 101h TMR0 181h OPTION
REG REG
02h PCL 82h PCL 102h PCL 182h PCL
03h STATUS 83h STATUS 103h STATUS 183h STATUS
04h FSR 84h FSR 104h FSR 184h FSR
05h PORTA 85h TRISA 105h WDTCON 185h SRCON
06h PORTB 86h TRISB 106h PORTB 186h TRISB
07h PORTC 87h TRISC 107h CM1CON0 187h BAUDCTL
08h PORTD 88h TRISD 108h CM2CON0 188h ANSEL
09h PORTE 89h TRISE 109h CM2CON1 189h ANSELH
0Ah PCLATH 8Ah PPCLATH 10Ah PCLATH 18Ah PCLATH
0Bh INTCON 8Bh INTCON 10Bh INTCON 18Bh INTCON
0Ch PIR1 8Ch PIE1 10Ch EEDAT 18Ch EECON1
0Dh PIR2 8Dh PIE2 10Dh EEADR 18Dh EECON2
0Eh TMR1L 8Eh PCON 10Eh EEDATH 18Eh No utilizado
0Fh TMR1H 8Fh OSCCON 10Fh EEADRH 18Fh No utilizado

Registro Registro de Registro de Registro de


de propósito propósito propósito
general general general

33
propósito
general
7Fh FFh 80 bytes 17Fh 96 bytes 1EFh 96 bytes
96 bytes
Banco 0 Banco 1 Banco 2 Banco 3

Figura 40: Tablas del banco de la memoria RAM


Fuente: Salvatierra (2009)

Al trabajar con bancos puede ser difícil sólo si se escribe un programa en lenguaje ensamblador.
Pero al utilizar el lenguaje de programación de alto nivel como es C y el compilador como
es microprocesador pic, basta con escribir el nombre del registro.

PILA O BATERIA
La pila o batería cumple una labor muy importante en la memoria RAM, conteniendo 8
registros de trece bytes, para poder darle una buena ejecución al programa y no tenga ninguna
interrupción del microcontrolador donde se puede también guardar cada uno de los datos que
se puede estar ejecutándose y esta será totalmente guardada en la memoria RAM dando
también a su funcionamiento como una pila que también cumple un uso como almacenamiento
y poder ser mejorado en el futuro.

Figura 50: Pila


Fuente: Salvatierra (2009)

34
CONCLUSIONES

 A cumplido en su totalidad nuestras espectativas y que luego de leer estos guiones


podamos estar mas informados de la poderosa herramienta electrónica que tenemos al
alcance de nuestras manos con un uso practico y economico.
 La vida diaria tiene infinidad de adversidades las que como futuros ingenieros estamos
en la obligacion de satisfacer con las herramientas que exponemos en este archivo que
cumple un rol importante en el universo tecnologico de laautomatización, para que todo
sea mas fácil para la sociedad.
 Gracias a esta información detallada podremos navegar mas a fondo sobre este tipo de
pic, la cual nos hara la vida mas fácil en distintos ambitos.
 Podemos destacar su particularidad de otros micro controladores de caractristicas
provechosas a pesar de no ser de última generación en estos tiempos.

35
BIBLIOGRAFIA

 Quiñones, K. Telemaco, F. (2010). El pic 16f84. Ingenieria electrónica. Universidad


nacional.
 Salvatierra (2012), M. PIC Microcontrollers.
 Serra, E. (2009)PIC 16F84A. Escuela Professional Salesians Joan XXIII.
 Curso avanzado de micro controladores PIC.

36

También podría gustarte