Publicado el 14 de Enero del 2017
2.248 visualizaciones desde el 14 de Enero del 2017
784,9 KB
57 paginas
Creado hace 13a (14/09/2010)
MICROCONTROLADORES PIC
16F84
Microcontrolador 16F84
1
DIFERENCIAS ENTRE UN MICROPROCESADOR Y UN MICROCONTROLADOR
Un microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP o CPU), también
llamada procesador, de un computador. La CPU está formada por la unidad de control que interpreta las instrucciones,
y la unidad operativa que las ejecuta.
Los pines del microprocesador sacan al exterior las líneas de sus buses de direcciones, datos y control , para
permitir conectarle con la memoria y los módulos de E/S y configurar un computador implementado por varios
circuitos integrados.
Se dice que un microprocesador es un SISTEMA ABIERTO porque su configuración es variable de acuerdo con
la aplicación a la que se destine.
limitadas que no se pueden modificar.
Un microcontrolador es un SISTEMA CERRADO que contiene un computador completo y de prestaciones
ARQUITECTURA INTERNA DE UN MICROCONTROLADOR.
Un microcontrolador posee todos los componentes de un computador, pero con unas características fijas que no se
pueden alterar.
Las principales partes de un microcontrolador son:
1.- Procesador
2.- Memoria no volátil para contener el programa
3.- Memoria de lectura y escritura para guardar los datos
4.- Líneas de E/S para los controladores de periféricos:
a) Comunicación paralelo
b) Comunicación serie
c) Diversas puertas de comunicación (bus I2C , USB, etc.)
5.- Recursos auxiliares:
a) Circuito de reloj
b) Temporizadores
c) Perro Guardián (watchdog)
d) Conversores AD y DA
e) Comparadores analógicos
f) Protección ante fallos de la alimentación
g) Estado de reposo o de bajo consumo
EL PROCESADOR
La necesidad de conseguir elevados rendimiento en el procesado de las instrucciones, ha desembocado en el
empleo generalizado de procesadores con arquitectura HARVARD (Memoria de datos y memoria de programa
independientes) frente a los tradicionales de arquitectura Von Neumann.
La característica de la arquitectura Harvard de tener dos memorias, una para datos y otra para código, permite la
adecuación del tamaño de las palabras y los buses a los requerimientos específicos de las instrucciones y de los datos.
También la capacidad de cada memoria es diferente.
Microcontrolador 16F84
2
ARQUITECTURA VON NEUMANN
MEMORIA
PROGRAMA
INSTRUCCIO-
NES Y
DATOS
BUS DE
DIRECCIONES
BUS DE DATOS
CPU
ARQUITECTURA HARVARD
BUS DE DIRECCIONES DE LA…
... MEMORIA DE INSTRUCCIONES
… MEMORIA DE DATOS
MEMORIA DE
INSTRUCCIONES
14 BIT
13
14
7+2
MEMORIA DE
DATOS
CPU
8 BIT
8
BUS DE DATOS DE LA …
... MEMORIA DE INSTRUCCIONES
… MEMORIA DE DATOS
DIRECCIONAMIENTO PIC GAMA MEDIA
El procesador de los modernos microcontroladores responde a la arquitectura RISC (Computadores de Juego de
Instrucción Reducido), que se identifica por poseer un repertorio de instrucciones máquina pequeño y simple, de forma
que la mayor parte de las instrucciones se ejecuta en un ciclo de instrucción. Además del juego de instrucciones
reducido poseen otras características:
Microcontrolador 16F84
3
1.- Las instrucciones son simples y rápidas
CARACTERÍSTICAS DE LA ARQUITECTURA RISC
La falta de complejidad en la operación que realizan las instrucciones de los procesadores
RISC, permite que sean ejecutadas mayoritariamente, en un ciclo de instrucción. Los PIC tardan en
ejecutar todas las instrucciones un ciclo, excepto las de salto, que tardan el doble.
2.- Las instrucciones son ortogonales
Esto significa, que apenas tienen restricciones en el uso de operandos. Cualquier instrucción
puede usar cualquier operando; o bien, cualquier objeto del procesador puede actuar como fuente o
como destino
Todas las instrucciones tienen la misma longitud, 14 bits en los PIC 16X8X y todos los datos
también, un byte. La arquitectura Harvard del procesador aísla la memoria de instrucciones de la de
dato, pudiendo tener diferente tamaño sus palabras.
3.- La longitud de las instrucciones y los datos es constante
ARQUITECTURA DEL PIC 16X84
En los PIC 16Cxx , el código de operaciones es de 14 bits y como se observa , la memoria de programa está
compuesta por palabras de 14 bits. La memoria, saca al bus una instrucción de 14 bits en un solo ciclo. Mediante el
procesamiento pipeline, (estructura segmentada) se pueden realizar simultáneamente las dos fases en que se
descompone una instrucción; por tanto, todas las instrucciones a excepción de los saltos, se ejecuta en un solo ciclo.
El PIC 16F84 y el 16CR84 tiene 1Kbyte de memoria de programa interna.
Posee el direccionamiento directo e indirecto para la memoria de datos y direccionamiento inmediato para operar
directamente con “literales” en la ALU. Todas las funciones especiales de los registros, incluso el contador de
programa se implementa en la memoria de datos.
Debido a la ortogonalidad de sus instrucciones (simétricas), se reducen a 35, hace posible llevar a cabo cualquier
operación entre registros usando cualquier modo de direccionamiento. Debido a esto, hace que la programación de los
PIC sea más fácil. No obstante, sus modos de direccionamientos se han reducido al máximo.
Otra característica relevante de los PIC es el manejo intensivo del Banco de Registros, los cuales participan de
manera activa en la ejecución de las instrucciones.
El PIC 16CXX es un dispositivo que contiene una ALU y un registro de trabajo (W) o acumulador de 8 bits. Esta
ALU es de propósito general,
que
funciones
aritméticas y booleanas entre
registro de
los datos, el
trabajo
cualquier
posición
de
Registro, que en el 16F84 es
de 68x8.
del Banco
(W) y
realiza
las
La ALU es capaz de
sumar, restar, desplazar y
realizar operaciones lógicas.
En
operaciones
aritméticas, la ALU trabaja
por
lo general con dos
operandos, uno el contenido
del registro de trabajo (W) y
el otro es una posición del
banco de
registro o una
constante presente en el
código de la instrucción.
Microcontrolador 16F84
4
Dependiendo de la instrucción que se ejecute, la ALU puede cambiar el Carry ( C ) , El Carry Digital (DC) , y el
bit Zero ( Z) en el registro de estado.
Microcontrolador 16F84
5
LA ARQUITECTURA INTERNA DEL PIC 16X84 SE MUESTRA EN LA FIGURA ANTERIOR Y
CONSTA DE SIETE BLOQUES FUNDAMENTALES.
1º Memoria de programa EEPROM-FLASH de 1K x 14 bits
2º Memoria de datos formada por dos áreas.
a) Una RAM donde se alojan 22 registros de propósito específico (FSR) y 68 de propósito general (GPR )
b) Otra del tipo EEPROM de 64 bytes.
3º Bus de datos con una ALU de 8 bits y un registro de trabajo (W) o acumulador del que normalmente
recibe un operando y envía el resultado. El otro operando puede provenir del bus de datos o del propio
código de la instrucción (literal).
4º Diversos recursos conectados al bus de datos, tales como Puertas de Entrada/Salida, Temporizadores
TMR0, etc.
5º Base de tiempos y circuitos auxiliares.
6º Direccionamiento de la memoria de programa en base al Contador de Programa ligado a una “Pila” de 8
niveles de profundidad.
7º Direccionamiento directo e indirecto de la memoria RAM.
¿CÓMO FUNCIONA EL PROCESADOR ?
FASE DE BUSQUEDA
1º Esta se inicia en el contador de programa; este contiene la posición de memoria donde se encuentra la
próxima instrucción.
2º La memoria de programa está compuesta por palabras de 14 bits, que se carga en el registro de
instrucciones, desde donde se transfiere al Decodificador y a al Unidad de Control.
FASE DE EJECUCIÓN.
1º En ocasiones, dentro del código de la instrucción, existe el valor de un operando (literal o dato) que se
introduce como operando a la ALU, o bien una dirección de la memoria de datos donde reside el otro operando.
2º La ALU es la encargada de realizar la operación lógico-aritmética que implica la instrucción decodificada. Uno
de los operandos lo recibe desde el registro W y el otro desde un registro o de la propia instrucción.
En un
la
sistema
con
arquitectura Von Neumann,
en
fase de búsqueda
encuentra la instrucción y
luego en la fase de ejecución
tiene que utilizar el bus de
direcciones de la memoria
programa para encontrar el
dato, por lo tanto el ciclo de
instrucción completo consta
de varios ciclos máquina.
arquitectura
Harvard, al tener memorias
independientes (programa y
datos), en la instrucción viene el dato por lo que en la fase de búsqueda encuentra el dato, después sólo tiene que
ejecutarlo, no necesita volver a la memoria programa para buscarlo. Por este motivo se puede estar ejecutando una
instrucción y a la vez buscando la siguiente. Por lo que cada instrucción que tiene dos ciclos máquina, se ejecutan en
En
la
Microcontrolador 16F84
6
un sólo ciclo. Indistintamente se le llama ciclo máquina o ciclo instrucción. Las instrucciones de salto se ejecutan en
dos ciclos ya que se debe esperar a que se ejecute la instrucción para poder buscar la siguiente.
TODAS LAS INSTRUCCIONES MENOS LA DE SALTO SE EJECUTAN EN 1 CICLO INSTRUCCIÓN.
LAS DE SALTO SE EJECTUTAN EN DOS CICLO INSTRUCCIÓN
1 CICLO DE INSTRUCCIÓN = 4 CICLOS RELOJ (Fosc)
TIEMPO CICLO INSTRUCCIÓN = 4 X PERIODO Fosc
Ejemplo.
Comentarios de: MICROCONTROLADORES PIC 16F84 (0)
No hay comentarios