Micro PIC16F87
Micro PIC16F87
Micro PIC16F87
Ir a la navegaci�nIr a la b�squeda
Los PIC16F87X forman una subfamilia de microcontroladores PIC (Peripheral Interface
Controller) de gama media de 8 bits, fabricados por Microchip Technology Inc..
Cuentan con memoria de programa de tipo EEPROM Flash mejorada, lo que permite
programarlos f�cilmente usando un dispositivo programador de PIC. Esta
caracter�stica facilita sustancialmente el dise�o de proyectos, minimizando el
tiempo empleado en programar los microcontroladores (�C).
PIC16F870
PIC16F871
PIC16F872
PIC16F873A
PIC16F874A
PIC16F876A
PIC16F877A
La "A" final de los modelos PIC16F873A, PIC16F874A, PIC16F876A y PIC16F877A indica
que estos modelos cuentan con m�dulos de comparaci�n anal�gicos.1?
�ndice
1 Caracter�sticas principales
1.1 Detalles seg�n modelo
2 Tipos de encapsulado y n�mero de terminales
3 Estructura interna
4 Circuiter�a externa auxiliar
4.1 La alimentaci�n
4.2 El reloj
4.3 El circuito de reinicio
5 Memoria interna
5.1 Memoria de datos SRAM
6 Registros de funciones especiales (SFR)
6.1 El registro STATUS
7 El registro W
8 Set de instrucciones y sintaxis
8.1 Tabla resumen de instrucciones
9 Registro de configuraci�n
10 El conversor anal�gico-digital
10.1 Controlando el conversor A/D
10.2 Conversi�n Terminada
10.3 Pasos necesarios para la conversi�n A/D
11 Acerca de la programaci�n de los dispositivos
12 Ejemplo sencillo: encender y apagar un LED
12.1 Circuito el�ctrico
12.2 Programa
12.2.1 Ensamblador
12.2.2 Lenguaje m�quina
13 Referencias
14 Bibliograf�a
15 V�ase tambi�n
16 Enlaces externos
Caracter�sticas principales
Las caracter�sticas principales de estos dispositivos son:
Los terminales VDD (tensi�n) y VSS (masa) sirven �nicamente para alimentar al
dispositivo.
Estructura interna
Estos microcontroladores tienen la memoria de programa y la memoria de datos
separadas, lo que se conoce como arquitectura Harvard. Esta configuraci�n interna
permite entre otras cosas acceder a las instrucciones de programa y a los datos
simult�neamente a trav�s de buses diferentes, lo que mejora notablemente la
velocidad de proceso de estos dispositivos.
La alimentaci�n.
El reloj (oscilador).
Tambi�n, y de manera opcional:
El circuito de reinicio.
La alimentaci�n
Los dispositivos de la familia PIC16F87X admiten un amplio rango de tensiones de
alimentaci�n, que va de 2,0 V a 5,5 V. La tensi�n a la cual se alimenten
determinar� la frecuencia m�xima de trabajo.
donde:
La serie PIC16F87X puede trabajar a una frecuencia de reloj m�xima de 20 MHz. Esto
quiere decir que, a esta frecuencia, el tiempo necesario para ejecutar las
instrucciones de un ciclo de instrucci�n es de 200 ns, y de 400 ns para las de dos
ciclos de instrucci�n (instrucciones de salto).
El circuito de reinicio
El terminal MCLR (Master Clear) debe estar a valor l�gico alto para que el
dispositivo funcione normalmente, esto es, sin irse a reinicio. Con un valor l�gico
bajo el dispositivo se reinicia, comenzando la ejecuci�n desde el principio del
programa que tenga cargado en memoria.
Tambi�n resulta muy efectivo el uso de un filtro pasa alto para hacer la se�al de
reinicio independiente del tiempo en que se presiona el pulsador. Inmediatamente
despu�s de pulsar el pulsador el �C se reinicia, sin tener en cuenta cu�nto tiempo
se mantiene presionado dicho pulsador.
Estas t�cnicas de reinicio son muy efectivas, pero no son las �nicas. Existe
infinidad de circuitos y posibilidades para provocar el reinicio externo en los
microcontroladores, adecu�ndose cada soluci�n a la necesidad o al criterio de
dise�o del circuito y su funci�n espec�fica.
Memoria interna
Existen tres bloques bien diferenciados de memoria. Estos son:
El registro STATUS
El registro de estado (STATUS) es uno de los m�s importantes y empleados en el
microcontrolador.
El registro W
El registro de trabajo W (Working Register) es un registro relevante especial de 8
bits que participa en la mayor�a de instrucciones. A diferencia de los SFR, se
encuentra dentro de la misma CPU, y puede ser accedido tanto para lectura como para
escritura..
Instrucciones de carga.
Instrucciones de bits.
Instrucciones aritm�ticas.
Instrucciones l�gicas.
Instrucciones de salto.
Instrucciones de manejo de subrutinas.
Instrucciones especiales.
Tabla resumen de instrucciones
Sintaxis
Descripci�n
Ciclos de Instrucci�n
Instrucciones de carga
CLRF f Borra el contenido del registro f
1
CLRW Borra el contenido del registro W
1
MOVF f,d Mueve el contenido del registro f
1
MOVWF f Mueve el contenido del registro W al registro f
1
MOVLW k Guarda en el registro W el valor k
1
Instrucciones de bit
BCF f,b Pone en "0" el bit b del registro f
1
BSF f,b Pone en "1" el bit b del registro f
1
Instrucciones aritm�ticas
ADDLW k Suma el valor k al registro W
1
ADDWF f,d Suma el contenido del registro W con el de f
1
El conversor anal�gico-digital
El conversor anal�gico-digital (ADC en ingl�s) que llevan incorporados los
microcontroladores de la subfamilia PIC16F87X es de 10 bits. Su funcionamiento es
bastante simple, comparado con los conversores A/D R2R, los de resistencia
ponderada, etc.
ADRESH (completo)
ADRESL (completo)
ADCON0 (completo)
ADCON1 (completo)
Como la resoluci�n del convertidor A/D es de 10 bits y los registros del �C son de
8 bits, se utilizan dos registros, ADRESL y ADRESH (AD Result Low y AD Result
High), de forma concatenada. Es decir, los 8 bits de ADRESL y 2 bits de ADRESH.
Los bits 6 y 7 del registro ADCON0 sirven para ajustar la frecuencia del oscilador
del conversor, que est� ligada directamente con la frecuencia de oscilaci�n del �C.
Los bits 3,4 y 5 sirven para elegir el canal de conversi�n. El bit 2 sirve para
iniciar la conversi�n. Debe ponerse en nivel l�gico alto (1) para comenzar el
proceso de conversi�n. Autom�ticamente, este bit pasar� a nivel l�gico bajo (0)
cuando la conversi�n haya finalizado. El bit 1 no se usa. El bit 0 sirve para
activar el m�dulo de conversi�n. Si este bit est� a nivel l�gico bajo, el m�dulo de
conversi�n estar� deshabilitado.
Conversi�n Terminada
El tiempo que le toma al �C realizar la conversi�n se denomina {\displaystyle
T_{AD}}{\displaystyle T_{AD}} y nunca debe ser menor que 1,6 �s para la familia
16F87X. el tiempo {\displaystyle T_{AD}}{\displaystyle T_{AD}} es configurado por
software seg�n la relaci�n {\displaystyle T_{AD}=kT_{OSC}}{\displaystyle
T_{AD}=kT_{OSC}} donde K es el divisor de la frecuencia del conversor. Por ejemplo,
si trabajamos con {\displaystyle T_{OSC}}{\displaystyle T_{OSC}} = 1�s y en los
bits 7 y 6 del registro ADCON0 ponemos 00, quedar�: {\displaystyle
T_{AD}=2T_{OSC}=2*1\mu s=2\mu s}{\displaystyle T_{AD}=2T_{OSC}=2*1\mu s=2\mu s} lo
cual est� dentro del rango permitido.
Circuito el�ctrico
El circuito completo se debe alimentar a 5 V. Se utiliza un cristal de cuarzo de 10
MHz con condensadores de 27 nF como circuito de reloj y un circuito de reset.
Programa
Para crear el programa que se grabar� en el PIC se puede usar MPLAB, que es el
entorno de desarrollo gratuito ofrecido por el fabricante Microchip Technology Inc.
Inicio programa
Repetir:
RA0 = 1?
Si --> Encender LED
No --> Apagar LED
Fin Repetir
Fin programa
Ensamblador
Empleando MPLAB, se genera el programa en lenguaje ensamblador a partir del
pseudoc�digo anterior. El archivo generado deber� tener la extensi�n ".asm":
Inicio, Comienzo, Apaga y Enciende son etiquetas que ayudan a identificar una
direcci�n de memoria del programa. Estas se reemplazan por la direcci�n de memoria
correspondiente.
Lenguaje m�quina
Al compilar el archivo ".asm" creado se obtienen varios archivos. Uno de ellos, con
extensi�n ".hex", es el que se grabar� en el PIC, y contiene todas las
instrucciones traducidas al lenguaje m�quina del microcontrolador.
:020000040000FA
:10000000831600308600FF308500831205180B2808
:0A0010000928061006280614062829
:00000001FF
Referencias
Microcontroladores PIC. Dise�o pr�ctico de aplicaciones, p�gina 34
Microcontrolador PIC16F84. Desarrollo de proyectos. 2� edici�n, p�gina 4
PIC16F87XA Datasheet
PIC16F870/871 Datasheet
PIC16F872 Datasheet
Bibliograf�a
Microchip Technology Inc. (2003). �PIC16F870/871 Datasheet� (pdf) (en ingl�s). p.
170. Consultado el 31 de mayo de 2009.
Microchip Technology Inc. (2006). �PIC16F872 Datasheet� (pdf) (en ingl�s). p. 166.
Consultado el 31 de mayo de 2009.
Microchip Technology Inc. (2003). �PIC16F87XA Datasheet� (pdf) (en ingl�s). p. 232.
Consultado el 21 de mayo de 2009.
Angulo Usategui, Jos� Mar�a; S. Romero Yesa, I. Angulo Mart�nez (2006).
Microcontroladores PIC. Dise�o pr�ctico de aplicaciones. (2� edici�n). McGraw-Hill.
ISBN 978-84-481-4627-6.
Palacios Municio, Enrique; F. Remiro, L. J. L�pez (2005). Microcontrolador
PIC16F84. Desarrollo de proyectos. (2� edici�n). Ra-Ma. ISBN 84-7897-691-4.
V�ase tambi�n
Microchip Technology Inc.
PIC16F84
PIC16F88
MPLAB
Enlaces externos
Web oficial de Microchip Technology Inc.
Control de autoridades
Proyectos WikimediaWd Datos: Q5400222
Categor�a: Microcontroladores
Men� de navegaci�n
No has accedidoDiscusi�nContribucionesCrear una cuentaAcceder
Art�culoDiscusi�n
LeerEditarVer historialBuscar
Buscar en Wikipedia
Portada
Portal de la comunidad
Actualidad
Cambios recientes
P�ginas nuevas
P�gina aleatoria
Ayuda
Donaciones
Notificar un error
Herramientas
Lo que enlaza aqu�
Cambios en enlazadas
Subir archivo
P�ginas especiales
Enlace permanente
Informaci�n de la p�gina
Citar esta p�gina
Elemento de Wikidata
Imprimir/exportar
Crear un libro
Descargar como PDF
Versi�n para imprimir
Idiomas
A�adir enlaces
Esta p�gina se edit� por �ltima vez el 11 oct 2019 a las 12:12.
El texto est� disponible bajo la Licencia Creative Commons Atribuci�n Compartir
Igual 3.0; pueden aplicarse cl�usulas adicionales. Al usar este sitio, usted acepta
nuestros t�rminos de uso y nuestra pol�tica de privacidad.
Wikipedia� es una marca registrada de la Fundaci�n Wikimedia, Inc., una
organizaci�n sin �nimo de l