pic16f84
TRANSCRIPT
UNIVERSIDAD NACIONAL DE INGENIERIA
INGENIERIA ELECTRÓNICA Eo.
PIC 16F84A
ELIEZER G. SALAZAR
MEDARDO J. RODRIGUEZ
Tutor: Ing. CARLOS ORTEGA
Abstract
This paper will try to provide the best information in regards to PIC 16F84A. As we know
this is a very modern electronic device that has in it a number of unique features which
give a brief review. The PIC 16F84A not long ago known as PIC 16F84, was designed to
meet some of the many instructions and parameters to other devices such as
microprocessors can perform. We also intend to demonstrate how it is structured
internally, under what parameters can work efficiently, how much memory capacity and
has, because of their migration, how easy it is to program and especially as a device of
this type has a large number of applications.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 1
Abstracto
En este documento trataremos de darle la mejor información en lo se refiere al PIC
16F84A. Como bien sabemos este es un dispositivo electrónico muy moderno que tiene
en si una serie de características únicas de las cuales daremos una breve reseña. El PIC
16F84A no hace mucho conocido como PIC 16F84, fue diseñado para cumplir con
algunas de muchas instrucciones y parámetros que otros dispositivos como los
microprocesadores no pueden efectuar. También pretendemos demostrar como es que se
estructura internamente, bajo que parámetros puede trabajar de manera eficiente, cuanta
capacidad y memorias posee, porque de su migración, que tan fácil es de programar y
sobre todo como es que un dispositivo de este tipo tiene una gran cantidad de
aplicaciones.
Introducción
El PIC16F84A es un dispositivo electrónico que ha acaparado la industria electrónica en
los últimos años, como bien sabemos este microcontralador pertenece a la familia PIC. Su
fabricante es la empresa Microchip Technologic Inc.
Lo que se pretende en esta presentación es poder conocer las características internas del
PIC, analizar sus diferentes funciones, programaciones y comparar algunas aplicaciones
de este PIC16F84 con respecto a otros PIC de diferentes familias.
Otro aspecto de mucha importancia es que este PIC está diseñado con un nuevo sistema
de seguridad denominado Watchdog cuyas aplicaciones las veremos más adelante al
igual que también analizaremos un poco acerca de la migración de el PIC 16F84 al
PIC16F84A.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 2
Desarrollo
El PIC 16F84 es un micro controlador cuya función principal es que puede ser
programado para poder realizar diferentes funciones, pero no debemos obviar que
también tiene características especificas internas y que por ende existen algunas
aplicaciones que no podrán ser programadas en este.
Para conocer más acerca de este dispositivo realizaremos un análisis completo de todas
sus características, funciones, capacidades y aplicaciones.
Para iniciar el análisis primero conoceremos sus características tanto físicas como
internas.
Características Técnicas del PIC 16F84A
Repertorio de 35 Instrucciones.
Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que
necesitan dos.
Versiones para bajo consumo (16LF84A), de 4 MHz (PIC16F84A-04) y 20 MHz
(PIC16F84A-20). Un ciclo máquina del PIC son 4 ciclos de reloj, por lo cual si
tenemos un PIC con un cristal de 4 MHz, se ejecutarán 1 millón de instrucciones
por segundo.
Memoria de programa Flash de 1 K x 14 bits.
Memoria RAM dividida en 2 áreas: 22 registros de propósito específico (SFR) y 68
de propósito general (GPR) como memoria de datos.
15 registros de funciones especiales.
Memoria de datos RAM de 68 bytes (68 registros de propósito general).
Memoria de datos EEPROM de 64 bytes.
Contador de programa de 13 bit (lo que en teoría permitiría direccionar 4 KB de
memoria, aunque el 16F84 solo dispone de 1KB de memoria implementada).
Pila con 8 niveles de profundidad.
Modos de direccionamiento directo, indirecto y relativo.
ALU de 8 bits y registro de trabajo W del que normalmente recibe un operando que
puede ser cualquier registro, memoria, puerto de Entrada/Salida o el propio código
de instrucción.
4 fuentes de interrupciones:
A través del pin RB0/INT.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 3
Desbordamiento del temporizador TMR0.
Interrupción por cambio de estado de los pins 4:7 del Puerto B.
Completada la escritura de la memoria EEPROM.
1.000.000 de ciclos de borrado/escritura de la memoria EEPROM.
40 años de retención de la memoria EEPROM.
13 pins de E/S con control individual de dirección.
PortA de 5 bits <RA0:RA4>.
PortB de 8 bits <RB0:RB7>.
Contador/Temporizador TMR0 de 8 bits con divisor programable.
Power-on Reset (POR).
Power-up Timer (PWRT).
Oscillator Start-up Timer (OST).
Watchdog Timer (WDT).
Protección de código.
Modo de bajo consumo SLEEP.
Puede operar bajo 4 modos diferentes de oscilador.
Programación en serie a través de dos pins.
Tecnología de baja potencia y alta velocidad CMOS Flash/EEPROM.
Características eléctricas máximas (no deben ser superadas y de mantenerse por
un tiempo en algún máximo puede dañarse al PIC)
Temperatura ambiente máxima para funcionamiento de -55°C to +125°C.
Tensión máxima de VDD respecto a VSS de -0,3 a +7,5V.
Tensión de cualquier patilla con respecto a VSS (excepto VDD, MCLR, y
RA4) de -0,3V a (VDD + 0.3V).
Tensión en MCLR con respecto a VSS -0,3 a +14V.
Tensión en RA4 con respecto a VSS -0,3 a +8,5V.
Disipación de potencia total de 800 mW.
Máxima corriente de salida a VSS 150 mA.
Máxima corriente de salida de VDD 100 mA.
Máxima corriente del puerto "A" como fuente, 50 mA.
Máxima corriente del puerto "A" como sumidero, 80 mA.
Máxima corriente del puerto "B" como fuente, 100 mA.
Máxima corriente del puerto "B" como sumidero, 150 mA.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 4
Máxima corriente que puede suministrar una sóla salida como fuente o
sumidero, 25 mA.
Rango de alimentación:
16LF84A: de 2 a 5,5 V en configuración de oscilador XT, RC y LP.
16F84A:
de 4 a 5,5 v en configuración de oscilador XT, RC y LP.
de 4,5 a 5.5 v en configuración de oscilador HS.
Consumo típico:
16LF84A:
de 1 a 4 mA en configuración de oscilador RC y XT (FOSC=2 MHz,
VDD=5,5V).
de 15 a 45 μA en configuración de oscilador LP (FOSC=32kHz,
VDD=2V, WDT deshabilitado).
16F84A:
de 1,8 a 4.5 mA en configuración de oscilador RC y XT (FOSC=4
MHz, VDD=5,5V).
de 3 a 10 mA en configuración de oscilador RC y XT durante la
programación de la FLASH (FOSC=4MHz, VDD=5,5V).
16F84A-20: de 10 a 20 mA en configuración de oscilador HS (FOSC=20
MHz, VDD=5,5V). [1]
Asignación de Pines según su hoja de datos (data sheet), PIC 16F84A.[2]
TABLE 1-1: PIC16F84A PINOUT DESCRIPTION
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 5
Pin Name
PDIP No.
SOIC No.
SSOP No.
I/O/P Type
Buffer Type
Description
OSC1/CLKIN 16 16 18
I ST/CMOS(3) Oscillator crystal input/external clock
source input.
OSC2/CLKOUT 15 15 19 O — Oscillator crystal output. Connects to crystal o resonator in Crystal Oscillator mode. In RC mode, OSC2 pin outputs CLKOUT, which has 1/4 thefrequency of OSC1 and denotes the instruction cycle rate.
_____ MCLR
4 4 4 I/P ST Master Clear (Reset) input/programming voltageinput. This pin is an active low RESET to the device.
RA0
RA1
RA2
RA3
RA4/T0CKI
17
18
1
2
3
17
18
1
2
3
19
20
1
2
3
I/O
I/O
I/O
I/O
I/O
TTL
TTL
TTL
TTL
ST
PORTA is a bi-directional I/O port.
Can also be selected to be the clock input to the TMR0 timer/counter. Output is open drain type.
RB0/INT
RB1
RB2
RB3
RB4
RB5
RB6
RB7
6
7
8
9
10
11
12
13
6
7
8
9
10
11
12
13
7
8
9
10
11
12
13
14
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
TTL/ST(1)
TTL
TTL
TTL
TTL
TTL
TTL/ST(2)
TTL/ST(2)
PORTB is a bi-directional I/O port. PORTB can be software programmed for internal weak pull-up on all inputs. RB0/INT can also be selected as an external interrupt pin. Interrupt-on-change pin. Interrupt-on-change pin. Interrupt-on-change pin. Serial programming clock. Interrupt-on-change pin. Serial programming data.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 6
VSS 5 5 P — Ground reference for logic and I/O
pins.
VDD 14 14 15,16 P — Positive supply for logic and I/O pins.
Legend:
I= input O = Output I/O = Input/Output P = Power — = Not used
TTL = TTL input ST = Schmitt Trigger input
Note
1: This buffer is a Schmitt Trigger input when configured as the external interrupt.
2: This buffer is a Schmitt Trigger input when used in Serial Programming mode.
3: This buffer is a Schmitt Trigger input when configured in RC oscillator mode and a
CMOS input otherwise.
Como pudimos observar con respecto a lo anterior no hay otra característica técnica de
vital importancia, valga la redundancia podemos ahora conocer más acerca de su
funcionamiento interno tomando en cuenta que internamente posee una Arquitectura tipo
Harvard lo cual permite que se pueda trabajar desde memorias separadas y da ventaja
para los datos e instrucciones tengan longitudes diferentes.
Lo que ocurre es que el PIC 16F84A tiene varios tipos de memoria, pero solo hablaremos
de las mas importantes.
La memoria de Programa o Instrucciones:
Es una memoria de 1 Kbyte de longitud con palabras de 14 bits. Como es del tipo FLASH
se puede programar y borrar eléctricamente, lo que facilita el desarrollo de los programas
y la experimentación. En ella se graba, o almacena, el programa o códigos que el
microcontralador debe ejecutar. Dado que el PIC16F84 tiene un contador de programa de
13 bits, tiene una capacidad de direccionamiento de 8K x 14, pero solamente tiene
implementado el primer 1K x 14 (0000h hasta 03FFh). Si se direccionan posiciones de
memoria superiores a 3FFh se causará un solapamiento con el espacio del primer 1K. En
la figura 1.10 se muestra el mapa de la memoria de programa. [3]
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 7
La memoria de Datos:
Está organizada en dos páginas o bancos de registro, banco 0 y banco 1. Para cambiar
de página se utiliza un bit del registro STATUS (RP0).
Cada banco se divide a su vez en dos áreas:
RFS (Registros de Funciones Especiales)
RGP (Registros de Propósito General)
En la figura siguiente nos podemos hacer una idea de cómo están distribuidos:
La primera es la de RFS (Registros de Funciones
Especiales) que controlan el funcionamiento del
dispositivo. Estos se emplean para el control del
funcionamiento de la CPU y de los periféricos.
El segundo área (68 bytes SRAM) es la de RGP
(Registros de Propósito General), y puede
accederse a ellos tanto directa como
indirectamente haciendo uso del registro FSR.
Banco 0:
Este banco está formado por 80 bytes, desde la posición 00 hasta la 4Fh (de la 0 a
la 79).
El área RFS consta de 12 registros que serán utilizados por funciones especiales
del microcontralador. Comienza en la dirección 00h y termina en la 0Bh, es decir,
de la 0 a la 11.
El Área RGP consta de 68 registros de memoria RAM que serán utilizados para
almacenar datos temporales requeridos por los programas. Comienza en la
dirección 0Ch y termina en la posición 4Fh (de la 12 a la 79). Esta parte es la
memoria de registros de propósito general.
Banco 1:
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 8
Este banco tiene las mismas dimensiones que el anterior, pero su uso es menor,
ya que no tiene banco para registros de propósito general. Solamente tiene una
sección de registros especiales que van de la posición 80h a la 8Bh ( de la 128 a
la 139)
La memoria RAM así como algunos registros especiales son los mismos en los dos
bancos del mapa de memoria del PIC. La anchura de los bytes en la memoria es de 8 bis.
Para direccionar la memoria de datos se emplean dos modos de direccionamiento, el
directo y el indirecto. En el direccionamiento directo, los 7 bits de menos peso del código
OP de la instrucción proporcionan la dirección en la posición de la página, mientras que
los bits RP1 y RP0 de STATUS seleccionan la página o banco.
En el direccionamiento indirecto el operando de la instrucción hace referencia al
registro IDNF, que ocupa la posición 00h del área de datos. Se accede a la posición que
apunta el registro FSR 04h del banco 0. Los 7 bits de menos peso de FSR seleccionan la
posición y su bit de más peso, junto con el bit IRP del registro de estado, seleccionan la
página. [1]
Hemos hablado acerca de las memorias del PIC, ahora hablaremos de su arquitectura
interna y de algunos parámetros también internos que debemos tomar en cuenta para
cuando se realicen aplicaciones con el PIC 16F84A.
Arquitectura interna
Se fundamenta en una arquitectura tipo Harvard de manera que posee buses y espacios
de memoria por separado para el programa y los datos, lo que hace que sean más
rápidos que los microcontroladores basados en la arquitectura tradicional de Von
Neuman.
También posee arquitectura RISC( reduced instruction set computer), cuya ventaja es que
se pueden realizar funciones semanera reducida y con instrucciones sencillas. Otra
característica es una ALU (Unidad Aritmético Lógica) de 8 bits capaz de realizar
operaciones de desplazamientos, lógicas, sumas y restas, además de un registro de
Trabajo (W) no direccionable que usa en operaciones con la ALU.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 9
¿Cómo es que funciona?, De manera sencilla podemos decir que conforme las
instrucciones que posea la ALU, esta puede afectar los bits de acarreo ya sea para el
Acarreo digital como al acarreo cero del registro de estado (Z).
Figura 2
Cabe destacar y aun mas podemos observar que la memoria también tiene una memoria
EEPROM. Esta memoria está basada en tecnología EEPROM, y tiene una longitud de 8
bits, del mismo modo que la memoria de datos. Su tamaño es de 64 bytes y está situada
en un bloque distinto y aislado de la de datos.
Los 64 bytes EEPROM de Memoria de Datos no forman parte del espacio normal
direccionable, y sólo es accesible en lectura y escritura a través de dos registros, para los
datos el EEDATA que se encuentra en la posición 0008h del banco de registros RAM y
para las direcciones el EEADR en la 0009h. Para definir el modo de funcionamiento de
esta memoria se emplean dos registros especiales, el EECON1 en la dirección 0088h y el
EECON2 en 0089h.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 10
Registros que se utilizan con la EEPROM (ver figura 2):
Registro EEDATA (08h): Registro de Datos, lectura/escritura 8 bits
Registro EEADR (09h): Registro de Dirección, de 0h a 3Fh, 64 bytes
Registro EECON1 (88h): Registro de Control 1
Registro EECON2 (89h): Registro de Control 2 (no es un registro físico)[1]
Oscilador:
Todo microcontrolador requiere de un circuito que le indique la velocidad de trabajo, es el
llamado oscilador o reloj. Este genera una onda cuadrada de alta frecuencia que se utiliza
como señal para sincronizar todas las operaciones del sistema. Este circuito es muy
simple pero de vital importancia para el buen funcionamiento del sistema. Generalmente
todos los componentes del reloj se encuentran integrados en el propio microcontrolador y
tan solo se requiere unos pocos componentes externos, como un cristal de cuarzo o una
red RC, para definir la frecuencia de trabajo.[5]
El PIC16F84A puede funcionar en cuatro diferentes modos de oscilador. El usuario
puede programar dos bits de configuración (FOSC1 y FOSC0) para seleccionar uno de
estos cuatro modos:
• LP de cristal de baja potencia, trabaja con una frecuencia con rango de 32kHz a 200
KHz.
•Crystal XT / resonador, frecuencia de 4MHz.
• HS de cristal de alta velocidad / resonador; frecuencia de 4MHz a 20MHz.
• RC Resistencia / Capacitor; Es el más económico por que tan solo se utiliza un
condensador no polarizado y una resistencia. Es adecuado para las aplicaciones donde las
temporizaciones no requieran precisión. La frecuencia depende de:
La tensión de alimentación
El valor de la resistencia
El valor del condensador
La temperatura de funcionamiento
Además de esto, la frecuencia de oscilación puede variar de un microcontrolador a otro
debido a variaciones en algunos parámetros en la fabricación de cada integrado. También
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 11
han de tenerse en cuenta la variación debidas a la tolerancia de la resistencia y
condensador utilizados. Incluso las capacidades parasitas que puedan aparecer, como el
trazado de las pistas o con los contactos del zócalo donde va insertado el
microcontrolador pueden afectar a la frecuencia de la oscilación, sobre todo si se utilizan
condensadores de pequeño valor. En general las variaciones de la frecuencia de
oscilación son mayores cuanto mayor sea R y menor sea C. [1]
En el cuadro siguiente aparece como debe conectarse el circuito RC al PIC:
Fuentes del pin RESET:
En general el reset de un microcontralador hace que el dispositivo vaya a un estado
conocido. Mientras se encuentra transitoriamente en estado reset, el dispositivo esta
virtualmente detenido, es decir, no se ejecuta ninguna instrucción del programa. Cuando
sale de el estado reset, el dispositivo va a un estado conocido. En particular, en los
microcontroladores PIC, la salida del estado reset hace que el contador del programa se
ponga en el valor cero, de modo que la instrucción que se ejecuta después de un reset es
la que esta en esa dirección de la memoria de programa, independientemente de
cualquier situación anterior al reset. [4]
Para el PIC 16F84 posee diferentes tipos de RESET, los cuales analizaremos a
continuación.
Reset Externo; se ubica en el pin # 4 denominado MCLR (master clear), este se activa
externamente utilizando un pulsador como se muestra en la figura 3.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 12
Configuración del reset externo mediante un pulsador.
Reset en modo sleep; conocido como modo de bajo consumo sleep.
Reset POR (power on reset); Cuando el dispositivo inicia la operación normal (sale
de la condición de reajuste), los parámetros del dispositivo de funcionamiento
(tensión, frecuencia, temperatura, etc) se deben cumplir para asegurar la
operación. Si estas condiciones no se cumplen, el dispositivo debe estar en estado
RESET hasta que las condiciones de funcionamiento se cumplen.
PWRT (Power-Up Timer) : Temporizador de encendido que
provee un retardo fijo de 72 ms (nominal) en el encendido únicamente, diseñado para
mantener el dispositivo en reset mientras la fuente se estabiliza. Para utilizar estos
temporizadores, sólo basta con conectar el pin MCLR a la fuente de alimentación,
evitándose utilizar las tradicionales redes RC externas en el pin de reset.
Reset WatchDog; El reset por desbordamiento del perro guardián ocurre cuando se
desborda el temporizador denominado perro guardián (WTD wacth dog). El
desbordamiento se produce si, desde el programa que esta ejecutando el
microcontrolador, no se borra a tiempo el resultado de conteo que realiza este
temporizador.[6]
Para ser mas preciso la tarea del Watchdog consiste en restablecer el programa cuando
éste se ha perdido por fallas en la programación o por alguna razón externa. Es muy útil
cuando se trabaja en ambientes con mucha interferencia o ruido electromagnético. Está
conformado por un oscilador RC que se encuentra dentro del microcontrolador. Este
oscilador corre de manera independiente al oscilador principal. Cuando se habilita su
funcionamiento, dicho circuito hace que el microcontrolador sufra un reset cada
determinado tiempo (que se puede programar entre 18 ms y 2 segundos).
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 13
Este reset lo puede evitar el usuario mediante una instrucción especial del
microcontrolador (CLRWDT: borrar el conteo del watchdog), la cual se debe ejecutar
antes de que termine el período nominal de dicho temporizador. De esta manera, si el
programa se ha salido de su flujo normal, por algún ruido o interferencia externa, el
sistema sereiniciará (cuando se acabe el tiempo programado y no se haya borrado el
contador) y el programa puede restablecerse para continuar con su funcionamiento
normal.
En las primeras prácticas no se utiliza el circuito de vigilancia para facilitar el
trabajo; por eso, en el momento de programar el microcontrolador se debe seleccionar
en los fusibles de configuración “watchdog timer OFF”. Más adelante veremos
algunos ejemplos que ilustran su funcionamiento y la manera de utilizarlo. [7]
Modo de Bajo consumo:
Esta se conoce como la instrucción Sleep, cuya función es suspender casi todas las
funciones del PIC lo que permite que se consuma muy poca potencia, el oscilador
principal se detiene, los registros de datos no se borran en este modo, también hace que
se reinicie el contador del WTD (wathdog). Se sale de este modo si se activa el Reset
MCLR con pulsador o alguna interrupción del sistema procedente de los periféricos
internos.
Migracion del PIC 16F84 al PIC 16F84A:
A pesar de haber migrado de un pic a otro las diferencias entre ellos solo se ven
reflejadas con respecto a su características eléctricas y algunos parámetros como las del
oscilador son algunos de los cambios realizados con respecto a la versión anterior.
Tabla 1-1 muestra las diferencias funcionales entre el PIC16F84 y el PIC16F84A. [8]
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 14
La tabla 2 muestra las diferencias entre el PIC 16F84A con respecto al PIC 16F84.[8]
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 15
Compatibilidad con otras familias[9]:
Quienes están familiarizados con los PIC16C5X encontrarán básicamente las
siguientes modificaciones:
• La longitud de las instrucciones se incrementó a 14 bits.
• Se puede omitir la paginación de la memoria de programa.
• La paginación de la memoria de datos se ha redefinido ligeramente, de tal manera
que se elimina la necesidad de los bits PA2, PA1 y PA0 en el registro de estados.
• Se cuenta con cuatro nuevas instrucciones: RETURN, RETFIE, ADDLW y SUBLW.
• La manera en que se configuraban los puertos (con la instrucción TRIS) y se asignaba
el preescalador (con la instrucción OPTION) ha sido modificada, de tal forma
que los registros OPTION y TRIS ahora son direccionables; aún así, se conservan
dichas instrucciones para mantener la compatibilidad con los PIC16C5X.
• Se agregaron capacidades de interrupción. El vector de interrupción es 0004h.
• El tamaño de la pila se incrementó a 8 niveles.
• El vector de reset se modificó a 0000h.
• Reactivación después de la instrucción SLEEP a través de interrupciones.
• El pin de entrada RTCC es ahora un pin del puerto A, llamado RA4/TOCK1
• El ancho del registro FSR se aumentó a 8 bits.
• La posición 07 no está implementada.
• Programación serial del microcontrolador.
Pasos para programar este PIC:
1. Editar; consiste en diseñar una serie de instrucciones en un lenguaje de
programación con el cual se podrá controlar el pic de manera que realice las
instrucciones que deseamos. Se puede programar con diversos programas, pero
los mas usados son Lenguaje Ensamblador, Basic y C.
2. Compilar; consiste en traducir el lenguaje de programación a lenguaje de
maquina que es el lenguaje del PIC.
3. Quemar el PIC; es el proceso en el cual utilizamos un hardware y un software que
manipulan la información que tenemos en la PC y la transferimos al pic. El
software a utilizar tiene que ser compatible con el hardware.
4. Probar el PIC; esto no es mas que montar nuestro circuito y probar que el pic
realice cada una de las instrucciones programadas.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 16
Conclusión
Podemos concluir que hemos analizado uno de los mejores controladores que se han
fabricado, con esto podemos interpretar mejor cada una de las características tanto físicas
como internas del PIC16F84A. También pudimos hacer un análisis detallado de su
arquitectura interna, la configuración de sus pines, su sistema de vigilancia Watchdog, los
parámetros eléctricos en el cual debe trabajar el pic y las diferencias con su versión
anterior. Esperamos que esta información les sea de mucha ayuda.
UNIVERSIDAD NACIONAL DE INGENIERIA
Electrónica Digital II Departamento de Sistemas Digitales y Telecomunicaciones Página 17
Referencias
[1] DISPOSITIVOS LÓGICOS MICROPROGRAMABLES: El PIC16F84A
Home Page by Wanadoo.es http://perso.wanadoo.es/pictob/micropic16f84.htm
[2] Home Page Corporate Microchip Technology Inc. The Embedded Control Solutions
Company® http://ww1.microchip.com/downloads/en/DeviceDoc/35007b.pdf, DS35007B-
page 4
[3] PIC16F84A.pdf Curso avanzado de Microcontroladores PIC, Capítulo 1. El PIC16F84
Pag.8
[4] Ramón Pallás Areny, Microcontroladores: fundamentos y aplicaciones con PIC, pagina
38.
[5] Enrique Palacios, Microcontrolador PIC 16F84 2da. Edicion, pagina 4.
[6] Ramón Pallás Areny, Microcontroladores: fundamentos y aplicaciones con PIC, pagina
41.
[7] PIC16F84A.pdf Curso avanzado de Microcontroladores PIC, Capítulo 1. El PIC16F84
Pag.17-18.
[8] Home Page Corporate Microchip Technology Inc. The Embedded Control Solutions
Company® PIC16F84 to PIC16F84A Migration
[9] PIC16F84A.pdf Curso avanzado de Microcontroladores PIC, Capítulo 1. El PIC16F84
Pag.19.