Sie sind auf Seite 1von 16

Inbacuán Héctor

SISTEMAS BASADOS EN MICROPROCESADORES

Cada día que pasa, los procesos de producción, industriales han sufrido
grandes cambios, por lo que en estos días, la automatización es un área que
está en constante contacto con nosotros, por lo que debemos estar preparados
y conocer el funcionamiento de dichos dispositivos y sus respectivos sistemas.

Encontramos sistemas basados en microprocesadores en la mayoría de


dispositivos de nuestro cotidiano día como: domésticos, industriales,
medicinales, informáticos entre otros. En la época de la revolución industrial las
máquinas reemplazaron a la mano de obra humana, mientras que hoy en dia,
los microprocesadores y sus aplicaciones intentan reemplazar la potencia del
cerebro; uno de los inventos decisivos de la humanidad es el computador
digital que junto con el motor eléctrico conforman uno de los sistemas
tecnológicos más eficientes.

Debemos considerar que “Sistema” se define como un conjunto de elementos


entrelazados entre sí, para realizar una función específica o llegar a un objetivo
que ninguno podría hacerlo por separado; podemos concluir que un sistema
basado en microprocesadores es un conjunto de componentes relacionados
capaces de efectuar acciones en base a la información recibida de un proceso
o de un fenómeno físico, representada en lenguaje de maquina (0,1),
operaciones aritméticas y lógicas, y realizar la transferencia de datos con los
diferentes dispositivos E/S conectados al sistema.

Periféricos de entrada (Sensores): Encargados de recibir la información de


los cambios físicos y entregar una señal ya sea esta analógica o digital. Estos
elementos están representados por los sensores captores de señal de tipo
digital o analógico pulsadores, interruptores, contactos eléctricos, etc.

Unidad de control: Procesa la información recibida de los periféricos de


entrada, en base a una secuencia lógica de instrucciones y entrega los
resultados para ser analizados y puestos en marcha.

1
Inbacuán Héctor

Periféricos de salida (Actuadores): Estos dispositivos están encargados de


ejecutar las órdenes de acuerdo a los resultados enviados desde la Unidad de
Control. Están representados por: solenoides, relés, contactores, displays,
CDA, etc.

Si queremos solucionar un problema implementando un circuito digital,


podemos realizarlo de 2 formar diferentes:
 Lógica Cableada: Son circuitos rígidos, exclusivos para realizar una
función específica, lo que quiere decir, que si queremos implementar
una nueva aplicación se debe diseñar un nuevo circuito.

 Lógica Programada: Se trata de una técnica que dio origen a las


máquinas autónomas; capaces de realizar la mayoría de las funciones
básicas necesarias para cualquier aplicación a través de un conjunto de
instrucciones. Trabajan de forma ordenada y secuencial ejecutando
continuamente las operaciones necesarias en base a un programa
previamente establecido.
Tabla 1.
Diferencias entre Lógica Cableada y Lógica Programada
CARACTERISTICAS DEL SISTEMA CABLEADA PROGRAMABLE
 Mantenimiento Mucho Poco
 Costo Bajo Alto
 Adaptación de procesos Difícil Fácil
 Posibilidades de ampliación Bajas Altas
 Interconexión y cableado exterior Mucho Poco
 Estructuración en bloques independientes Difícil Fácil
Fuente: Collaguazo, Gerardo. Microcontroladores

El mayor problema al realizar un sistema basado en microprocesadores, es que


se necesita de personas especializadas en el tema para su diseño y
mantenimiento.

2
Inbacuán Héctor

Un sistema basado en microprocesadores constituye una serie de elementos


para la entrada, salida, procesamiento, control y almacenamiento de
información. Los enlaces entre estos elementos se establecen a través de
caminos de señal, por lo general se utilizan cables o buses, que se encargan
de llevar o transmitir información digital entre un punto y otro.

El principal objetivo de un sistema basado en microprocesadores consta en el


procesamiento de información recogida por medio de los periféricos de entrada
y la transmisión de los resultados sea directamente al proceso, sea al operador,
por medio de los periféricos de salida conectados al sistema. La comunicación
entre el sistema y los periféricos se realiza por el conjunto de circuitos que
constituyen el denominado módulo de entrada/salida del sistema. en esta forma
se distinguen tres partes fundamentales: unidad central de procesamiento
(CPU), bloque de memoria y el módulo de entrada/salida, interconectados entre
ellos por intermedio de los buses

Figura 1. Estructura de un sistema de microprocesadores


Fuente: Collaguazo, Gerardo. Microcontroladores

3
Inbacuán Héctor

UNIDAD CENTRAL DE PROCESAMIENTO (CPU)


Conocida como procesador central y se encarga del procesamiento de la
información proveniente del exterior. Este bloque contiene los circuitos lógicos,
aritméticos y de control que dirigen y coordinan las operaciones del sistema y
los dispositivos periféricos. En esta unidad se distinguen: la unidad de control,
la unidad aritmético-lógica y el bloque de registros internos. En la práctica, la
CPU se encuentra en forma de un circuito integrado llamado microprocesador

Figura 2. Bloques de la CPU


Fuente: Collaguazo, Gerardo. Microcontroladores

La Unidad de Control se encarga de la interpretación y ejecución de las


instrucciones del programa. También genera las señales que son requeridas
por la unidad Aritmética y otros componentes del sistema; también nos indica el
sentido de los datos (si entran o salen) o el dispositivo al que se accesa
(memoria o dispositivo de E/S). Estas señales son enviadas a través de las
líneas llamadas buses. Esta contiene circuitos lógicos y de temporización que
generan las señales adecuadas necesarias para ejecutar cada instrucción en
un programa. Esta unidad extrae una instrucción de la memoria enviando una
dirección y un comando de lectura a la unidad de memoria. La instrucción
almacenada en la posición de memoria se transfiere a ella para después
ejecutarse.

4
Inbacuán Héctor

La Unidad Aritmético-lógica se encarga de realizar las operaciones lógicas y


aritméticas usando como base la suma y la notación del complemento de dos.
Estas operaciones (suma, resta, complemento de dos, and, or, not, xor y la de
comparación) las realiza con datos de la memoria, con datos de los registros
internos o con datos de la unidad de entrada. El tipo de operación que se
realizará, se determina por medio de señales de la unidad de control.

Conectados por medio del bus interno se encuentran los Registros Internos
para el almacenamiento temporal de datos. Cabe mencionar que todo
microprocesador tiene un registro muy importante llamado acumulador el cual
contiene el primer operando de una operación y el resultado de la misma luego
de haberla ejecutado.

Los registros tienen ciertas funciones específicas que cumplir dentro de la


CPU, a saber:

Registro Contador de Programa (PC) es el que indica al microprocesador la


dirección de memoria donde se está ejecutando el programa. Cada vez que se
lee una instrucción, el PC se incrementa automáticamente para suministrar la
dirección de la posición de memoria donde se encuentra la siguiente
instrucción o dato del programa.
Registro de instrucciones (IR). Cuando el microprocesador capta una
instrucción, esta se almacena en el registro (IR), con el fin de proceder a su
decodificación o interpretación y buscar en la (ROM) del programa el conjunto
de instrucciones necesarios para su ejecución. esta función la realiza un
circuito denominado decodificador de instrucciones.
El Registro Acumulador (AC) Es utilizado como fuente o destino de datos. En
él, generalmente, se deposita el resultado de una operación.
El Registro de estado (SR) suministra, a través de sus bits (llamados
banderas (flags)), información relativa a la ejecución de ciertas instrucciones
como signo, sobre flujo, paridad, generación de acarreo, resultado negativo o
cero, etc.

5
Inbacuán Héctor

Registros de propósito general. Son utilizados para almacenar direcciones


de memoria, datos, resultados intermedios y otros propósitos.

BLOQUE DE MEMORIA
 Almacenamiento de las instrucciones que constituyen el programa. Las
instrucciones se codifican mediante su Código de Operación (COP),
formado por uno o varios Bytes.

 Almacenamiento de los datos y variables del programa. Normalmente


agrupados en paquetes de 8 bits (Byte), 16 bits (Word) o 32 bits (Long
Word).

Longitud de la palabra de datos representa el número de bits a los cuales se


pueden tener acceso en una sola operación es decir el número de bits que
pueden ser escritos o leídos en una posición de memoria.

Capacidad de memoria representa el número de bits que pueden ser


memorados. Considerando una palabra de 8 bits, la unidad de medida usual
para la capacidad de memoria es el Kilobyte.

Tiempo de acceso representa el intervalo de tiempo entre el momento en el


cual se da una orden de lectura del contenido de una posición de memoria y el
momento en el cual la palabra de la posición seleccionada.

Figura 3. Tipos de Memoria


Fuente: Collaguazo, Gerardo. Microcontroladores

6
Inbacuán Héctor

MEMORIA RAM que es aquella que guarda en forma temporal (mientras dure
la alimentación con tensión al sistema) los datos.

MEMORIA ROM destinada únicamente a la escritura de programas o datos


que van a ser guardados en forma definitiva.

TIPOS DE MEMORIA ROM:


OTP El microprocesador contiene una memoria no volátil de sólo lectura
“programable una sola vez” por el usuario mediante un sencillo grabador
controlado por un programa desde un PC. La versión OTP es recomendable
cuando es muy corto el ciclo de diseño.
EPROM Los sistemas de microprocesadores que disponen de memoria
EPROM pueden borrarse y grabarse muchas veces. La grabación se realiza,
como en el caso de los OTP.
EEPROM Se trata de memorias de sólo lectura, programables y borrables
eléctricamente EEPROM
Tanto la programación como el borrado, se realizan eléctricamente Es muy
cómoda y rápida la operación de grabado y la de borrado. Los sistemas de
microprocesadores dotados de memoria EEPROM una vez instalados en el
circuito, pueden grabarse y borrarse cuantas veces se quiera El número de
veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo
que no es recomendable una reprogramación continua.
FLASH Se trata de una memoria no volátil, de bajo consumo, que se puede
escribir y borrar. Funciona como una ROM y una RAM pero consume menos y
es más pequeña. Es más rápida y de mayor densidad que la EEPROM. La
alternativa FLASH está recomendada frente a la EEPROM cuando se precisa
gran cantidad de memoria de programa no volátil. Es más veloz y tolera más
ciclos de escritura/borrado.
Las memorias EEPROM y FLASH son muy útiles al permitir que los sistemas
de microprocesadores que las incorporan puedan ser reprogramados sin tener
que sacar el circuito integrado de la tarjeta.

7
Inbacuán Héctor

BUSES
Los tres componentes principales de un sistema basado en microprocesadores
(CPU, Bloque de memoria y módulo de E/S) están interconectados entre ellos
por cables eléctricos denominados buses del sistema.
Un bus representa una reunión de líneas las cuales realizan la transferencia
unidireccional o bidireccional de la información.
La presencia de un determinado bit (0 o 1) en una línea del bus está marcada
de un determinado valor del potencial eléctrico en esa línea. Por ejemplo, un
potencial entre 2.4-5V marca el bit “1” y un potencia 0-0.4V el bit “0”.
Bus de datos está constituido por líneas bidireccionales. El número N de
líneas del bus de datos es en general, igual con la longitud de la palabra de
datos del microprocesador. Por el bus de datos se transfiere la información
binaria entre el microprocesador y los periféricos
Bus de direcciones está formado por líneas unidireccionales. Es utilizado para
la transferencia de información necesaria para la selección de una determinada
posición de memoria o de un puerto del módulo de E/S.
Bus de control está formado por líneas, en general, unidireccionales. En este
bus cada línea tiene un significado y denominación distinta. El bus de control
contiene la información que envía el microprocesador a los elementos del
sistema.

SEÑALES DE CONTROL
CLK IN Es usado por el microprocesador para generar pulsos de reloj y
producir secuencias de tiempo y control para las funciones internas.
CLK OUT Los pulsos de reloj de este Terminal son usados por los módulos
externos para sincronizar sus operaciones con las operaciones del
microprocesador.
RESET IN Se usa para inicializar el microprocesador.
RESET OUT Informa a la circuitería externa que el microprocesador se
encuentra en estado de reset.
INTERRUPT IN Se utiliza para interrumpir la operación normal del
microprocesador, obligándolo a suspender la ejecución del programa corriente

8
Inbacuán Héctor

y transferir el control a una subrutina. La señal de interrupción proviene


generalmente de una unidad de E/S.
INTERRUPT OUT Informa a la circuitería externa que la interrupción ha sido
atendida. Una vez ejecutada la interrupción, el microprocesador retorna al
programa previo.
HOLD Se utiliza para suspender la operación del microprocesador y llevarlo a
un estado llamado hold en el cual todos los buses quedan en alta impedancia.
HOLDA Informa que la petición de hold ha terminado.
Las líneas READ y WRITE informan al componente seleccionado por el bus de
direcciones la dirección de transferencia esperada en el bus de datos.

CIRCUITO DE RELOJ Y RESET


En la mayoría de microprocesadores este reloj viene incorporado, pudiéndose
controlar externamente su frecuencia mediante un cristal de cuarzo, una red
RC conectados a los pines respectivos.
En la Figura 4 se ilustran las posibilidades del control de la frecuencia. Cuando
la estabilidad de la frecuencia no es de importancia, se prefiere una red RC, en
los otros casos, por ejemplo para las comunicaciones seriales o paralelas es
necesaria la utilización de un cristal.

Figura 4. Circuito de reloj


Fuente: Collaguazo, Gerardo. Microcontroladores

MODULO DE ENTRADA/SALIDA. TECNICAS DE INTERFACE

El sistema está compuesto de un bloque de circuitos lógicos que permiten la


introducción de datos, visualización de resultados y eventualmente la
modificación del programa, es decir un dispositivo de comunicación con el
operador, este bloque se denomina MODULO DE E/S y está destinado a

9
Inbacuán Héctor

asegurar la transferencia de información, representada en binario, entre el


sistema y diversos periféricos conectados a éste (teclados, pulsadores,
interruptores, contactos eléctricos, leds, etc.).

Figura 5. Módulos de Entrada/Salida


Fuente: Collaguazo, Gerardo. Microcontroladores

PUERTO DE SALIDA CON LED


En la figura 6 se muestra un ejemplo sencillo de puerto de salida con flip-flop D,
cuya función es transferir el estado del bit de datos D0 a un LED que actúa
como dispositivo periférico. Esto sucede cuando la línea de dirección A15 es
alta y la señal de escritura (WR) es baja.

Figura 6. Puerto de salido con Flip-Flop


Fuente: Collaguazo, Gerardo. Microcontroladores

Después de habilitado, el flip-flop retiene la información previamente


almacenada mientras el microprocesador se dedica a otras tareas.

10
Inbacuán Héctor

PUERTO DE ENTRADA DE INTERRUPTOR

Figura 7. Puerto de Entrada con Flip-Flop


Fuente: Collaguazo, Gerardo. Microcontroladores

En la figura 7, se muestra en cambio un puerto de entrada con flip-flop. En este


caso, el dispositivo periférico es un interruptor y su estado (alto o bajo) se
transfiere a la línea de datos D0 cuando la línea de direccionamiento A15 es
alta y la línea de control de lectura (RD) es baja. Una vez que el
microprocesador acepta el bit D0 presente en el bus de datos, lo transfiere al
acumulador y sitúa la salida del puerto de entrada en estado de alta
impedancia con el fin de que no interfiera con otras transferencias de datos.

PUERTO DE SALIDA CON REGISTRO DE DATOS


En la siguiente figura se muestra un puerto de salida con registro tipo latch. El
circuito transfiere el patrón de 8
bits presente en el bus de datos
al display periférico de siete
segmentos cuando la línea de
dirección A15 es alta y la línea de
escritura (WR) es baja.

Figura 8. Puerto de Salida con registro tipo latch


Fuente: Collaguazo, Gerardo. Microcontroladores

11
Inbacuán Héctor

PERIFERICOS LENTOS: Su estado cambia una vez por segundo y requieren


varios milisegundos para estabilizarse en su nuevo estado. En esta categoría
tenemos los displays luminosos, relés, microinterruptores, sensores de
posición, contactos, botoneras, etc.
PERIFERICOS DE VELOCIDAD MEDIA: Son aquellos que transfieren datos
desde 1bps a 10000 bps. Dentro de esta categoría se incluyen los teclados,
impresoras normales, CAD, CDA, sistemas de adquisición de datos, etc.
PERIFERICOS DE ALTA VELOCIDAD: Son aquellos que transfieren datos a
velocidades superiores a 10000 bps. Dentro de esta categoría se incluyen los
Discos magnéticos y ópticos, impresoras láser, líneas de comunicación de alta
velocidad, pantallas de video (TRC), etc.

ARQUITECTURAS DE LOS SISTEMAS DE MICROPROCESADORES.


En la Arquitectura Von Neumann la CPU está conectada a una memoria única
que contiene las instrucciones del programa y datos. A esta memoria se
accede a través de un único sistema de buses único. La única ventaja que
posee es que simplifica la lógica del sistema.

Figura 9. Arquitectura Von Neumann


Fuente: Collaguazo, Gerardo. Microcontroladores

Otros sistemas de microprocesadores utilizan la Arquitectura Harvard que


dispone de dos tipos de memorias independientes (memoria de datos y
memoria de programa) a la que se conecta mediante dos grupos de buses
separados, conforme la figura 10.

12
Inbacuán Héctor

Figura 10. Arquitectura Harvard


Fuente: Collaguazo, Gerardo. Microcontroladores

LENGUAJES DE PROGRAMACION. EL ENSAMBLADOR


Los lenguajes de programación se pueden dividir grosso modo, en las
siguientes jerarquías:
 Lenguajes de microprogramación.
 Lenguajes de máquina.
 Lenguajes ensambladores.
 Lenguajes de alto nivel.
El Lenguaje Máquina: es la forma binaria (0’s y 1’s) del programa y es el único
lenguaje que, en última instancia entiende el microprocesador. Una forma
simplificada es el código objeto, el cual representa cada código binario por se
equivalente hexadecimal.
El Lenguaje Ensamblador y los lenguajes de alto nivel (Pascal, Basic, C,
C++, etc) consisten en una serie de instrucciones especiales (statements) que
son más fáciles de entender por la personas que las instrucciones en lenguaje
máquina o código objeto.
El Lenguaje Ensamblador utiliza Nemónicos que son grupos de caracteres
alfanuméricos que simbolizan las órdenes o tareas a realizar con cada
instrucción. De manera general, los nemónicos se corresponden con las
iniciales del nombre de la instrucción en inglés, d forma que “recuerdan” la
operación que realiza la instrucción, lo que facilita su memorización.
LAS INSTRUCCIONES
Una de las principales características de todo microprocesador es disponer de
un buen conjunto de instrucciones que le den la mayor versatilidad posible. Se
establecen los siguientes grupos, tipos o conjuntos de instrucciones:

13
Inbacuán Héctor

1. Aritméticas: Son las instrucciones que realizan operaciones de tipo


aritmético como sumas, restas, incrementos, decrementos, etc..
2. Movimiento de datos: Este tipo de instrucciones de movimiento o
transferencia de datos, permiten realizar una copia del contenido de un registro
o dirección de memoria (origen), en otro registro o dirección de memoria
(destino)
3. Instrucciones lógicas: Realizan operaciones lógicas entre los operandos.
Afectan a los flags según sea el caso y las operaciones se realizan bit a bit
entre los datos.
4. Instrucciones de comparación: Son operaciones de restar u operaciones
XOR entre dos operandos.
5. Instrucciones de salto: Son instrucciones de modificación de secuencia
que alteran la ejecución normal del programa, cargando el contador de
programa con la nueva dirección en la que deseamos continúe ejecutándose el

indicador o flag, y basándose en dicho estado se decide si se salta o no.

previa. Dentro de cada uno de estos tipos, podemos encontrar además la


particularidad de que al efectuar los saltos se realicen con posibilidad de
retorno o no.
6. Instrucciones de entrada/salida: Son en realidad instrucciones de
transferencia, pero no entre registros o posiciones de memoria, sino con
elementos periféricos que permiten la comunicación del microprocesador con el
exterior.
7. Instrucciones de control: Sirven para actuar internamente sobre el
microprocesador, provocando detenciones en la ejecución del programa, etc.
8. Instrucciones de bit: Trabajan o tratan bits independientes.
9. Instrucciones de desplazamiento: Desplazan o rotan hacia la izquierda o
hacia la derecha los bits de un registro (Acumulador).
MODOS DE DIRECCIONAMIENTO
Los modos de direccionamiento son aquellos procedimientos empleados por el
microprocesador para poder acceder a determinados operandos, instrucciones,

14
Inbacuán Héctor

posiciones de memoria, registros de entrada/salida, etc. Por tanto, el objeto del


direccionamiento es un valor o dato que se encuentra en un lugar de la
memoria, en algún registro o en la propia instrucción.
1. Direccionamiento inmediato: En este caso el objeto (un operando) se
encuentra incluido en la instrucción, es decir, a continuación del código de la
instrucción se añade el operando propiamente dicho. Las instrucciones que
emplean este direccionamiento pueden ser de dos o tres bytes y son
instrucciones de ejecución rápida y sencilla.
2. Direccionamiento implícito: Las instrucciones que emplean este modo de
direccionamiento tienen un solo byte y es la propia instrucción la que indica que
registro o dirección de memoria se va a utilizar en la operación.
3. Direccionamiento absoluto: En este caso las instrucciones incluyen la
dirección de memoria donde se encuentra el dato con el que se va a operar. En
este tipo de direccionamiento pueden darse tres supuestos:
a. La instrucción apunta a un registro que contiene la información
deseada
b. La instrucción contiene la dirección completa en la que se encuentra
el dato, empleando para ello tres bytes.
c. Cuando la instrucción se refiere solo a una parte de la memoria. En
este caso el byte más alto lo suministra el contador de programa y el
byte más bajo se expresa a continuación del código de instrucción, por
tanto solo se emplean dos bytes.
4. Direccionamiento directo relativo: La instrucción en este caso contiene un
valor determinado al que podemos llamar V. La dirección total se calcula
sumando a V el valor que esté almacenado en un registro al que haga
referencia la instrucción.
5. Direccionamiento indirecto: La instrucción contiene una dirección a la que
llamaremos D1. El contenido de D1 no es el objeto directo de nuestra
instrucción, sino que contiene otra dirección que llamaremos D2. Esta nueva
dirección D2 es la que contiene el dato que sí es objeto de la instrucción.
Direccionamiento que utiliza el microprocesador 8085 en particular, que son los
cuatro siguientes:

15
Inbacuán Héctor

Direccionamiento Directo Absoluto. La instrucción contiene la dirección exacta


y completa donde se encuentra el dato. Por ejemplo:
LHLD A716H
Direccionamiento por Registro. La instrucción lleva el registro en el que está el
dato que va a ser tratado. Por ejemplo:
MOV A, B
MOV B, C
Direccionamiento por Registro Indirecto. En la instrucción se especifica un
registro cuyo contenido apunta a una dirección de memoria en la que se
encuentra el dato. Por ejemplo:
MOV A, M
M es una referencia simbólica a una dirección de memoria apuntada o
señalada por el par de registros
HL.
Direccionamiento Inmediato. La instrucción contiene el dato con el que se
desea operar, pudiendo ser el dato de uno o dos bytes.
LXI H, A0B7H
ADI 3AH

 BIBLIOGRAFIA

Collaguazo, Gerardo. Microcontroladores. Sistemas basados en microprocesadores.

16

Das könnte Ihnen auch gefallen