Está en la página 1de 54

MICROCONTROLADORES

Unidad I.
1

Arquitectura interna
y externa del microcontrolador.
1.1. Conceptos básicos de los Microcontroladores.
2
Los microcontroladores se encuentran presentes en muchas tareas,
artefactos y procesos que realizamos y/o utilizamos a diario. Un ejemplo
de ello son: las antiguas tarjetas telefónicas, un reloj despertador, una
alarma de autos y casas, el Mouse de una computadora, las lavadoras
modernas, televisores, microondas, teléfonos celulares, sistemas de
control de acceso, controladores de temperatura, juguetes, etc.
Resumiendo están presentes en las siguientes áreas: industriales,
telecomunicaciones, automóviles, entretenimiento, seguridad, entre
otras.
Los microcontroladores son una evolución de los
microprocesadores, n acidos en la década de los 70's, presentando en la
actualidad completas utilidades y aplicaciones, integrándose en un chip,
funciones electrónicas que antes eran posibles por circuitos externos
separados.
Imaginémonos un circuito integrado que controla externamente los
siguientes circuitos: memoria RAM, EPROM, convertidor
Analógico/Digital, comunicación serial, módulos temporizadores, entre
otros. Esto en la actualidad se encuentra contenido en un solo circuito
integrado de 18, 28 y 40 pines, lo que potencia las posibilidades de
aplicaciones.
1.1. Conceptos básicos de los Microcontroladores.
3
La base teórica y de operatividad son muy similares a los
controladores lógicos programables (PLC's) presentes en
innumerables procesos industriales, a las computadoras.
Algunos autores definen al microcontrolador como una
microcomputadora. Con un microcontrolador se puede diseñar un
PLC, más no el caso contrario.
Realizar un diseño con un microcontrolador es una tarea
gratificante, ya que nos permitirá poner en la práctica nuestras
destrezas y habilidades como diseñadores, y ver como realiza las
funciones que nosotros les habremos de imponerles.
1.1.1. Diferencia entre microcontrolador y
4 microprocesador.

Un microcontrolador es un sistema completo, con prestaciones


limitadas que no pueden modificarse y que pueden llevar a cabo
las tareas para las que ha sido programado de forma autónoma.

Un microprocesador es simplemente un componente que conforma


el microcontrolador, que lleva a cabo ciertas tareas y que en
conjunto con otros componentes, forman un microcontrolador.

I/O I/O
I/O

CPU RAM
CPU
ROM

RAM ROM
I/O
1.1.2. Tipos de arquitecturas computacionales.
5
ARQUITECTURA HARVARD
Es una arquitectura de computadora con pistas de almacenamiento
y de señal físicamente separadas para las instrucciones y para los
datos.

Usos modernos de la arquitectura Harvard:


 -Los procesadores Texas Instruments TMS320 C55x.
 _Los microcontroladores AVR de AVR de Atmel Corp y la PIC de
Microchip Technology, Inc.
1.1.2. Tipos de arquitecturas computacionales.
6
ARQUITECTURA VON NEUMANN
Los sistemas con microprocesadores se basan en esta arquitectura,
en la cual la unidad central de proceso (CPU), está conectada a
una memoria principal única (casi siempre sólo RAM) donde se
guardan las instrucciones del programa y los datos.

El tamaño de la unidad de datos o instrucciones está fijado


por el ancho del bus que comunica la memoria con la CPU. Si tiene
que acceder a una instrucción o dato de más de un byte de
longitud, tendrá que realizar más de un acceso a la memoria.
1.1.2. Tipos de arquitecturas computacionales.
7
ARQUITECTURA ARM
ARM es una arquitectura RISC de 32 bits y recientemente con la
llegada de su versión V8-A también de 64 Bits desarrollada por ARM
Holdings.
La arquitectura
ARM está
soportada por un
gran número de
sistemas
operativos
integrados y de
tiempo real,
incluyendo
Windows, .NET .
Micro
Framework,
Symbian,
ChibiOS/RT,
FreeRTOS
1.1.2. Tipos de arquitecturas computacionales.
8
ARQUITECTURA PIPELINE
El pipeline es una técnica para implementar el paralelismo a nivel de
instrucciones dentro de un solo procesador.
Pipelining intenta mantener ocupada a cada parte del procesador,
dividiendo las instrucciones entrantes en una serie de pasos
secuenciales, que se realizan por diferentes unidades del procesador
que trabajan de forma simultánea.

Aumenta el rendimiento de
la CPU a una velocidad de
reloj determinada, aunque
puede aumentar la
latencia debido a la
sobrecarga adicional del
proceso de pipeline en sí.
1.1.2. Tipos de arquitecturas computacionales.
9
ARQUITECTURA INTEL Y AMD DE 32 Y 64 BITS
IA-32: Es la arquitectura del conjunto de instrucciones de los
procesadores de Intel 80×86 y de los primeros microprocesadores de
AMD. IA-32 fue una extensión de 32 bits, implementada por primera
vez en 1986 en el procesador Intel 80386, sucesor de los antiguos
procesadores Intel 8086, 8088, 80186 y 80286 de 16-bit y el
denominador común de todos los diseños 80×86 subsiguientes (80486,
80586, 80686).

IA-64: Fue lanzada en 1999, y no es directamente compatible con el


conjunto de instrucciones IA-32 (excepto bajo emulación software)
como sí sucede en el caso de las arquitecturas Intel 64 y AMD64. IA-
64 es la arquitectura utilizada por la línea de procesadores Itanium e
Itanium 2, por lo que inicialmente fue conocida por el nombre de
Intel Itanium Architecture.
1.2. Arquitectura interna del Microcontrolador.
10
Existe una amplia gama de casas fabricantes de
microcontroladores, en el mercado: Motorola, Intel, Texas
Instrumens, Hitachi, Parallax, etc, en este curso, se han
adoptado los PIC de la gama o familia media de Microchip (PIC
16F8XX) por las siguientes prestaciones:
 ARQUITECTURA HARVARD

 ARQUITECTURA RISC
La arquitectura RISC (Reduced Instructions Set Computer)
o Juego de Instrucciones Reducidas para Computadoras, posee
un total de 35 instrucciones en lenguaje de máquina o
ensamblador (assembler), con las que se pueden realizar
infinidades de programas para el microcontrolador, lo que
simplifica su uso. Los microprocesadores utilizan arquitectura
CISC (Complex Instructios Set Computers) y están por el orden
de 80 instrucciones.
1.2. Arquitectura interna del Microcontrolador.
11
 SEGMENTACIÓN (PIPELINE)
Esta característica se conoce como paralelismo implícito, segmenta
ó separa las funciones del CPU, producto de la arquitectura Harvard,
permitiéndole realizar en etapas, instrucciones diferentes en cada una
de ellas y operar varias a la vez. Aumenta el rendimiento del CPU, lo que
hace que sus operaciones y procesamiento sean más rápidas que la gran
mayoría de los otros microcontroladores.

 INFORMACIÓN AMPLIAMENTE DIFUNDIDA Y DE FÁCIL ACCESO


Quizás una de las principales prestaciones. Esta casa fabricante
proporciona libre acceso a las hojas técnicas (Data Sheet) de sus
diferentes componentes, así como software para programación,
proyectos propuestos, tutoriales, etc mediante su página Web:
www.microchip.com

 COMPATIBILIDAD
 Existen productos de software y hardware, que no pertenecen a
Microchip, pero que son totalmente compatibles con sus productos.
Podemos "bajar" programas adicionales gratis de Internet y realizar
circuitos para programarlos a un bajo coste, exitosamente.
1.2. Arquitectura interna del Microcontrolador.
12
CARACTERÍSTICAS GENERALES DE LOS MICROCONTROLADORES
Se dividen en tres grandes áreas:
1) Núcleo
Estas son las características básicas para la operatividad del microcontrolador. Están
constituidas por:
* Oscilador * Reset * CPU * ALU
* Memoria no volátil para programa (ROM)
* Memoria de lecto-escritura para datos (RAM)
* Memoria programable para datos (EEPROM/FLASH)
* Instrucciones
2) Periféricos
Es la parte que los diferencia con los microprocesadores. Permite la conexión con el
"mundo exterior". Destacan:
 Entradas/Salidas de utilidad general
 Módulo de captura, comparación y PWM (1)
 Comunicación serial (1)
 Comunicación paralela (1)
 Comparadores (1)
 Convertidores Analógico/Digital (1)
1.2. Arquitectura interna del Microcontrolador.
13

3) Características Especiales ó Recursos


Auxiliares
Contribuyen a reducir el costo del sistema,
incrementan la flexibilidad de diseño y brindan
mayor fiabilidad. Entre ellas tenemos:
 Bits de configuración
 Reset de encendido
 Temporizador WATCHDOG
 Modo reposo ó de bajo consumo
 Oscilador RC interno
 Programación serie en el propio circuito
 Interrupciones
 Temporizadores (Timer's)
1.2.1. Componentes del Microcontrolador.
14 DIAGRAMA INTERNO DEL PIC 16F84
1.2.1. Componentes del Microcontrolador.
15
 TIPOS DE OSCILADORES
 HS: (High Speed Crystall Resonador): Alta velocidad de 20 MHz a 4 MHz.
 XT: (Crystall//Resonador): Estándar de 4 MHZ máximo.
 LP: (Low Power Crystall): Bajo consumo, 200 KHz a 30 KHz.
 RC: (Resistence/Capacitor): Baja precisión, Tiene una tabla asociada a los valores
de R y C. Muy poco uso. 200 Hz a 32 Hz.
1.2.1. Componentes del Microcontrolador.
16

FRECUENCIA DE FUNCIONAMIENTO
Un ciclo de instrucción tarda en ejecutarse cuatro períodos de
reloj.
 Todas las instrucciones del PIC se realizan en un ciclo de
instrucción, exceptuando las de "salto" que tardan dos ciclos.
 Los impulsos de reloj entran por FOSC1/CLKIN y se dividen en
cuatro señales internamente, dando lugar a Q1, Q2, Q3 y Q4.
 El ciclo de instrucción se logra al realizarse las siguientes
operaciones:
 Q1 incrementa el contador de programa (PC)
 Q4 busca el código de la instrucción en la memoria del
programa y se carga en el registro de instrucciones
 Q2 - Q3 decodifican y ejecutan la instrucción respectiva

1.2.1. Componentes del Microcontrolador.
17 FRECUENCIA DE FUNCIONAMIENTO
1.2.1. Componentes del Microcontrolador.
18

CÁLCULOS DE TIEMPOS
Los cálculos se realizan bajo las siguientes recomendaciones:
1. Se elige el oscilador con el cual se va a trabajar.
2. Dada la frecuencia de funcionamiento (Frecuencia de Oscilación FOSC), por el oscilador
elegido, hallamos el período.
3. Un ciclo de instrucción se ejecuta en 4 períodos.
Tciclo de instrucción: 4 * TOSC
4. Multiplicamos la cantidad de instrucciones por lo que tarda en ejecutarse una de ellas,
cuya información nos la brinda el paso anterior. Las instrucciones de salto se ejecutan
en dos ciclos, por lo tanto, si tenemos instrucciones de salto, éstas hacen que se
multiplique el ciclo de instrucción por dos.
· Duración del total de instrucciones normales (DTIN): Nro. de
instrucciones * Tciclo de instrucción
· Duración del total de instrucciones de salto (DTIS): Nro. de instrucciones * Tciclo
de instrucción * 2
5. Para determinar cuánto dura un programa en ejecutarse, sumamos la duración de las
instrucciones normales más la duración de las instrucciones de salto.
Total de duración del programa: DTIN + DTIS
1.2.1. Componentes del Microcontrolador.
19

CÁLCULOS DE TIEMPOS
Ejemplo. Sea un cristal HS, cuya frecuencia es F= 20 MHz, Halle el total de duración de un
programa que contiene 250 instrucciones normales y 50 instrucciones de salto.
1. Hallamos el período:
T= 1/F, éste valor es conocido como el período de oscilación.
T= 1 / 20 MHz = 0.05 μs
2. Hallamos el Ciclo de Instrucción:
Tciclo de instrucción= 4*0.05 μs = 0.20 μs.
3. Duración del total de instrucciones normales (DTIN):
DTIN: 250 * 0.20 μs = 50 μs
4. Duración del total de instrucciones de salto (DTIS):
DTIS: 50 * 0.20 μs * 2 = 20 μs
5. Hallamos el total de duración del programa:
Total: DTIN + DTIS = 50 μs + 20 μs
Total: 70 μs
Por lo tanto nuestro programa tarda en ejecutarse, alrededor de 70 μs.
Ejercicio. Dado un programa que contiene 850 instrucciones, de las cuales el 20 %, corresponden
a instrucciones de salto. Halle: ¿Cuánto tarda en ejecutarse el programa? Considere un
Oscilador HS.
1.2.1. Componentes del Microcontrolador.
20 ARQUITECTURA ORTOGONAL
En los microcontroladores tradicionales todas las operaciones se realizan sobre
el acumulador. La salida del mismo está conectada a una de las entradas de la
Unidad Aritmética y Lógica (ALU) y, por lo tanto, este es uno de los operandos
de cualquier instrucción. Y el resultado de cualquier operación siempre quedara
en este registro.

En los microcontroladores PIC la salida de la ALU va al registro W (Work


Register) y también a la memoria de datos, así el resultado puede guardarse en
cualquiera de los dos destinos.
1.2.1. Componentes del Microcontrolador.
21 PUERTOS
El PIC16F84A dispone de dos puertos paralelos A y B. Las líneas de
estos puertos se pueden programar individualmente como entradas o
como salidas.

El Puerto A está constituido por 5 líneas RA4:RA0 cuyo sentido de trabajo


se controla mediante el registro TRISA en el que un bit a “0” configura
la línea correspondiente como salida, y un bit a “1” como entrada.
1.2.1. Componentes del Microcontrolador.
22 PUERTO A
1.2.1. Componentes del Microcontrolador.
23 PUERTOS
El Puerto B es un puerto bidireccional de 8 bits completo, en el que sólo
la línea RB0/INT tiene dos funciones multiplexadas, la propia de
entrada/salida del puerto y la petición de interrupción externa.
Las líneas RB3:RB0 adoptan una estructura distinta a las de las líneas
de RB4 a RB7. radica en el hecho de que es posible programar la
generación de una interrupción durante un cambio de estado de
cualquiera de las líneas de RB7:RB4. El cambio de una se las señales de
entrada produce una interrupción que se refleja en la bandera de RBIF
del registro INTCON.
La suma de corriente por las ochos líneas del Puerto B no pueden
exceder de 100 mA cuando está en nivel alto y 150 mA cuando están en
nivel bajo.
1.2.1. Componentes del Microcontrolador.
24 PUERTO B
1.2.2. Registros internos.
25

Un registro es una posición de memoria en la cual se puede almacenar


un dato. Es decir que la memoria esta dividida en pequeñas “partes”
llamadas “Registros”.

Dentro de la memoria, cada registro se identifica mediante un número,


el cual se denomina “Dirección de memoria” y generalmente está
expresado en formato Hexadecimal. El primer registro de una memoria
corresponde a la dirección 00H.

Dado que identificar a cada registro mediante un número hexadecimal


puede resultar muy complejo a la hora de diseñar el programa, existe
la posibilidad de asignar un “nombre” a una dirección de registro. En
general, este nombre está directamente relacionado con la función que
cada registro cumple dentro del sistema.
1.2.2. Registros internos.
26

Los registros no solo son utilizados por el programador (usuario) para


almacenar los datos que la aplicación debe procesar, sino que,
además, sirven para controlar todo el funcionamiento del
microcontrolador en su conjunto.

Cada Registro está dividido en 8 “partes” a los cuales se los denomina


“Bits”. Entonces podemos decir que un Registro esta formado por un
conjunto de 8 bits.

El Bit es la menor unidad de información que un sistema digital puede


procesar y solo puede contener los valores lógicos 0 y 1.

Al igual que los registros, se puede asignar un nombre a cada Bit para
facilitar su identificación.
1.2.2. Registros internos.
27

En un PIC16F84A existen dos tipos de


registros.
1. RFS (Registros de Funciones Especiales)
2. RGP (Registros de Propósito General)
1.2.2. Registros internos.
28
1.2.2. Registros internos.
29

El Contador de programa PC (02h y 82h)


Este registro, normalmente denominado PC (Program Counter),
contiene la dirección de la próxima instrucción a ejecutar.

Se incrementa automáticamente al ejecutar cada instrucción, de


manera que la secuencia natural de ejecución del programa es lineal,
una instrucción después de la otra. Algunas instrucciones (que
llamaremos de control) cambian el contenido del PC alterando la
secuencia lineal de ejecución. Dentro de estas instrucciones se
encuentran GOTO y CALL que permiten cargar en forma directa un
valor constante en el PC haciendo que el programa salte a cualquier
posición de la memoria.

El PC del 16F84 es un registro de 13 bits, lo que permite direccionar


8.192 posiciones de memoria de programa, pero que internamente
solamente podrá direccionar las 1.024 posiciones de memoria de
programa del 16F84.
1.2.2. Registros internos.
30

El PC está implementado por dos registros, PCLATH (5 bits) y PCL (8


bits)

Los 8 bits de menor peso del PC los proporciona el registro PCL (02h)
y es también un registro accesible al programador como registro de
memoria interna de datos.

Los 5 bits de mayor peso del PC que no pueden leerse ni escribirse


directamente proceden del registro PCLATH en la dirección 0Ah y 8Ah.
1.2.2. Registros internos.
31

El reset pone a 0 todos los bits de PCL y


PCLATH haciendo que el reinicio
comience en la dirección 0000h.
1.2.2. Registros internos.
32

Registro de Estado (03h y 83h)


El registro de Estado (STATUS) contienen varios bits de estado de la
unidad central, el estado aritmético de la ALU, el estado del reset y un
par de bits de selección de página denominados RP1 y RP0.

Estos bits se llaman flags (banderas). Para hacernos una idea práctica
una bandera se levanta (se pone a 1) cuando ha pasado algo.

El registro STATUS está formado por 8 bits:


1.2.2. Registros internos.
33
Bit 7, IRP: Selección del banco en direccionamiento indirecto. Este bit sirve para
determinar el banco de la memoria de datos seleccionado. En el PIC16X84 al disponer
de dos bancos no se usa y debe programarse como 0.
Bit 6 y 5, RP0 y RP1: Register Bank Select. Selección de página o banco de la memoria
con direccionamiento directo. Cada página contiene 128 bytes. Como el PIC16X84 sólo
tiene dos bancos únicamente se emplea RP0 de forma que cuando vale 0 se accede al
banco 0 y cuando vale 1 se accede al banco 1.
Bit 4 (flag), TO: Time Out (Tiempo acabado)
1. Se pone a 1 tras conectar la alimentación o al ejecutar CLRWDT o SLEEP.
0. Se pone a 0 por desbordamiento del Perro Guardián WDT.
Bit 3 (flag), PD: Power Down (Apagado).
1. Se pone automáticamente a 1 tras conectar la alimentación Vdd o ejecutar
CLRWDT, que resetea el contador WatchDog.
0. Se pone a 0 al ejecutar la instrucción SLEEP.
Bit 2 (flag), Z: Cero
1 = El resultado de una operación aritmética o lógica es 0.
0 = El resultado es distinto de 0.
Bit 1 (flag), DC (Digit Carry). Acarreo en el 4º bit de menos peso. Funciona igual que el
bit de Carry descrito a continuación. De interés en operaciones en BCD
Bit 0 (flag), C (Carry). Acarreo en el 8º bit o bit de mas peso. Es el bit de "acarreo" en
operaciones de suma AADWF y ADDLW así como también el bit de "llevada" en las
instrucciones de sustracción SUBWF y SUBLW. También lo emplean las instrucciones
RLF y RRF de rotación de bits.
1.2.2. Registros internos.
34

Posibles configuraciones de los bits de selección de página RP1 y


RP0:
1.2.2. Registros internos.
35

Palabra de configuración
Hay ciertos aspectos del PIC que han de ser activados o desactivados
cuando se programa y no se pueden volver a cambiar hasta que el PIC
no se reprograme de nuevo.

El PIC16F84 dispone de 4 elementos programables que se encuentran


en la palabra de configuración. A estos 4 elementos o bits de
configuración también se les conoce como fuses (fusibles).

La palabra de configuración se encuentra en la dirección de memoria


de programa 2007h. Solamente se puede acceder a este espacio
durante la programación del dispositivo.
1.2.2. Registros internos.
36

El PC está implementado por dos registros, PCLATH (5 bits) y PCL (8

CP, bit 4 a 13: Bits de protección de código.


1: Protección de código deshabilitada.
0: Memoria protegida por código.
PWRTE, bit 3: Bit para habilitar el Power-up Timer o temporizador de
encendido.
1: Power-up timer deshabilitado.
0: Power-up Timer habilitado.
WDTE, bit 2: Bit para habilitar el Watchdog timer o temporizador perro
guardián.
1: WDT habilitado.
0: WDT deshabilitado.
FOSC1, FOSC0, bit 0 y 1: Selección del oscilador.
00: Oscilador LP.
01: Oscilador XT.
10: Oscilador HS.
11: Oscilador RC.
1.2.2. Registros internos.
37

Programar la palabra de configuración

Existen dos maneras de programar la palabra de configuración:


1) Cuando se programa el PIC. En todos los programadores es
posible activar o desactivar estas opciones a nuestra conveniencia.
2) Activación por código. La línea de memoria de configuración es
creada por el programa ensamblador con los valores por defecto.
Podemos hacer que estos valores cambien introduciendo una línea
de código en el nuestro algoritmo. Este código está contenido en el
archivo (P16F84A.INC):
1.2.2. Registros internos.
38

Este código debe situarse al principio del programa, después del tipo
de PIC a usar y de la definición de las etiquetas. La línea de
configuración siempre comienza con la directriz __CONFIG y cada
opción debe estar separada de otra con el carácter & . Veamos un
ejemplo:
LIST P=PIC16F84A ; Pic
#INCLUDE <P16F84A.INC> ; Lista de etiquetas de microchip
; Bits de configuración.
; Configuran opciones externas de hardware para la programación
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON

En este ejemplo, Code Protect y Watchdog Timer están


desactivados, Power on Reset en cambio está activado, y el cristal
usado no supera los 4 MHz.
1.2.3. Tipos y distribución de las memorias internas.
39

Memoria de programa
La memoria de programa está organizada con palabras de 14 bits con
un total de 1 K, del tipo Flash, que durante el funcionamiento es de
solo lectura.
Sólo se ejecutará el código contenido en esta memoria, pudiendo
almacenar en ella una cantidad limitada de datos como parte de la
instrucción RETLW. En una sola palabra se agrupa el código de la
instrucción y el operando o su dirección.
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.
La memoria para almacenar el programa ejecuta la programación "on-
board" o "in-circuit", esto es, permite la programación del dispositivo o
actualización del programa sin necesidad de retirarlo del circuito donde
va montado.
La memoria del programa comienza en la posición 0000h y termina en
la posición 03FFh. Esto es 1Kbyte, es decir, 1024 bytes (210).
1.2.3. Tipos y distribución de las memorias internas.
40

Memoria de
programa
1.2.3. Tipos y distribución de las memorias internas.
41

Memoria de datos
Está organizada en dos páginas o bancos
de registro, banco 0 y banco 1. Para
cambiar de página se utilizan dos bits del
registro STATUS (RP1 y RP0).
Cada banco se divide a su vez
en dos áreas
1. Registros de Funciones
Especiales (RFS).
2. Registros de Propósito General
(EGP).
1.2.3. Tipos y distribución de las memorias internas.
42

Memoria EEPROM de datos


Es una pequeña área de memoria de datos de lectura y escritura no
volátil. Es muy útil esta memoria cuando se desean almacenar datos
que permanezcan inclusive cuando el sistema se desconecte de la
alimentación.
1.2.3. Tipos y distribución de las memorias internas.
43
1.3. Arquitectura externa del microcontrolador.
44

Características del PIC16F84A


• 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.
1.3. Arquitectura externa del microcontrolador.
45

Características del PIC16F84A


• 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.
• 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).
1.3. Arquitectura externa del microcontrolador.
46

Características del PIC16F84A


• 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.
1.3. Arquitectura externa del microcontrolador.
47
• Máxima corriente del puerto "B" como fuente, 100 mA.
• Máxima corriente del puerto "B" como sumidero, 150 mA.
• Máxima corriente que puede suministrar una sóla salida como fuente o
sumidero, 25 mA.
• Rango de alimentación:
• 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:
• 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.3. Arquitectura externa del microcontrolador.
48

CIRCUITOS DE RESET
1.3. Arquitectura externa del microcontrolador.
49

PULSADORES E INTERRUPTORES
1.3. Arquitectura externa del microcontrolador.
50

Visualización

Con Display
1.3. Arquitectura externa del microcontrolador.
51

Con Relé

Con optoacoplador
1.3.1. Distribución de terminales.
52
1.3.1. Distribución de terminales.
53
1.3.1. Distribución de terminales.
54

También podría gustarte