Escolar Documentos
Profissional Documentos
Cultura Documentos
DEPARTAMENTO METAL-MECANICA
“Arquitectura de un
Microcontrolador”
Catedrático:
Ing. Esparza Ávila Miguel Ángel
Presenta:
Noriega Morales Elsy Maely
Número de control:
16040362
ALU A
BUS DE DATOS
DIRECCIONES
C
BUS DE
IP
FLAGS
CONTADOR DE PILA
RD
WR
TEMPORIZACIÓN Y CONTROL Reset
Xtal V+ GND
V-
CF (carry flag): indica cuando se realiza una suma binaria y el resultado posee un
bit de acarreo.
PF (parity flag): indica cuando el resultado tiene un numero par de 1´s binarios.
ZF (zero flag): indica cuando el resultado de una operación es igual cero.
ALU (ARITMETIC LOGIC UNITY)
BUS DE DATOS
Transfiere la información entre el microprocesador y su espacio de direccionamiento
de memoria y los dispositivos de Entrada y Salida.
BUS DE DIRECCIONES
El bus de direcciones consiste en el conjunto de líneas eléctricas necesarias para
establecer una dirección. La capacidad de la memoria que se puede direccionar
depende de la cantidad de bits que conforman el bus de direcciones, lo cual se
establece elevando 2 al número de terminales que este posea
A (ACUMULADOR)
Este Registro retiene el resultado temporal después de una operación aritmética.
B (BASE)
Conocido como el registro base ya que es el único registro de propósitos generales
que pueden ser unos índices para direccionamiento indexado.
C (CONTADOR)
Puede contener un valor para controlar el número de veces que un ciclo de
instrucciones se repite. También puede ser utilizado para cálculos.
D (DATOS)
Algunas operaciones de entrada/salida requieren su uso, y las operaciones de
multiplicación y división con cifras grandes suponen al D y al A trabajando juntos.
Puede usar los registros de propósitos para suma y resta de cifras de 8, 16, 32 bits.
IP (REGISTRO APUNTADOR DE INSTRUCCIONES)
El registro apuntador de instrucciones (IP) de 16 bits contiene el desplazamiento de
dirección de la siguiente instrucción que se ejecuta.
SP (APUNTADOR DE PILA)
Direcciona un área de memoria llamada Pila (stack), la pila almacena datos por
medio de este apuntador.
CONTADOR DE PILA
Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo
de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en
entrar, primero en salir) que permite almacenar y recuperar datos. Se aplica en
multitud de ocasiones en informática debido a su simplicidad y ordenación.
Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push),
que coloca un objeto en la pila, y su operación inversa, retirar (o des apilar, pop),
que retira el último elemento apilado.
ENT/SAL ENT/SAL
DIGITALES ANALÓGICAS
TEMPORIZADOR/
CONTADOR
GENERADOR DE TIEMPOS
Se encarga de la señal de reloj principal, que marca la pauta de tiempo con la que
se sincronizan todos los elementos internos del microcontrolador. Basta conectar
un sencillo cristal o un circuito resonador de cuarzo entre las patillas OSC1/CLIN y
OSC2/CLKOUT para genera la frecuencia de trabajo.
OSCILADOR INTERNO
Los PIC16F88X disponen de un oscilador interno capaz de generarla frecuencia de
trabajo de un rango seleccionable que va desde 32KHz hasta 8 MHz. Se evita así
el empleo de un cristal de cuarzo externo y las patillas donde se hubiera conectado,
se pueden emplear como señales de E/S.
MEMORIA DE STACK
Esta memoria está asociada al PC y
tiene 8 niveles y se emplea ocasionalmente para salvaguardar
y recuperar su valor actual.
REGISTRO DE INSTRUCCIONES
Se encarga de recibir y retener en el bus de instrucciones el código de la instrucción
que hay que ejecutar. Toda instrucción está compuesta por 14 bits y procede de la
memoria Flash de programa concretamente de la dirección que en ese momento
esté indicado en el PC.
DECODIFICADOR DE INSTRUCCIONES
Recibe el código de la instrucción, lo decodifica y actúa sobre todos los elementos
que estén involucrados en la ejecución.
REGISTRO W
Tambien llamado “Work register” participa prácticamente en todas las operaciones
que se ejecutan en la ALU, contiene uno de los datos y puede recibir también el
resultado.
REGISTRO DE STATUS
Refleja el estado del núcleo tras la última instrucción. Por ejemplo, tras una
operación de resta nos puede interesar no solo el resultado en sí, sino también si
hubo o no llevada, si el resultado ha sido positivo o negativo, etc.
REGISTRO FSR
Se emplea en el direccionamiento indirecto. Su contenido representa la dirección de
memoria RAM de datos a la que se desea acceder. Esta dirección de acceso
también puede ir indicada, de forma directa, en el propio código de la instrucción
que se está ejecutando representa la dirección de memoria RAM de datos a la que
se desea acceder. Esta dirección de acceso también puede ir indicada, de forma
directa, en el propio código de la instrucción que se está ejecutando.
Microprocesador Microcontrolador
Ademas de la CPU,
Es una Unidad Central contiene: RAM, ROM,
interfaz serial, interfaz
de Procesamiento
paralela, manejo de
(CPU) en un circuito interrupciones,
integrado. temporizadores, etc. Todo
en un circuito integrado.
Se encuentran en
sistemas con
procesamiendo
Desempeñan actividades
intensivo, como orientadas a control.
consolas de juegos
oequipo de video de
alta definicion.
Interrupciones
Las interrupciones, como el nombre lo sugieren, son eventos que hacen que el
microcontrolador PIC deje de realizar lo que está haciendo y pase a ejecutar otra
tarea. Al finalizar retorna a su actividad anterior.
El microcontrolador PIC16F88 tiene hasta 12 fuentes de interrupciones, el
microcontrolador PIC16F628A tiene 10 y el microcontrolador PIC16F877A tiene 15.
Cuando se brinda atención a una interrupción, el bit GIE es borrado para deshabilitar
cualquier interrupción adicional, la dirección de retorno es guardada (pushed) en la
pila (stack) y el contador de programa (PC) es cargado con el valor 0x0004. Una
vez dentro de la ISR, la fuente de la interrupción se puede determinar analizando
las banderas de interrupción. Las banderas tienen que ser borradas por software
antes de rehabilitar las interrupciones, para evitar interrupciones repetitivas.
Las interrupciones externas INT o RB4 RB7 pueden generarse cada cierto tiempo
como mínimo, que va desde los tres a cuatro ciclos de instrucción, esto depende
del instante en que se genera la interrupción. Las banderas de interrupción se
activan independientemente del bit de habilitación particular, del bit PEIE o del bit
GIE.
Referencias
Cierva, J. d. (.). LOS PIC16F88X: Interrupciones. Aprendizaje de la Electrónica a través de la Robótica, 27.
Microcontroladores PIC. (s.f.). Obtenido de https://www.mikroe.com/ebooks/microcontroladores-pic-
programacion-en-c-con-ejemplos/caracteristicas-basicas-del-pic16f887