You are on page 1of 0

Sistemas basados en microprocesadores Parte I

Ing. Gerardo Collaguazo 1


CAPITULO 1
SISTEMAS BASADOS EN MICROPROCESADORES
La ciencia es el arte del ensayo y el error, su producto ms importante es la razn....
Los sistemas lgicos basados en transistores poseen las mismas ventajas que los circuitos electrnicos de
estado slido: son seguros, confiables, pequeos, rpidos y baratos. Desde el punto de vista del usuario
industrial, su nica falla es su difcil modificacin con el cambio de aplicacin. Hoy en da se ha popularizado
un nuevo enfoque en la construccin de sistemas lgicos industriales. En este nuevo enfoque, la toma de
decisiones del sistema se lleva a cabo por instrucciones codificadas las cuales estn almacenadas en un
circuito de memoria y ejecutadas por un microcroprocesador, por lo que, a la hora de cambiar de aplicacin
ser suficiente cambiar las instrucciones codificadas, haciendo que estos sistemas sean ms flexibles.
PRE-REQUISITOS
Para la comprensin adecuada del contenido de Microprocesadores, se requiere los conocimientos previos
de:
Electrnica bsica: semiconductores, transistores, elementos de visualizacin (LEDs, Displays,
etc.).
Electrnica Digital: Sistemas de numeracin, Circuitos Combinacionales y Secuenciales
(Compuertas lgicas, Registros, etc.).
Sistemas Anlogo-Digitales: Amplificadores operacionales, memorias.
Programacin: Definiciones bsicas, algoritmos y diagramas de flujo.
OBJETIVOS
Establecer los fundamentos necesarios para la comprensin adecuada del funcionamiento de la estructura
de los sistemas basados en microprocesadores para el desarrollo de diversas aplicaciones, sean estas
industriales o de comunicaciones.
Al finalizar el estudio de este captulo, el estudiante estar en capacidad de:
Realizar un anlisis comparativo entre los controladores tradiciones y los sistemas basados en
microprocesadores.
Describir correctamente la estructura fsica y funcional de un sistema basado en
microprocesadores.
Identificar con criterio fundamentado las diferentes partes que constituyen los sistemas basados
en microprocesadores.
Realizar un diseo correcto de un sistema bsico basado en microprocesadores de 8 bits.
Utilizar las instrucciones de Lenguaje Ensamblador, en la programacin de un sistema bsico de
microprocesador de 8 bits, orientado al control de perifricos de seal digital.
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
2
1.1 COMPONENTES DE BASE DE UN SISTEMA DE MICROPROCESADORES
1.1.1 INTRODUCCION
Con el avance tecnolgico, los procesos de produccin industriales han sufrido grandes cambios, por lo que quienes
estamos involucrados con el tema, debemos estar permanentemente informados acerca de los nuevos productos,
mtodos de proceso, solucin de fallas, sistemas, etc.
En la actualidad, la automatizacin es un rea que est en permanente contacto con nosotros, por esta razn,
debemos estar preparados y conocer el funcionamiento de dichos sistemas.
Encontramos sistemas basados en
microprocesadores en la mayora de productos
sean estos de uso domstico (hornos de
microondas, estreos, reproductores de CDs,
etc.), industrial (automotriz, textil, plstica,
etc.), equipos de comunicacin, de oficina,
instrumentos de laboratorio, etc., por tal
razn, es muy importante que cualquier
tcnico en electrnica comprenda la manera
de detectar los problemas en los
microprocesadores.
Se dice que en la primera parte de la revolucin industrial las mquinas reemplazaron los msculos, mientras que
en la segunda, la actual, los microprocesadores y sus aplicaciones intentan reemplazar la POTENCIA DEL
CEREBRO; igualmente podemos afirmar que el computador digital es, junto al motor elctrico, uno de los inventos
decisivos de la humanidad. Todos los sistemas tecnolgicos modernos estn compuestos por un mtodo de
movimiento y un sistema de control. El motor y el computador digital ocupan, en su orden, estos lugares.
Un microprocesador es un circuito electrnico programable que requiere de apoyo para su funcionamiento.
1.1.2 ROL Y ESTRUCTURA
Teniendo en cuenta que la palabra
sistema sugiere un conjunto de
elementos relacionados entre s, para
realizar una funcin bien definida que
ninguno podra hacerlo por s solo;
podramos decir que un sistema basado
en microprocesadores es un conjunto de
componentes (circuitos electrnicos)
interconectados capaces de efectuar
sobre la informacin proveniente del
proceso, representada en forma binaria,
operaciones aritmticas y lgicas, y
realizar la transferencia de datos con los
diferentes perifricos conectados al
sistema. Bajo este aspecto tenemos:
Perifricos de entrada (Sensores o Captores) son quienes reciben la informacin de cambios fsicos del
proceso. Estn representados por los sensores captores de seal de tipo digital o analgico: pulsadores,
interruptores, contactos elctricos, CAD, etc.
Evolucin
Ao
1968: Se sustituyen los rel s con transistores
1973: Se incorpora el mP
1977: Aparecen mejoras en
lenguaje de programacin
1980: Aparecen los robots controlados
por ordenador
1990: Aparece la comunicaci n en red
en el control de procesos
2000: Los PLCs van de la mano con
los microcontroladores
xxxx: Comunicaciones y controles con elementos mecnicos
Evolucin
Ao
1968: Se sustituyen los rel s con transistores
1973: Se incorpora el mP
1977: Aparecen mejoras en
lenguaje de programacin
1980: Aparecen los robots controlados
por ordenador
1990: Aparece la comunicaci n en red
en el control de procesos
2000: Los PLCs van de la mano con
los microcontroladores
xxxx: Comunicaciones y controles con elementos mecnicos
Fig.1.1 Evolucin de los controladores industriales
OPERADOR
SENSORES O
CAPTORES
ACTUADORES
EQUIPO A CONTROLAR O
PROCESO INDUSTRIAL
UNIDAD DE
CONTROL
Elementos de programaci n
Informacin recibida
Informaciones
del sistema
Ordenes a ser
ejecutadas
OPERADOR
SENSORES O
CAPTORES
ACTUADORES
EQUIPO A CONTROLAR O
PROCESO INDUSTRIAL
UNIDAD DE
CONTROL
Elementos de programaci n
Informacin recibida
Informaciones
del sistema
Ordenes a ser
ejecutadas
Fig. 1.2 Sistema de control de procesos
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 3
La Unidad de control procesa la informacin recibida en base a un programa (secuencia lgica de
instrucciones) y entrega los resultados para ser ejecutados.
Perifricos de salida (Actuadores) que son los encargados de ejecutar las rdenes en funcin de los resultados
de la Unidad de Control. Estn representados por: solenoides, rels, contactores, displays, CDA, etc.
Existen dos soluciones para implementar un circuito digital que resuelva un determinado problema:
a. Lgica cableada: Son circuitos diseados exclusivamente para realizar una aplicacin concreta,
es decir son muy rgidos, lo que significa que para una nueva aplicacin se debe disear un
nuevo circuito.
b. Lgica programada: Es un concepto ms amplio que dio lugar a las mquinas universales
programadas. Se trata de mquinas potentes y flexibles capaces de realizar la mayora de las
funciones bsicas necesarias para cualquier aplicacin. Trabajan de forma secuencial ejecutando
progresivamente las operaciones necesarias en base a un programa.
CARACTERSTICAS DEL SISTEMA CABLEADA PROGRAMABLE
Mantenimiento
Costo
Adaptacin de procesos
Posibilidades de ampliacin
Interconexin y cableado exterior
Estructuracin en bloques independientes
Mucho
Bajo
Difcil
Bajas
Mucho
Difcil
Poco
Alto
Fcil
Altas
Poco
Fcil
El problema mayor que existe al realizar
un sistema basado en microprocesadores,
es aquel que se necesita personal experto
para su diseo y mantenimiento.
Como se dijo anteriormente, un sistema
basado en microprocesadores consta de una
serie de elementos para la entrada, salida,
procesamiento, control y almacenamiento de
informacin. Los enlaces entre estos
elementos se establecen a travs de caminos
de seal, por ejemplo cables, que llevan o
transmiten informacin digital entre un
punto y otro.
PROBLEMA PROGRAMADOR
ANALISIS
CONOCIMIENTOS
PROGRAMA SISTEMA mP SOLUCION
DATOS DEL PROBLEMA
PROBLEMA PROGRAMADOR
ANALISIS
CONOCIMIENTOS
PROGRAMA SISTEMA mP SOLUCION
DATOS DEL PROBLEMA
Fig. 1.3 Solucin de un problema
UNIDAD DE
CONTROL
UNIDAD DE
CONTROL
ALU
ALU
UNIDAD DE
ENTRADA
UNIDAD DE
ENTRADA
UNIDAD DE
SALIDA
UNIDAD DE
SALIDA
MEMORIA
RAM
MEMORIA
RAM
MEMORIA
ROM
MEMORIA
ROM
Unidad E/S
CPU o mP
Unidad de memoria
UNIDAD DE
CONTROL
UNIDAD DE
CONTROL
ALU
ALU
UNIDAD DE
ENTRADA
UNIDAD DE
ENTRADA
UNIDAD DE
SALIDA
UNIDAD DE
SALIDA
MEMORIA
RAM
MEMORIA
RAM
MEMORIA
ROM
MEMORIA
ROM
Unidad E/S
CPU o mP
Unidad de memoria
Fig. 1.4 Estructura de un sistema de microprocesadores
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
4
La funcin principal de un sistema basado en microprocesadores consta en el procesamiento de informacin
recogida del exterior por medio de los perifricos de entrada y la transmisin de los resultados sea directamente al
proceso, sea al operador, por medio de los perifricos de salida conectados al sistema. El procesamiento de la
informacin de entrada se realiza en base a un programa escrito en la memoria del sistema, la misma que puede
tener los resultados finales o intermedios. La comunicacin entre el sistema y los perifricos se realiza por el
conjunto de circuitos que constituyen el denominado Mdulo de Entrada/Salida del sistema. En esta forma se
distinguen tres partes fundamentales: UNIDAD CENTRAL DE PROCESAMIENTO (CPU), BLOQUE DE
MEMORIA y el MDULO DE ENTRADA/SALIDA, interconectados entre ellos por intermedio de los BUSES.
Como aplicacin de lo expuesto hasta el momento, vamos a describir brevemente el principio general de
funcionamiento de un control de temperatura de un horno con microprocesador, tipo On/Off. El diagrama prctico
de conexin se muestra en la figura 5, mientras que el diagrama de bloques en la figura 6.
La temperatura deseada se
ajusta de la perilla que tiene
una escala marcada en grados
centgrados. Esta lectura se
lleva a travs de una interface
de entrada y se almacena en
una parte de la memoria
RAM.
Posteriormente, el
microprocesador lee la
temperatura actual por medio
de un sensor apropiado y
tambin, a travs de una
interface, la convierte en una
seal digital equivalente a los
grados ledos.
Este dato se almacena en una casilla o posicin de memoria RAM. Estas dos operaciones estn dirigidas por un
programa que, generalmente para este tipo de sistemas, est almacenado o grabado en la memoria ROM.
SISTEMA DE mP
e INTERFACES
SISTEMA DE mP
e INTERFACES
HORNO ELECTRICO
ELEMENTO CALEFACTOR
INT. DE SEGURIDAD
SEAL DE CONTROL
SEAL DEL SENSOR
SEAL DE SEGURIDAD
SEAL DE
ALARMA
SEAL DE
REFERENCIA
SEAL DE
ENERGIZACION
PANEL DE CONTROL
0 6 5
C
ON
OFF
SISTEMA DE mP
e INTERFACES
SISTEMA DE mP
e INTERFACES
HORNO ELECTRICO
ELEMENTO CALEFACTOR
INT. DE SEGURIDAD
SEAL DE CONTROL
SEAL DEL SENSOR
SEAL DE SEGURIDAD
SEAL DE
ALARMA
SEAL DE
REFERENCIA
SEAL DE
ENERGIZACION
PANEL DE CONTROL
0 6 5
C
ON
OFF
Fig. 1. 5 Esquema prctico de control de temperatura con microprocesador
SENSOR DE TEMP.
(TERMISTOR,
TERMOCUPLA,
RTD, etc)
SENSOR DE TEMP.
(TERMISTOR,
TERMOCUPLA,
RTD, etc)
INTERFACE DE
ENTRADA
(CONVERTIDOR A/D)
INTERFACE DE
ENTRADA
(CONVERTIDOR A/D)
SISTEMA DE mP
(CPU, RAM, ROM, E/S)
SISTEMA DE mP
(CPU, RAM, ROM, E/S)
INTERFACE DE
ENTRADA
(CONVERTIDOR A/D)
INTERFACE DE
ENTRADA
(CONVERTIDOR A/D)
SELECTOR DE TEMP
(PERILLA GRADUADA
ENC)
SELECTOR DE TEMP
(PERILLA GRADUADA
EN C)
INTERFACE DE
SALIDA
(TRANSISTOR,
RELE, TRIAC, etc)
INTERFACE DE
SALIDA
(TRANSISTOR,
RELE, TRIAC, etc)
ELEMENTO
CALEFACTOR
ELEMENTO
CALEFACTOR
IN IN
OUT
SENSOR DE TEMP.
(TERMISTOR,
TERMOCUPLA,
RTD, etc)
SENSOR DE TEMP.
(TERMISTOR,
TERMOCUPLA,
RTD, etc)
INTERFACE DE
ENTRADA
(CONVERTIDOR A/D)
INTERFACE DE
ENTRADA
(CONVERTIDOR A/D)
SISTEMA DE mP
(CPU, RAM, ROM, E/S)
SISTEMA DE mP
(CPU, RAM, ROM, E/S)
INTERFACE DE
ENTRADA
(CONVERTIDOR A/D)
INTERFACE DE
ENTRADA
(CONVERTIDOR A/D)
SELECTOR DE TEMP
(PERILLA GRADUADA
ENC)
SELECTOR DE TEMP
(PERILLA GRADUADA
EN C)
INTERFACE DE
SALIDA
(TRANSISTOR,
RELE, TRIAC, etc)
INTERFACE DE
SALIDA
(TRANSISTOR,
RELE, TRIAC, etc)
ELEMENTO
CALEFACTOR
ELEMENTO
CALEFACTOR
IN IN
OUT
Fig. 1.6 Diagrama de bloques
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 5
Con estos dos datos se hace una operacin lgica de comparacin en la unidad Aritmtico-Lgica de la CPU. De
acuerdo a los resultados y las instrucciones del programa, la CPU enva una seal a la interface de salida que activa
o desactiva un elemento calefactor o resistencia.
Si la temperatura a controlar es ms baja de lo deseado, se enva un alto (1 lgico) por una lnea del bus de datos y
se enciende la resistencia. Si la temperatura est ms alta de lo deseado, se deja la resistencia sin funcionar
enviando un bajo (0 lgico) por la misma lnea para que la resistencia no funcione. De esta manera la temperatura
se ir ajustando hasta el valor marcado por la perilla.
La unidad de control del microprocesador enviar todas las seales propias a todas las dems unidades para que
realicen las operaciones de lectura y accionamiento de los sensores y de la resistencia.
El objetivo del sistema es mantener la temperatura del horno dentro de un estrecho margen con respecto a la
temperatura de referencia indicada mediante unos interruptores rotativos situados en el panel de control. Desde este
panel se realiza tambin el encendido y apagado general del horno.
Para evitar un consumo excesivo de potencia y proteger a los usuarios que se encuentren en las proximidades, la
puerta del horno debe permanecer cerrada en condiciones normales de funcionamiento. Por esta razn, al horno se
le incorpora un conmutador de seguridad, el cual se activa cuando la puerta est completamente cerrada.
Si el conmutador de seguridad est desconectado, mientras el horno est funcionando, el microprocesador
desenergiza el elemento calefactor, enfriando el sistema. Adems, bajo esta condicin, el microprocesador activa
tambin una seal de alarma.
Las seales proporcionadas por los distintos dispositivos de entrada se leen y se comprueban peridicamente. El
programa almacenado en la memoria decide lo que debe hacerse en cada momento y la informacin que debe
enviar a los dispositivos de salida conectados al sistema.
En la siguiente figura, se detallan las partes de un sistema basado en microprocesador, las mismas que a
continuacin las vamos a analizar.
1.1.2.1 UNIDAD CENTRAL DE PROCESAMIENTO (CPU)
Es mejor conocida como procesador central y se encarga del procesamiento de la informacin proveniente del
exterior. Este bloque contiene los circuitos lgicos, aritmticos y de control que dirigen y coordinan las operaciones
del sistema y los dispositivos perifricos.
En esta unidad se distinguen: la Unidad de Control, la Unidad Aritmtico-lgica y el bloque de Registros internos.
En la prctica, la CPU se encuentra en forma de un circuito integrado llamado MICROPROCESADOR.
Salida
RAM ROM
CPU
CPU
Bloque E/S
Entrada
Bloque de
memoria
Perifricos de
entrada
Perifricos de
entrada
Perifricos de
salida
Perifricos de
salida
Bus de datos
Bus de direcciones
Bus de control
CLK
Salida
RAM ROM
CPU
CPU
Bloque E/S
Entrada
Bloque de
memoria
Perifricos de
entrada
Perifricos de
entrada
Perifricos de
salida
Perifricos de
salida
Bus de datos
Bus de direcciones
Bus de control
CLK
Fig. 1.7 Partes de un sistema de microprocesador
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
6
La Unidad de Control se encarga de la interpretacin y ejecucin de las instrucciones del programa.
Tambin genera las seales que son requeridas por la unidad Aritmtica y otros componentes del sistema
para permitirle realizar la tarea encomendada. 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 seales son enviadas a travs de las
lneas llamadas buses.
Esta contiene circuitos lgicos y de temporizacin que generan las seales adecuadas necesarias para
ejecutar cada instruccin en un programa. Esta unidad extrae una instruccin de la memoria enviando una
direccin y un comando de lectura a la unidad de memoria. La instruccin almacenada en la posicin de
memoria se transfiere a ella para despus ejecutarse.
La Unidad Aritmtico-lgica se encarga de realizar las operaciones lgicas y aritmticas usando como
base la suma y la notacin del complemento de dos. Estas operaciones (SUMA, RESTA,
COMPLEMENTO DE DOS, AND, OR, NOT, XOR y la COMPARACIN) las realiza con datos de la
memoria, con datos de los registros internos o con datos de la unidad de entrada. El tipo de operacin que
se realizar, se determina por medio de seales 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 operacin y el
resultado de la
misma luego de
haberla ejecutado.
Procesa informacin binaria
en base de un programa escrito
en la memoria
CPU o mP
Ejecuta e interpreta las instrucciones.
Sincroniza el funcionamiento de
todos los componentes del sistema
Ejecuta e interpreta las instrucciones.
Sincroniza el funcionamiento de
todos los componentes del sistema
Ejecuta operaciones:
Aritmticas: +, -, complemento a dos.
Lgicas: and, or, not, xor, comparacin.
Adems: desplazamiento, rotaci n y traslado
de informacin digital
Ejecuta operaciones:
Aritmticas: +, -, complemento a dos.
Lgicas: and, or, not, xor, comparacin.
Adems: desplazamiento, rotaci n y traslado
de informaci n digital
UNIDAD DE CONTROL
UNIDAD DE CONTROL
UNIDAD ARITMETICO-LOGICA
UNIDAD ARITMETICO-LOGICA
Memorias para almacenamiento temporal
de datos necesarios para el desarrollo de
las actividades del mP.
Memorias para almacenamiento temporal
de datos necesarios para el desarrollo de
las actividades del mP.
BLOQUE DE REGISTROS
BLOQUE DE REGISTROS
Procesa informacin binaria
en base de un programa escrito
en la memoria
CPU o mP
Ejecuta e interpreta las instrucciones.
Sincroniza el funcionamiento de
todos los componentes del sistema
Ejecuta e interpreta las instrucciones.
Sincroniza el funcionamiento de
todos los componentes del sistema
Ejecuta operaciones:
Aritmticas: +, -, complemento a dos.
Lgicas: and, or, not, xor, comparacin.
Adems: desplazamiento, rotaci n y traslado
de informacin digital
Ejecuta operaciones:
Aritmticas: +, -, complemento a dos.
Lgicas: and, or, not, xor, comparacin.
Adems: desplazamiento, rotaci n y traslado
de informaci n digital
UNIDAD DE CONTROL
UNIDAD DE CONTROL
UNIDAD ARITMETICO-LOGICA
UNIDAD ARITMETICO-LOGICA
Memorias para almacenamiento temporal
de datos necesarios para el desarrollo de
las actividades del mP.
Memorias para almacenamiento temporal
de datos necesarios para el desarrollo de
las actividades del mP.
BLOQUE DE REGISTROS
BLOQUE DE REGISTROS
Fig. 1.8 Bloques de la CPU
REGISTROS
DE PROPOSITO
GENERAL
REGISTROS
DE PROPOSITO
GENERAL
SR
SR
AC
AC
ALU
ALU
PC
PC
IR
IR
BUSES INTERNOS
REGISTRO INTERMEDIO
DE DATOS
REGISTRO INTERMEDIO
DE DATOS
REGISTRO INTERMEDIO
DE DIRECCIONES
REGISTRO INTERMEDIO
DE DIRECCIONES
LOGICA DE
CONTROL
Y
TEMPORIZACION
LOGICA DE
CONTROL
Y
TEMPORIZACION
ACUMULADOR
REG. ESTADOS
CONTADOR DE PROG.
REG. INSTRUCCIONES
BUS DEL SISTEMA HACIA LA MEMORIA PRINCIPAL Y DISPOSITIVOS DE E/S
BUS DE DATOS BUS DE DIRECCION BUS DE CONTROL
REGISTROS
DE PROPOSITO
GENERAL
REGISTROS
DE PROPOSITO
GENERAL
SR
SR
AC
AC
ALU
ALU
PC
PC
IR
IR
BUSES INTERNOS
REGISTRO INTERMEDIO
DE DATOS
REGISTRO INTERMEDIO
DE DATOS
REGISTRO INTERMEDIO
DE DIRECCIONES
REGISTRO INTERMEDIO
DE DIRECCIONES
LOGICA DE
CONTROL
Y
TEMPORIZACION
LOGICA DE
CONTROL
Y
TEMPORIZACION
ACUMULADOR
REG. ESTADOS
CONTADOR DE PROG.
REG. INSTRUCCIONES
BUS DEL SISTEMA HACIA LA MEMORIA PRINCIPAL Y DISPOSITIVOS DE E/S
BUS DE DATOS BUS DE DIRECCION BUS DE CONTROL
Fig. 1.9 Estructura interna de la CPU
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 7
Los registros tienen ciertas funciones especficas que cumplir dentro de la CPU, a saber:
Registro Contador de Programa (PC), es el que indica al microprocesador la direccin de memoria
donde se est ejecutando el programa. Cada vez que se lee una instruccin, el PC se incrementa
automticamente para suministrar la direccin de la posicin de memoria donde se encuentra la siguiente
instruccin o dato del programa.
Registro de instrucciones (IR). Cada vez que el microprocesador capta una instruccin, esta se almacena
en el registro IR, con el fin de proceder a su decodificacin o interpretacin y buscar en la ROM del
microprograma el conjunto de microinstrucciones necesarios para su ejecucin. Esta funcin la realiza un
circuito denominado decodificador de instrucciones.
El Registro Acumulador (Ac) es utilizado por muchas instrucciones como fuente o destino de datos. En
l, generalmente, se deposita el resultado de una operacin.
El Registro de estado (SR) suministra, a travs de sus bits (llamados banderas (flags)), informacin
relativa a la ejecucin de ciertas instrucciones como signo, sobreflujo, paridad, generacin de acarreo,
resultado negativo o cero, etc.
Mediante la verificacin del estado de estas banderas se pueden realizar bifurcaciones en la secuencia del
programa.
Registros de propsito general. Son utilizados para almacenar direcciones de memoria, datos, resultados
intermedios y otros propsitos. El nmero y tipos de registros que posee un microprocesador es una parte
muy importante en su arquitectura y su programacin.
A continuacin, como ejemplo, se presentan la organizacin interna de un microprocesador de 8 bits (INTEL
8085A) y tambin su diagrama esquemtico con sus respectivas seales.
Fig. 1.10 Organizacin interna del mP INTEL 8085A
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
8
1.1.2.2 BLOQUE DE MEMORIA
La memoria se emplea para dos funciones bsicas:
Almacenamiento de las instrucciones que constituyen el programa. Las instrucciones se codifican mediante
su Cdigo de Operacin (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).
El bloque de memoria consta de una serie de registros que forman las
denominadas posiciones de memoria las cuales guardan en forma
temporal o definitiva una informacin. Una memoria tiene un nmero
determinado de registros (posiciones) y de igual forma cada posicin de
memoria tiene un nmero determinado de bits. A cada registro o
posicin de memoria se le asigna un nmero llamado direccin de
memoria.
La operacin de la memoria es controlada por la unidad de control, la
cual indica una operacin de lectura o escritura. Por medio de la Unidad
de Control se puede acceder a una posicin de memoria, la cual
proporciona el cdigo de direccin adecuado.
A continuacin se detallan las principales caractersticas de la memoria de un sistema basado en
microprocesadores:
Longitud de la palabra de datos representa el nmero de bits a los cuales se pueden tener acceso en una sola
operacin (de lectura o escritura), es decir el nmero de bits que pueden ser escritos o ledos en una posicin de
memoria.
Capacidad de memoria representa el nmero 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. La unidad 1KB representa
2
10
, es decir 1024 bytes. De esta forma tenemos los siguientes tipos de memoria: 1Kx1, 256Kx4, 2Kx8, lo cual
nos permite la identificacin directa de las posiciones de memoria, 1024, 256 y respectivamente 2048 ofrecidas
por el circuito y el nmero de bits de cada posicin, 1, 4 y 8 respectivamente.
Tiempo de acceso representa el intervalo de tiempo entre el momento en el cual se da una orden de lectura del
contenido de una posicin de memoria y el momento en el cual la palabra de la posicin seleccionada se
0
1
N-2
N-1
Nr. De bits
0
1
N-2
N-1
Nr. De bits
Fig. 1.12 La memoria
M
I
C
R
O
P
R
O
C
E
S
A
D
O
R
8
0
8
5
8
2
2
5
BUS DE DIRECCIONES
BUS DE DATOS/DIRECCIONES
CONTROL DE DIRRECCIONES
SELECCIN DE LECTURA
SELECCIN DE ESCRITURA
HABILITACION DE M-I/O
ESTADO DEL CICLO MAQUINA
PETICION DE DMA
CONFORMIDAD EN EL DMA
PETICION DE ESPERA
B
U
S
D
E
C
O
N
T
R
O
L
ALIMENTACION
PUESTA A CERO
RELOJ
CONTROL DE
INTERRUPCIONES
PUERTA DE
E / S SERIE
M
I
C
R
O
P
R
O
C
E
S
A
D
O
R
8
0
8
5
8
2
2
5
BUS DE DIRECCIONES
BUS DE DATOS/DIRECCIONES
CONTROL DE DIRRECCIONES
SELECCIN DE LECTURA
SELECCIN DE ESCRITURA
HABILITACION DE M-I/O
ESTADO DEL CICLO MAQUINA
PETICION DE DMA
CONFORMIDAD EN EL DMA
PETICION DE ESPERA
B
U
S
D
E
C
O
N
T
R
O
L
ALIMENTACION
PUESTA A CERO
RELOJ
CONTROL DE
INTERRUPCIONES
PUERTA DE
E / S SERIE
Fig. 1.11 Diagramaesquemtico del mP 8085A
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 9
encuentra en el bus de datos. Los valores del tiempo de acceso para los circuitos usuales, realizados en
tecnologa MOS, son del orden de nanosegundos, por ejemplo para una memoria INTEL es de 70ns.
El bloque de memoria est compuesto por dos tipos de memoria, a saber:
MEMORIA RAM que es aquella que guarda en forma temporal (mientras dure la alimentacin con tensin al
sistema) los datos. Este tipo de memoria permite leer y escribir datos en sus posiciones.
MEMORIA ROM destinada nicamente a la escritura de programas o datos que van a ser guardados en forma
definitiva.
Las Memorias RAM son de dos tipos:
o RAM ESTATICAS (SRAM) , cuyas caractersticas son:
Usa flip-flops.
Rpida.
Usa ms espacio de silicio.
Consume mucha energa.
Generalmente celdas de 8 bits.
o RAM DINAMICAS (DRAM), cuyas caractersticas son:
Usa capacitores.
Requiere refresco.
Usa menos espacio de silicio.
Consume menos energa.
Generalmente celdas de 1 bit.
Las Memorias de tipo ROM son:
1. ROM con mscara
Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. El elevado coste
del diseo de la mscara slo hace aconsejable el empleo de los microprocesadores con este tipo de memoria
cuando se precisan cantidades superiores a varios miles de unidades.
MODULO DE MEMORIA
MODULO DE MEMORIA
MEMORIA LECTURA/ESCRITURA
(ACCESO ALEATORIO)
MEMORIA LECTURA/ESCRITURA
(ACCESO ALEATORIO)
MEMORIA DE VALOR FIJO
(SOLO LECTURA)
MEMORIA DE VALOR FIJO
(SOLO LECTURA)
RAM ESTATICAS
(SRAM)
RAM ESTATICAS
(SRAM)
RAM DINAMICAS
(DRAM)
RAM DINAMICAS
(DRAM)
PROM
PROGRAMABLES
POR EL USUARIO
PROM
PROGRAMABLES
POR EL USUARIO
ROM
PROGRAMABLES
POR MASCARA
ROM
PROGRAMABLES
POR MASCARA
ALMACENAMIENTO
SECUNDARIO
ALMACENAMIENTO
SECUNDARIO
PROM
PROM
EPROM
EPROM
OTP
OTP
EEPROM
EEPROM
FLASH
FLASH
MODULO DE MEMORIA
MODULO DE MEMORIA
MEMORIA LECTURA/ESCRITURA
(ACCESO ALEATORIO)
MEMORIA LECTURA/ESCRITURA
(ACCESO ALEATORIO)
MEMORIA DE VALOR FIJO
(SOLO LECTURA)
MEMORIA DE VALOR FIJO
(SOLO LECTURA)
RAM ESTATICAS
(SRAM)
RAM ESTATICAS
(SRAM)
RAM DINAMICAS
(DRAM)
RAM DINAMICAS
(DRAM)
PROM
PROGRAMABLES
POR EL USUARIO
PROM
PROGRAMABLES
POR EL USUARIO
ROM
PROGRAMABLES
POR MASCARA
ROM
PROGRAMABLES
POR MASCARA
ALMACENAMIENTO
SECUNDARIO
ALMACENAMIENTO
SECUNDARIO
PROM
PROM
EPROM
EPROM
OTP
OTP
EEPROM
EEPROM
FLASH
FLASH
Fig. 1.13 Tipos de memorias
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
10
2. OTP
El microprocesador contiene una memoria no voltil de slo lectura programable una sola vez por el usuario.
OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el chip mediante un sencillo
grabador controlado por un programa desde un PC.
La versin OTP es recomendable cuando es muy corto el ciclo de diseo del producto, o bien, en la construccin de
prototipos y series muy pequeas. Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin
mediante fusibles para proteger el cdigo contenido.
3. EPROM
Los sistemas de microprocesadores que disponen de memoria EPROM (Erasable Programmable Read Only
Memory) pueden borrarse y grabarse muchas veces. La grabacin se realiza, como en el caso de los OTP, con un
grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de
cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cpsulas
son de material cermico y son ms caros que los microcontroladores con memoria OTP que estn hechos con
material plstico.
4. EEPROM
Se trata de memorias de slo lectura, programables y borrables elctricamente EEPROM (Electrical Erasable
Programmable Read OnIy Memory). Tanto la programacin como el borrado, se realizan elctricamente desde el
propio grabador y bajo el control programado de un PC. Es muy cmoda y rpida la operacin de grabado y la de
borrado. No disponen de ventana de cristal en la superficie.
Los sistemas de microprocesadores dotados de memoria EEPROM una vez instalados en el circuito, pueden
grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan grabadores en
circuito que confieren una gran flexibilidad y rapidez a la hora de realizar modificaciones en el programa de
trabajo.
El nmero de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es recomendable
una reprogramacin continua. Son muy idneos para la enseanza y la Ingeniera de diseo.
Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona de memoria EEPROM en los
circuitos programables para guardar y modificar cmodamente una serie de parmetros que adecuan el dispositivo
a las condiciones del entorno.
Este tipo de memoria es relativamente lenta.
5. FLASH
Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y
una RAM pero consume menos y es ms pequea.
A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida 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 voltil. Es ms veloz y tolera ms 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 en circuito, es decir, sin tener que sacar el circuito integrado de la tarjeta.
As, un dispositivo con este tipo de memoria incorporado al control del motor de un automvil permite que pueda
modificarse el programa durante la rutina de mantenimiento peridico, compensando los desgastes y otros factores
tales como la compresin, la instalacin de nuevas piezas, etc. La reprogramacin de la memoria puede convertirse
en una labor rutinaria dentro de la puesta a punto.
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 11
Estas memorias son llamadas tambin de memorias de almacenamiento primario. Otro tipo de memorias son las
de almacenamiento secundario que generalmente almacenan gran cantidad de informacin entre ellas podemos
mencionar: discos duros, discos flexibles, discos pticos, etc.
Las memorias son circuitos integrados que tienen las siguientes seales tpicas:
Bus de Datos: Do-Dn, por l entran y salen los datos a la memoria semiconductora.
Bus de Direcciones: Ao-An, por aqu se realiza el direccionamiento de las posiciones.
OE (Output Enable): Terminal de lectura, habilita la memoria para que en la salida este lo que voy a leer.
WE (Write Enable): Terminal que permite la escritura en la memoria.
CS (Chip Select): Terminal que permite la activacin o desactivacin de la memoria.
Memoria de Datos (RAM) permite la escritura y la lectura,
mediante WE y OE respectivamente, as como su seleccin
mediante el CS, mientras que la Memoria de programa (ROM)
permite solo la lectura y la habilitacin, mediante OE y CS.
El acceso a la memoria se puede realizar en forma
combinada, conforme se muestra en la figura 1.15:
Aqu la memoria de datos y la de programa
se selecciona de manera combinada a la hora
de ubicar las lecturas se anidan el PSEN del
micro que habilita lectura en la memoria de
datos y el Rd del micro que habilita lectura
en la memoria de datos a un and lgico para
que se seleccione cada una a su momento, se
trabaja por la tabla de la verdad del and
lgico.
A continuacin presentamos como ejemplos
tres circuitos de memoria, a saber:
RAM6116, EPROM 2716 y EEPROM2816.
MEMORIA RAM 6116
El dispositivo 6116 es una memoria de acceso aleatorio (RAM), cuenta con una capacidad de 2048 palabras de 8
bits cada una, es una memoria esttica de alta velocidad, fabricada con la tecnologa CMOS, opera con una fuente
de alimentacin de +5.0V y est dispuesta en una pastilla de 24 terminales.
Las principales caractersticas de esta memoria son:
Organizacin de la memoria: 2048 X 8
Alta velocidad: tiempo de acceso 150 nseg.
Fig. 1.14 Seales de una memoria
Fig. 1.15 Acceso a la memoria de manera combinada
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
12
Baja potencia en estado inactivo: 10 uW
Baja potencia en estado activo: 160 mW
RAM completamente esttica: No requiere reloj
para su funcionamiento
Temperatura de operacin: 0.75 grados centgrados
Temperatura de almacenamiento: De -55 a +125
grados centgrados.
Potencia de disipacin: 1 Watts
Todas sus entradas y salidas son compatibles
directamente con la tecnologa TTL
Es directamente compatible con las memorias de
16K estndar, tipo RAM 6132
La descripcin de las terminales se detalla a continuacin:
A0-A10: Lneas de direcciones
E/S0-E/S7: Entrada y Salida de datos
CS Habilitador de la pastilla
OE Habilitador de salidas
WE Habilitador para la escritura
Vcc Voltaje de alimentacin +5.0 Volts
GND Terminal de tierra 0.0 Volts
Siendo este circuito una memoria RAM puede entonces, realizar las operaciones de lectura y escritura.
OPERACIN DE LECTURA
Un dato ser ledo del dispositivo de almacenamiento RAM 6116, mediante la aplicacin de un nivel alto en la
terminal (#WE), un nivel bajo en (#CS), y estando en nivel bajo la terminal (#OE), con estas conexiones se dispone
que se pueda leer la memoria RAM 6116, si se coloca un nivel alto en la terminales (#OE) y/o (#CS) las lneas de
E/S y/o la pastilla 6116 se ponen en estado de alta impedancia, respectivamente.
(#CS) posee la funcin de controlar la activacin de la pastilla, la cual puede ser usada por un sistema con
microprocesadores para la seleccin del dispositivo.
La terminal (#OE) habilita las salidas, o las pone en estado de alta impedancia, la cual puede ser habilitada cada vez
que el microprocesador requiera leer la memoria.
OPERACIN DE ESCRITURA
Un dato es escrito en el dispositivo RAM 6116 mediante la aplicacin de un nivel bajo en la terminal (#WE), un
nivel bajo en (#CS), y un nivel alto o bajo en la terminal (#OE).
La terminal (#WE) al ser activa provoca que las terminales E/S de la memoria RAM 6116 se habiliten para aceptar
la informacin, en estas condiciones la terminal (#OE) posee la opcin de ser colocada en estado de alto bajo, para
realizar as la operacin de escritura.
Nota: el smbolo # sustituye la raya superior de la seal y denota negacin.
MEMORIA EPROM 2716
La EPROM 2716 contiene caractersticas borrables y es elctricamente reprogramable, es de alta velocidad y
proporciona acceso a 16 Kbits de informacin, est diseada para aplicaciones en donde son importantes los
cambios rpidos en la tensin.
Fig. 1.16 Patillaje de la RAM6116
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 13
La EPROM 2716 est empacada en un circuito integrado de 24 terminales, usa una placa transparente en su dorso,
lo cual nos permite exponer el chip a rayos ultravioleta pticos, que se utilizan para borrar la memoria, se le puede
depositar una nueva informacin an despus de estar borrada siguiendo los procedimientos de programacin
adecuados, esta EPROM 2716 est constituida con tecnologa de alta densidad con compuertas CMOS de canal N.
Las principales caractersticas son:
Tiempo de acceso menor que 250 nseg.
Bajo consumo de potencia
Disipacin en estado activo: 525 mW mx.
Disipacin en estado inactivo: 132 mW mx.
Fuente de alimentacin de +5 Volts
Rango de temperatura de -40 hasta +85 grados centgrados
Caractersticas estticas (no requiere refrescamiento por medio del reloj)
Entradas y salidas compatibles con la tecnologa TTL
Capacidad de colocarse en tercer estado.
Las terminales de esta memoria son:
A0-A10: Lineas de direcciones
D0-D7: Salida de datos
#CE Habilitador de la pastilla
#OE Habilitador de salidas
PGM Condicin de programacin
Vcc Voltaje de alimentacin +5.0 Volts
Vss Terminal de tierra 0.0 Volts
Vpp Voltaje de programacin
NC No conexin
OPERACIN DE LECTURA
Para leer la memoria se deben hacer las conexiones de las terminales que a continuacin se especifican, la terminal
Vpp se conecta a Vcc para inhibir con esto la programacin, las entradas (#OE) y (#CE) se colocan a tierra y con
estas simples conexiones se puede leer la memoria, los datos estarn sobre las terminales D1 - D7, la informacin
se puede visualizar con LED'S quienes indican el dato direccionado por las terminales A0 - A10, cuya capacidad es
de (2Kx8), 2048 localidades de 8 bits cada una.
MODO DE PROGRAMACIN
Para programar la memoria se requieren las siguientes conexiones:
En la terminal 18 se debe depositar un pulso de Tw = 45 mseg aproximadamente, dicho pulso deber estar dado por
un monoestable.
La terminal 20 que es el habilitador de salidas se conecta a la polarizacin de +5.0V (la alimentacin).
La terminal 21, voltaje de programacin se conecta a un voltaje fijo de +25.0V, la memoria normalmente cuando
no est grabada contiene "unos", por lo tanto en la operacin de grabacin se procede a depositar ceros.
PRECAUCIONES
Excediendo de los 25 Volts en la terminal Vpp (pin 21) se daar la EPROM 2716 y despus todos los bits
quedaran en el estado uno lgico.
Fig. 1.17 EPROM2716
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
14
La informacin debe ser introducida usando el modo de programacin, depositando solamente ceros lgicos en la
localidad seleccionada y con la combinacin deseada, aunque ambos unos y ceros pueden ser presentados como
datos de entrada en la palabra de informacin a grabar.
La nica manera de cambiar los ceros por los unos es borrando totalmente la memoria EPROM 2716 a travs de
una intensa luz ultravioleta.
La EPROM 2716 est en la modalidad de programacin cuando la fuente de alimentacin de Vpp est en +25 Volts
y (#OE) en estado lgico alto.
Se requiere un capacitor de 0.1 uF dispuesto entre +Vcc y GND para suprimir los estados transitorios de tensin
que puedan daar al dispositivo EPROM 2716.
La informacin debe ser programada en 8 bits en paralelo dispuestos en las terminales de salida del chip, los
niveles deben ser compatibles con la tecnologa TTL.
Cuando la direccin y el programa son estables, se debe hacer presente el pulso activo de programacin durante 45
mseg.
Se puede programar cualquier localidad en cualquier tiempo en forma secuencial o con acceso aleatorio.
El pulso de programacin debe tener una duracin mxima de 55 mseg.
La EPROM 2716 no debe ser programada con una seal de CD en la terminal de programacin (CE)'.
Se pueden programar varias EPROM 2716 en paralelo con la misma informacin, debido a la simplicidad de los
requerimientos de programacin.
MEMORIA EEPROM 2816
El circuito integrado EEPROM 2816 es una memoria reprogramable y borrable que contiene 2048 localidades de
memoria con 8 bits cada una, (2K X 8) y opera con una sola fuente de alimentacin de + 5 Volts, con tiempos
similares a los de una RAM esttica en modo de lectura, tiene dos modos de programacin una de +5 Volts y otra
de alto voltaje.
El modo de programacin de +5 Volts se inicia con un pulso de escritura con una transicin alto/bajo de nivel TTL
con una duracin de 200 nseg, el circuito automticamente borra el byte seleccionado antes de escribir otro dato
nuevo, se completa un ciclo de borrado/escritura en un tiempo mximo de 10 mseg, el tiempo de acceso a lectura es
de 250 nseg, todas sus salidas son compatibles con la tecnologa TTL.
Las caractersticas de esta memoria son:
Organizacin de la memoria 2048 X8
Tipo de funcionamiento; chip esttico
Tiempos de acceso a lectura; 250 nseg.
Capacidad de correccin para un solo bit
Tiempo de escritura max, 10 mseg.
Compatible con la arquitectura de microprocesadores
Potencia de disipacin
a) Estado activo; 610 mW
b) Estado inactivo: 295 mW
A continuacin se describen las terminales de la memoria:
A0 - A10 Lneas de direcciones
E/S0 E/S7 Entrada y salida de datos
#CE Habilitador del chip Fig. 1.18 EEPROM2816
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 15
#OE Habilitador de las salidas
Vpp Voltaje de programacin
Vcc + 5 Volts
Vss 0.0 Volts tierra.
OPERACIN DE LECTURA
Un dato es ledo de la memoria EEPROM 2816 mediante la aplicacin de un nivel alto en Vpp, (voltaje de
programacin conectada a Vcc), un nivel bajo en (#CE) y un nivel bajo en (#OE), con estas condiciones se obtiene
informacin de terminales E/S estarn en estado de alta impedancia siempre y cuando (#OE) y/o (#CE) estn en un
nivel alto.
La funcin de la terminal (#CE) es la de poder controlar la activacin del chip, puede ser usado por un sistema con
microprocesadores para la seleccin del dispositivo.
La terminal que habilita las salidas, o las pone en estado de alta impedancia, si se tiene en cuenta que las entradas
son estables el tiempo de acceso es igual al tiempo de retardo de la terminal (#CE), los datos estn disponibles
despus de un tiempo de retardo de la terminal (#OE).
OPERACIN DE ESCRITURA (modo de programacin de + 5 Volts)
El ciclo de escritura es iniciado por la aplicacin de un nivel bajo en Vpp, 200 nseg, mientras que (#OE) debe estar
en estado alto y (#CE) en estado bajo, la direccin es doblemente almacenada a la cada y a la salida de Vpp, una
vez realizado esto la arquitectura interna de la memoria borrara automticamente el dato seleccionado y proceder a
escribir el nuevo dato en un tiempo de l0 mseg, mientras tanto las terminales E/S o E/S; permanecern en estado de
alta impedancia durante un tiempo igual al de la operacin del proceso de escritura,
La EEPROM 2816 se escribe y se borra elctricamente utilizando un voltaje de +5 Volts para grabar y leer, la
condicin de grabado es "borrado antes de escribir", esta memoria es del tipo ROM reprogramable, en caso de que
se desconecte el circuito de alimentacin de la energa la informacin no se pierde, se puede usar el modo de "stand
by" para que la informacin no se borre.
La 2816 se borra y se programa elctricamente y no pticamente como lo requieren normalmente las EPROMS, en
estas, se borra la informacin con luz ultravioleta, el dispositivo EEPROM 2816 ofrece flexibilidad para borrar un
solo bit o todo el chip si as se desea.
Para escribir en una localidad en particular, el bit existente se borra antes de escribir el nuevo bit, los niveles de las
terminales E/S deben ser compatibles con la tecnologa TTL en cuanto a sus equivalentes de niveles lgicos
deseados como niveles de grabacin, la programacin debe durar mnimo 9 msg y un mximo de 15 mseg.
OPERACIN DE BORRADO
Si se desean borrar todas las direcciones de la EEPROM 2816, el dispositivo ofrece una funcin para borrado
inmediato de todas las localidades.
1.1.2.3 BUSES
Los tres componentes principales de un sistema basado en microprocesadores (CPU, Bloque de memoria y mdulo
de E/S) estn interconectados entre ellos por cables elctricos denominados buses del sistema.
Un bus representa una reunin de lneas las cuales realizan la transferencia uni o bidireccional de la informacin.
La presencia de un determinado bit (0 o 1) en una lnea del bus est marcada de un determinado valor del potencial
elctrico en esa lnea. Por ejemplo, un potencial entre 2.4-5V marca el bit 1 y un potencia 0-0.4V el bit 0.
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
16
En funcin del tipo de informacin que se transporta
por las lneas del bus, este puede ser: BUS DE DATOS,
BUS DE DIRECCIONES Y BUS DE CONTROL. A
continuacin presentamos algunas caractersticas
principales:
Bus de datos est constituido por lneas
bidireccionales. El nmero N de lneas del bus de
datos es en general, igual con la longitud de la
palabra de datos del microprocesador. Por el bus
de datos de transfiere la informacin binaria entre
el microprocesador y los perifricos o entre el
microprocesador y la memoria, o directamente
entre el perifrico y la memoria, en caso de existir
dispositivos de acceso directo a la memoria. Por lo
tanto ste bus determina el tipo de procesador ( 4, 8 16 o 32 bits) y el nmero de perifricos que se pueden
conectar al microprocesador (por ejemplo para un microprocesador de 8 bits se conectarn 2
7
peri fricos). Este
bus es tri-state.
Bus de direcciones est formado por lneas unidireccionales. Es utilizado para la transferencia de informacin
necesaria para la seleccin de una determinada posicin de memoria o de un puerto del mdulo de E/S. Esta
informacin representa la direccin de una posicin de memoria o de un puerto de entrada o salida (del mdulo
de E/S), seleccionados para la realizacin de la transferencia de datos por bus respectivo. El bus de direcciones
determina la capacidad de memoria del sistema.
Bus de control est formado por lneas, en general,
unidireccionales. En este bus cada lnea tiene un
significado y denominacin distinta. El bus de
control contiene la informacin que enva el
microprocesador a los elementos del sistema o bien
recibe de estos con el propsito de sincronizar su
operacin con la operacin de la circuitera externa.
El nmero de lneas del bus de control es variable y
depende dl microprocesador particular utilizado.
Un conjunto tpico de seales de control disponible
en la mayora de microprocesadores disponibles, se
muestran en la siguiente figura.
CLK IN (entrada de reloj) es usado por el microprocesador para generar pulsos de reloj y producir
secuencias de tiempo y control para las funciones internas.
CLK OUT (salida de reloj). Los pulsos de reloj de este Terminal son usados por los mdulos externos para
sincronizar sus operaciones con las operaciones del microprocesador.
RESET IN (peticin de reset) se usa para inicializar el microprocesador.
RESET OUT (peticin de reset) informa a la circuitera externa que el microprocesador se encuentra en
estado de reset.
INTERRUPT IN (peticin de interrupcin). Se utiliza para interrumpir la operacin normal del
microprocesador, obligndolo a suspender la ejecucin del programa corriente y transferir el control a una
subrutina. La seal de interrupcin proviene generalmente de una unidad de E/S.
INTERRUPT OUT (reconocimiento de interrupcin). Informa a la circuitera externa que la interrupcin
ha sido atendida. Una vez ejecutada la interrupcin, el microprocesador retorna al programa previo.
HOLD (peticin e bus). Se utiliza para suspender la operacin del microprocesador y llevarlo a un estado
llamado hold en el cual todos los buses quedan en alta impedancia.
HOLDA (garanta de bus). Informa que la peticin de hold a terminado.
Las lneas READ y WRITE informan al componente seleccionado por el bus de direcciones la direccin
de transferencia esperada en el bus de datos.
M
I
C
R
O
P
R
O
C
E
S
A
D
O
R
BUS DE
DIRECCIONES
BUS DE
DATOS
ENTRADAS
DE CONTROL
SALIDAS
DE CONTROL
FUENTE DE
ALIMENTACION
BUS DE
CONTROL
M
I
C
R
O
P
R
O
C
E
S
A
D
O
R
BUS DE
DIRECCIONES
BUS DE
DATOS
ENTRADAS
DE CONTROL
SALIDAS
DE CONTROL
FUENTE DE
ALIMENTACION
BUS DE
CONTROL
Fig. 1.19 Buses de un sistema con
microprocesador
M
I
C
R
O
P
R
O
C
E
S
A
D
O
R
CLK OUT
RESET OUT
INTP OUT
HLDA
WRITE
READ
CLK IN
RESET IN
INTP IN
HOLD
M
I
C
R
O
P
R
O
C
E
S
A
D
O
R
CLK OUT
RESET OUT
INTP OUT
HLDA
WRITE
READ
CLK IN
RESET IN
INTP IN
HOLD
Fig. 1.20 Seales tpicas de control
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 17
1.1.2.4 CIRCUITO DE RELOJ Y RESET
Todo microcomputador necesita de un generador de pulsos de reloj para controlar el contador de programa y
sincronizar sus funciones internas. En la mayora de microprocesadores este reloj viene incorporado, pudindose
controlar externamente su frecuencia mediante un cristal de cuarzo, una red RC conectados a los pines respectivos.
En la figura 21 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 utilizacin de un cristal.
El microprocesador puede
ser fcilmente conectado o
desconectado por hardware
manejando adecuadamente
su entrada de reset. Cuando
esta lnea recibe un bajo el
microprocesador ingresa al
estado de reset. Bajo esta
condicin, el contador de
programa se carga con ceros
y se borran los flip-flops
habilitadores de interrupcin
y de reconocimiento de hold.
Al mismo tiempo, los buses de datos y direcciones se sitan
en el estado de alta impedancia. Debido a su naturaleza
asncrona, la seal de reset puede afectar el contenido de los
registros internos de la CPU, incluido el de estados o
banderas.
1.1.2.5 MODULO DE ENTRADA/SALIDA. TECNICAS DE INTERFACE
Para que el sistema basado en
microprocesadores pueda ser utilizado en
forma efectiva, el sistema debe estar de un
bloque de circuitos lgicos que permitan la
introduccin de datos, visualizacin de
resultados y eventual la modificacin del
programa, es decir un dispositivo de
comunicacin con el operador, este bloque
se denomina MODULO DE E/S y est
destinado a asegurar la transferencia de
informacin, representada en binario, entre
el sistema y diversos perifricos
conectados a ste (teclados, pulsadores,
interruptores, contactos elctricos, LEDs,
ASS, CAD, CDA, etc.).
mP
+
Memoria
mP
+
Memoria
PERIFERICOS
LEDs
DISPLAY s
ZUMBADORES
INTERRUPTORES
SENSORES
ANALOGICOS
TECLADOS
Etc.
PERIFERICOS
LEDs
DISPLAYs
ZUMBADORES
INTERRUPTORES
SENSORES
ANALOGICOS
TECLADOS
Etc.
ENTRADA
ENTRADA
ESTADO
ESTADO
SALIDA
SALIDA
mP
+
Memoria
mP
+
Memoria
PERIFERICOS
LEDs
DISPLAY s
ZUMBADORES
INTERRUPTORES
SENSORES
ANALOGICOS
TECLADOS
Etc.
PERIFERICOS
LEDs
DISPLAYs
ZUMBADORES
INTERRUPTORES
SENSORES
ANALOGICOS
TECLADOS
Etc.
ENTRADA
ENTRADA
ESTADO
ESTADO
SALIDA
SALIDA
Fig. 1.23 Mdulos de entrada/salida
a. Cristal de cuarzo b. Red RC (3MHz) c. Reloj externo (1 a 6 MHz) a. Cristal de cuarzo b. Red RC (3MHz) c. Reloj externo (1 a 6 MHz)
Fig. 1.21 Circuitos de reloj
Fig. 1.22 Circuito de Reset
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
18
El mdulo de E/S tiene una estructura diferente, en funcin de la aplicacin del sistema basado en
microprocesadores, lo cual implica la proyeccin de unos componentes de este mdulo, en funcin de los
perifricos que van a ser conectados.
Un puerto puede definirse como un dispositivo a travs del cual el microprocesador intercambia informacin con
un dispositivo externo previamente seleccionado. En otras palabras un puerto E/S es un elemento de interconexin
o interface entre un microprocesador y un perifrico. Los puertos tambin se denominan adaptadores perifricos de
interface.
La estructura de un puerto puede ser extremadamente simple o altamente compleja, dependiendo de cada
aplicacin. En algunos casos solo se requieren de un flip-flop, buffer o registro tri-state, mientras que en otros debe
recurrirse a circuitos de alta escala (LSI) muy especializados, como es el caso del 8212, 8216, 8255, 8155, etc., que
se analizarn ms adelante.
Las funciones que debe cumplir un puerto o dispositivo de interface E/S se pueden resumir en las siguientes:
Identificar direcciones con el fin de establecer la conexin con los buses de datos y de control del mismo
sistema cuando se selecciona un dispositivo perifrico de E/S especfico.
Interpretar rdenes. Generalmente, las
rdenes enviadas por el microprocesador al
puerto E/S se reducen a seales de lectura y
escritura. Estas seales pueden venir ya
codificadas o necesitar una codificacin
previa.
Adaptar fsicamente el microprocesador a los
requisitos del perifrico. Esto incluye la
utilizacin de manejadores (drivers) de lneas
de transmisin, eliminadores de ruido,
optoacopladores, conversores de formato serie
a paralelo, conversores de seal, etc.
Temporizar la transferencia de informacin
con el fin de garantizar que el flujo de datos
entre el microprocesador y el perifrico ese
realice de una forma ordenada y eficiente.
El direccionamiento de un puerto (activacin de la
lnea CS o CE) se realiza a travs del mismo bus de
direcciones, sea por medio de un decodificador o un
circuito lgico de seleccin (RLS).
La generacin de la seal de seleccin de un puerto por el decodificador o de la RLS, debe producirse solamente
cuando en el bus de direcciones se pone una palabra binaria, especfica de cada puerto, llamada direccin de puerto
y de ha activado adems la seal ALE, que marca el acceso al puerto de E/S.
Veamos, como ejemplos, algunas realizaciones prcticas de
puertos de E/S de algunos perifricos.
PUERTO DE SALIDA CON LED
En la figura 1.25 se muestra un ejemplo sencillo de puerto
de salida con flip-flop D, cuya funcin es transferir el estado
del bit de datos D0 a un LED que acta como dispositivo
perifrico. Esto sucede cuando la lnea de direccin A15 es
alta y la seal de escritura (WR) es baja.
Despus de habilitado, el flip-flop retiene la informacin
previamente almacenada mientras el microprocesador se
dedica a otras tareas.
0 1 2 3
S1 S0 EN
DECODIFICADOR
A0
A1
ALE
D0-D7
M
I
C
R
O
P
R
O
C
E
S
A
D
O
R
BUS DE DATOS
CS
CS
CSO
CS1
PS
PE
0 1 2 3
S1 S0 EN
DECODIFICADOR
A0
A1
ALE
D0-D7
M
I
C
R
O
P
R
O
C
E
S
A
D
O
R
BUS DE DATOS
CS
CS
CSO
CS1
PS
PE
Fig. 1.24 Direccionamiento de un puerto
Q D
WR
A15
A0 -A14
mP
D0
D1-D7
CLK
MICROPROCESADOR
PUERTO DE SALIDA PERIFERICO
LINEA DE SELECCION
LINEA DE ESCRITURA
Q D
WR
A15
A0 -A14
mP
D0
D1-D7
CLK
MICROPROCESADOR
PUERTO DE SALIDA PERIFERICO
LINEA DE SELECCION
LINEA DE ESCRITURA
Fig. 1.25 Puerto de salida con flip-flop
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 19
PUERTO DE ENTRADA DE INTERRUPTOR
En la figura 1.26, se muestra en cambio un puerto de
entrada con flip-flop. En este caso, el dispositivo
perifrico es un interruptor y su estado (alto o bajo)
se transfiere a la lnea de datos D0 cuando la lnea de
direccionameinto A15 es alta y la lnea 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 situa la salida del puerto de entrada en
estado de alta impedancia con el fin de 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 patrn de 8 bits presente en el
bus de datos al display perifrico de siete
segmentos cuando la lnea de direccin A15
es alta y la lnea de escritura (WR) es baja.
Una forma ms elegante de realizar una interface es utilizando los circuitos especializados como son: los puertos
8212, 8216, los puertos E/S programables 8155 y 8255, el controlador USART 8251 (para el mP8085A), PIA6821
(para el Motorola 6800) y ACIA y Z80-PIO (para sistemas con Z80).
Dentro de las principales caractersticas de estos circuitos especializados podemos mencionar:
Son fciles de conectar con los buses del sistema puesto que disponen de lneas de adaptacin directa con
las salidas del respectivo microprocesador.
Son circuitos de E/S programables. Esta caracterstica permite adaptarlos fcilmente a las condiciones de la
circuitera externa utilizando nicamente comandos de programacin.
Algunos mdulos de E/S poseen cierta capacidad de decisin propia, independientemente del procesador.
Esta circunstancia libera del microprocesador de la ejecucin d ciertas tareas rutinarias y de control, las
cuales delega en el dispositivo de interface.
Por la funcin que realizan, los puertos de interface programables se pueden dividir en tres categoras: interfaces
dedicadas, interfaces de propsito general e interfaces universales.
Las interfaces dedicadas se especializan en una funcin especfica, por ejemplo controlar interrupciones,
temporizar eventos, controlar perifricos, etc. Como ejemplos podemos mencionar el controlador programable de
interrupciones 8259, controlador programable de acceso directo de memoria (DMA) 8257, etc.
Las interfaces de propsito general, como su nombre lo indica, son ms universales y pueden adaptarse a una gran
variedad de aplicaciones. Como ejemplos tenemos: el PPI 8255, controlador USART 8251.
D
H
L
Q
D0
D1-D7
CLK
LINEA DE SELECCION
LINEA DE LECTURA
A15
A0-A14
RD
MICROPROCESADOR
PUERTO DE ENTRADA
PERIFERICO
D
H
L
Q
D0
D1-D7
CLK
LINEA DE SELECCION
LINEA DE LECTURA
A15
A0-A14
RD
MICROPROCESADOR
PUERTO DE ENTRADA
PERIFERICO
Fig. 1.26 Puerto de entrada con flip-flop
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
a
b
c
d
e
f
g
dp
A15
WR
A0-A14
D0-D7
LINEA DE ESCRITURA
LINEA DE SELECCION
CS
LINEA DE HABILITACION
MICROPROCESADOR PUERTO DE SALIDA DISPOSITIVO PERIFERICO
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
a
b
c
d
e
f
g
dp
A15
WR
A0-A14
D0-D7
LINEA DE ESCRITURA
LINEA DE SELECCION
CS
LINEA DE HABILITACION
MICROPROCESADOR PUERTO DE SALIDA DISPOSITIVO PERIFERICO
Fig. 1.27 Puerto de salida con registro tipo latch
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
20
Una interface universal es un microcomputador en un chip que realiza tareas de E/S altamente complejas bajo el
control de un microprocesador maestro. Como ejemplo podemos mencionar la interface universal de perifricos
UPI 8741 de Intel.
Dentro de los perifricos ms empleados, podemos mencionar los de la siguiente tabla:
TIPO DISPOSITIVO
ENTRADA Interruptores ON/OFF
Teclados
Sensores y transductores de entrada
SALIDA Visualizadores (Led, LCD, etc)
Pantallas TRC
Impresoras (lser, de jet de tinta, de impacto,etc)
Motores elctricos y actuadotes
ENTRADA/SALIDA Terminales interactivos
Memorias secundarias
Unidades de disco magntico
Enlaces de comunicaciones
Lneas telefnicas
De acuerdo a la velocidad de operacin, los dispositivos de E/S se pueden agrupar en tres categoras:
lentos, de velocidad media y de alta velocidad. Adems segn la seal que transmiten a los perifricos
tenemos: digitales (todo o nada) y analgicos (sensores de temperatura, caudal, presin, etc.). Cada una
de estas categoras presenta sus propias caractersticas de interface.
PERIFERICOS LENTOS: Su estado cambia una vez por segundo y requieren varios mil isegundos
para estabilizarse en su nuevo estado. En esta categora tenemos los displays luminosos, rels,
microinterruptores, sensores de posicin, contactos, botoneras, etc.
La interface de estos dispositivos es
relativamente fcil y necesitan muy
pocas seales de control. El nico
problema que aparece en este caso
es el proceso transitorio en el
momento de cambio de estado (por
ejemplo el interruptor al cerrarse
produce rebotes).
Por multiplexaje es posible controlar
varios perifricos lentos con un
mismo puerto.
PERIFERICOS DE VELOCIDAD MEDIA: Son aquellos que transfieren datos desde 1bps a
10000 bps. Dentro de esta categora se incluyen los teclados, impresoras normales, CAD, CDA, sistemas
de adquisicin de datos, etc.
En este caso, el microprocesador no puede asumir que retienen datos por mucho tiempo o reciben
informacin en cualquier instante. En su lugar, el microprocesador debe ser capaz de determinar cuando el
dispositivo tiene un nuevo dato de entrada o est listo para recibir un dato de salida.
Lo anterior implica que un dispositivo de mediana velocidad debe estar sincronizado de alguna manera con
el reloj del microprocesador. Este ltimo debe tambin disponer de algn medio para decirle al dispositivo
que hay un nuevo dato de salida disponible o que el dato de entrada previamente suministrado por aquel ha
sido receptado.
SEAL DE
SELECCION
IN
S1
S0
0
1
2
3
D
E
M
U
X
S
A
L
I
D
A
D
E
D
A
T
O
S
PUERTO DE
SALIDA
CS
CLK
CONTADOR
BUS DE
DATOS
SEAL DE
SELECCION
IN
S1
S0
0
1
2
3
D
E
M
U
X
S
A
L
I
D
A
D
E
D
A
T
O
S
PUERTO DE
SALIDA
CS
CLK
CONTADOR
BUS DE
DATOS
IN
S1
S0
0
1
2
3
D
E
M
U
X
S
A
L
I
D
A
D
E
D
A
T
O
S
PUERTO DE
SALIDA
CS
CLK
CONTADOR
BUS DE
DATOS
Fig. 1.28 Control de varios perifricos lentos de salida
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 21
Uno de los procedimientos ms comunes para interfazar microprocesadores con dispositivos de mediana
velocidad en forma asincrnica es el saludo protocolario o handshake. En este caso, el transmisor indica la
disponibilidad del dato al receptor y transfiere el dato. El receptor completa el saludo reconociendo la
recepcin del dato.
PERIFERICOS DE ALTA VELOCIDAD: Son aquellos que transfieren datos a velocidades
superiores a 10000 bps. Dentro de esta categora se incluyen los Discos magnticos y pticos, impresoras
lser, lneas de comunicacin de alta velocidad, pantallas de video (TRC), etc.
La interface de este tipo de perifricos requiere mtodos especiales. La tcnica ms usual es utilizar un
controlador de propsito especial que transfiera datos directamente entre la memoria y el dispositivo de
E/S. Este proceso se denomina acceso directo de memoria o DMA.
El controlador DMA debe forzar al microprocesador a liberar los buses, proporcionar direcciones y seales
de control a la memoria y transferir los datos. Inicialmente, la CPU debe informarle al controlador donde
debe comenzar la transferencia y la cantidad de informacin que debe transferir.
Un microprocesador puede comunicarse con un dispositivo perifrico
en paralelo o serie. Primariamente el bus de datos de un
microprocesador est diseado para transferir datos en paralelo. Sin
embargo, existen situaciones donde es deseable, preferible o necesario
transferir datos en serie.
En una comunicacin en paralelo (fig. 29) todos los bits que configuran
la palabra de datos se transmiten simultneamente, por lneas separadas.
En una comunicacin serie (fig. 30) todos los bits de la palabra se
transmiten en forma secuencial, uno tras otro, por una sola lnea de
datos. Los datos transferidos en serie se envan en grupos de bits que
forman palabras o caracteres.
En ambos casos, adems de las lneas de datos, se requiere el envo de
una seal de reloj para sincronizar la transferencia. En una transmisin
paralelo, la seal de reloj le indica al receptor cuando la palabra
disponible en la lneas de datos es vlida mientras que una transmisin
serie le indica donde empieza y termina cada bit.
La transmisin en paralelo es intrnsecamente ms rpida que la
transmisin en serie y se utiliza para comunicaciones de alta velocidad.
Sin embargo, a medida que aumenta la distancia entre el transmisor y el
receptor, la comunicacin serie tiende a ser ms econmica. En general,
la transmisin serie resulta apropiada en los siguientes casos:
Cuando el dispositivo de E/S hacia el cual ha de transferirse el dato es de naturaleza serie. Se incluyen en
esta categora los cartuchos de cinta magntica, los discos flexibles, los modems.
Cuando la distancia entre el microprocesador y el dispositivo perifrico de E/S es relativamente grande,
superior a 4 metros. En estos casos, resulta ms econmica la transmisin serie, a pesar de requerir de
lgica de control y programacin adicionales.
1.2 APLICACIN. DISEO DE UN SISTEMA BASICO CON UN MICROPROCESADOR
DE 8 BITS
Como hemos podido comprobar hasta el momento, el microprocesador ofrece gran potencialidad en la realizacin y
desarrollo de funciones y actuaciones de control en general. Sin embargo tambin habremos constatado que por s
mismo el microprocesador resulta inoperante, es decir, es preciso acompaarlo de los componentes necesarios para
que pueda llevar a cabo la ejecucin prctica de los programas que se diseen.
T
R
A
N
S
M
I
S
O
R
R
E
C
E
P
T
O
R
LINEAS DE
DATOS
RELOJ
T
R
A
N
S
M
I
S
O
R
R
E
C
E
P
T
O
R
LINEAS DE
DATOS
RELOJ
Fig. 1.29 Transmisin paralelo
T
R
A
N
S
M
I
S
O
R
R
E
C
E
P
T
O
R
LINEA DE
DATOS
RELOJ
T
R
A
N
S
M
I
S
O
R
R
E
C
E
P
T
O
R
LINEA DE
DATOS
RELOJ
Fig. 1.30 Transmisin serie
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
22
Estos componentes asociados son de muy diversas caractersticas y todos y cada uno de ellos desempean
funciones determinadas y muy concretas.
En este tema se ver la estructura de cada uno y se realizar un estudio de componentes concretos, que
emplearemos para ir configurando una tarjeta bsica sobre la que posteriormente desarrollaremos diferentes
programas.
Los componentes asociados que necesitaremos, debern resolvernos problemas lgicos, de control, de
direccionamiento, de tratamiento de buses, de almacenamiento de datos, de comunicacin de entrada/salida (E/S),
etc. Esto nos da idea de la gran variedad de componentes que podemos encontrar para llevar a cabo estas tareas. Sin
embargo aqu se tratarn nicamente los elementos imprescindibles para nuestros propsitos, como
decodificadores, memorias RAM, memorias EPROM, etc. Adems, de forma sistemtica y paulatina, se ir
desarrollando la forma de acoplamiento de todos los elementos, para finalmente llegar a la construccin de nuestro
sistema bsico de trabajo.
1.2.1 TRATAMIENTO DE LOS BUSES
Como se ha visto en el tema anterior, una de las principales caractersticas que presenta el microprocesador 8085 es
poseer un bus de datos (de 8 lneas) multiplexado con la parte baja del bus de direcciones.
Este multiplexado quiere decir que en un instante determinado tendremos en las 8 lneas del bus la informacin
perteneciente a una direccin y un instante ms tarde tendremos en esas mismas lneas la informacin perteneciente
a un dato.
Corresponde por tanto a la circuitera externa, separar estas
seales de modo apropiado, tal que no se produzcan
interferencias por informaciones errneas en el resto de los
componentes del sistema. De esta forma se obtendr una
separacin total entre el bus de datos (8 bits) y el bus de
direcciones (16 bits).
Como sabemos el microprocesador 8085 dispone de una lnea
de control o sincronizacin denominada ALE, por medio
de la cual suministra un pulso de tensin de nivel lgico 1
cuando se presenta la parte baja de una direccin en el bus
AD0,...,AD7 y cuando aparece un dato la seal ALE pasa al
estado lgico 0. Deberemos por tanto emplear esta seal de
control para separar estas informaciones utilizando un circuito
integrado que acte de cerrojo (latch) y realice la separacin
fsica. El esquema de principio responde a la Fig. 31.
Mientras ALE est a nivel lgico 1, la informacin presente en las
entradas del cerrojo, procedente de las lneas AD0,...,AD7 del
microprocesador, pasa a las salidas, configurando de este modo la parte
baja de las direcciones. En el instante en que ALE pasa a nivel 0, esa
informacin queda almacenada y retenida en las salidas del cerrojo, que
no cambiaran su estado mientras ALE no pase a nivel 1. Por tanto ahora
puede cambiar la informacin presente en las lneas AD0,...,AD7 del
microprocesador, que nos suministrar el dato oportuno, sin afectar a la
parte baja de las direcciones.
Son varios los circuitos que pueden emplearse para este cometido. Uno
de los ms comnmente empleados es el 74LS373 cuya constitucin y
funcionamiento pueden encontrarse en diversos textos.
Fig. 1.31 Tratamiento de buses
Fig. 1.32 Puerto 8212
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 23
Nosotros estudiaremos el circuito integrado 8212, fabricado por INTEL y que desarrolla esta funcin de forma
adecuada.
En realidad el 8212 es un puerto de E/S de 8 bits en paralelo. A su salida posee un latch con buffers de salida en tri-
estado. Tambin dispone de una serie de flip-flop que utiliza para atender peticiones de servicio de interrupciones.
Con este componente podremos llevar a cabo varias funciones perifricas y de entrada/salida del microprocesador.
Se presenta en un encapsulado de 24 patillas que podemos ver representado en la Fig. 32.
A continuacin se describir de forma concisa la funcin de todas las patillas de este componente:
DO0,... DO7. Son las 8 lneas de salida de datos que estn conectadas a 8 buffers no inversores que pueden ser
colocados en estado de alta impedancia.
DI0,... DI7. Son las 8 lneas de entradas de datos a los 8 flip-flop internos de tipo D. La salida de estos flip-flop
toman los valores de las entradas mientras la seal STB est a nivel alto. Cuando STB pasa a nivel bajo se
produce el enclavamiento. Los datos de salida se borraran mediante la entrada de puesta a cero CLR.
GND. Terminal de conexin a masa, o tensin de referencia.
Vcc. Terminal de alimentacin (+5V).
STB. Es la entrada Strobe o impulso de referencia se toma como clock para el latch de datos.
MD. Seal de control del estado del buffer de salida y que determina el origen de los impulsos de clock que
llegan al latch de datos.
DS1 y DS2. Son dos entradas de seleccin de dispositivo. Con DS1=0 y DS2=1 el componente estar
seleccionado.
CLR. Pone a cero el latch de datos. Nivel bajo activo
INT. Lnea de salida para una interrupcin. Nivel bajo activo.
Dentro de las posibles aplicaciones o modos de
conexin del 8212 pueden mencionarse: su utilizacin
como controlador para un bus bidireccional empleando
para ello dos componentes en oposicin; conexin
como puerto para entrada de interrupciones; como
puerto de salida; como latch para separar las direcciones
de orden bajo con el microprocesador 8085 (ser la
forma en que nosotros lo conectaremos), etc. Si
deseamos obtener informacin adicional de este
componente, como pueden ser sus diagramas de
tiempos, caractersticas de conmutacin, etc., debemos
acudir a las hojas de caractersticas tcnicas
suministradas por los fabricantes.
La conexin de este circuito integrado con el
microprocesador 8085, se realiza de forma muy simple,
segn se muestra en la Fig. 33. Como podemos apreciar
los pasos a seguir son:
Conectar directamente a +5V los terminales Vcc, DS2 y CLR.
Conectar a masa los terminales GND, MD y DS1.
Llevar la patilla STB directamente a la salida ALE del microprocesador.
Unir las lneas DI0, DI1, DI2, ..., DI7, a las lneas del microprocesador AD0, AD1, AD2, ..., AD7,
respectivamente.
Realizada la conexin de este modo, cuando el microprocesador inicie su funcionamiento normal, tendremos en las
salidas del 8212, la parte baja del bus de direcciones, correspondiendo las salidas DO0, DO1, DO2, ..., DO7 con las
lneas de direcciones A0, A1, A2, ..., A7 respectivamente.
8
2
1
2
G
N
D
M
D
D
S
1
ALE
STB
V
c
c
D
S
2
C
L
R
+5V
8
0
8
5
B
U
S
D
I
R
E
C
C
I
O
N
E
S
BUS DATOS
AD0 DI0 DO0 A0
AD1 DI1 DO1 A1
AD2 DI2 DO2 A2
AD3 DI3 D03 A3
AD4 DI4 DO4 A4
AD5 DI5 DO5 A5
AD6 DI6 DO6 A6
AD7 DI7 DO7 A7
INT
8
2
1
2
G
N
D
M
D
D
S
1
ALE
STB
V
c
c
D
S
2
C
L
R
+5V
8
0
8
5
B
U
S
D
I
R
E
C
C
I
O
N
E
S
BUS DATOS
AD0 DI0 DO0 A0
AD1 DI1 DO1 A1
AD2 DI2 DO2 A2
AD3 DI3 D03 A3
AD4 DI4 DO4 A4
AD5 DI5 DO5 A5
AD6 DI6 DO6 A6
AD7 DI7 DO7 A7
INT
Fig. 1.33 Acoplamiento del mP8085 con el 8212
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
24
1.2.2 DECODIFICACION DE DIRECCIONES
Debemos entender que la mayora de los componentes que se emplean en los diseos con microprocesadores,
necesitan ser conectados a los buses de datos y direcciones, por tanto deben poseer la caracterstica de permitir
dejar en estado de alta impedancia las lneas que se conecten a dichos buses. De este modo podremos conectar
varios componentes al mismo conjunto de lneas sin que se produzcan interferencias entre ellos, ya que solamente
permanecer activo aquel que sea seleccionado, quedando el resto en estado de alta impedancia (tri-estado).
Por tanto los componentes sobre los que debe actuar el microprocesador, adems de las lneas necesarias para
conectarse a los buses, deben poseer algn terminal que permita al microprocesador habilitarlo para trabajar con
l o por el contrario, dejarlo fuera de servicio. Este terminal ser el que realiza la seleccin del componente.
Por otro lado sabemos que el bus de direcciones sirve para seleccionar algn registro (o alguna direccin)
determinado en un componente, por tanto tendremos dos tipos de selecciones simultneas:
Se debe seleccionar el componente que contiene la direccin o registro al que necesitamos acceder.
Hay que indicar el registro o la direccin que deseamos dentro del componente.
Para llevar a cabo estos procesos emplearemos el direccionamiento por decodificacin, aunque hay otros
mtodos posibles.
Las lneas de direccin ms bajas, son las que normalmente se
emplean para apuntar a un registro determinado o a una direccin dada
y las lneas de direccin ms altas (A15, A14, A13,...) se llevan a las
entradas de un circuito integrado decodificador que ser el que con
una de sus salidas, seleccione el componente que deseamos.
Existen varios decodificadores que pueden ser empleados para este
trabajo y que son de uso corriente. En nuestro caso ser utilizado el
74LS138. Se trata de un conocido decodificador de 3 a 8 lneas de
lgica transistor-transistor que se presenta en un encapsulado de 16
patillas cuya distribucin puede apreciarse en la Fig. 34.
La funcin de cada una de sus lneas se describe a continuacin:
A0, A1 y A2 son las seales de entrada en cdigo binario.
O0,..., O7 son las lneas de salida con nivel bajo activo.
GND es el terminal de masa o tensin de referencia.
Vcc es la patilla de alimentacin (+5V).
E3 es una seal de habilitacin activa a nivel alto.
E1 y E2 son seales de habilitacin activas a nivel bajo.
A continuacin se muestra la tabla de la verdad, a travs de cuya observacin y anlisis puede apreciarse
perfectamente la forma de actuar del decodificador.
A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7
0 0 0 0 1 1 1 1 1 1 1
0 0 1 1 0 1 1 1 1 1 1
0 1 0 1 1 0 1 1 1 1 1
0 1 1 1 1 1 0 1 1 1 1
1 0 0 1 1 1 1 0 1 1 1
1 0 1 1 1 1 1 1 0 1 1
1 1 0 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1 0
A0
A1
A2
E1
E2
E3
O7
GND
Vcc
O0
O1
O2
O3
O4
O5
O6
7
4
L
S
1
3
8
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
A0
A1
A2
E1
E2
E3
O7
GND
Vcc
O0
O1
O2
O3
O4
O5
O6
7
4
L
S
1
3
8
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
Fig. 1.34 Registro latch 74LS138
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 25
En la Fig. 35 puede apreciarse el modo en que se puede conectar el decodificador al microprocesador 8085.
Como vemos se emplean la lnea de direccin ms
alta (A15) para atacar la entrada de control E3,
mientras que las entradas de datos binarias del
decodificador (A0, A1, A2) son manejadas por las
direcciones A12, A13 y A14 del microprocesador. De
esta forma puede utilizarse la lnea de direccin A15
tambin para seleccionar una memoria EPROM,
puesto que al comenzar su ejecucin el
microprocesador arranca en la direccin 0000H en su
contador de programa, por lo que tendremos un 0 en
la lnea A15 con la que podemos seleccionar una
EPROM al tiempo que bloqueamos el 74LS138. Las
otras dos lneas de control E1 y E2 se colocan a nivel
bajo para dejar activo el decodificador. De todas
formas es posible dar otra funcin a estas lneas de
control en el diseo global del sistema.
Las lneas de salida O0, O1, O2,..., O7 del
decodificador quedarn disponibles para seleccionar
los componentes deseados. En cada una de ellas, se
colocar una resistencia a +5V para asegurar el nivel
lgico 1, en las salidas no activas.
1.2.3 LA MEMORIA
Para un sistema electrnico diseado sobre la base de un microprocesador determinado, la memoria es el lugar
externo donde se almacenan los programas y los datos, tanto los iniciales como los que se van generando a medida
que se ejecuta el programa.
Las memorias debern disponer de un bus de datos (generalmente de 8 bits), un bus de direcciones cuyo nmero
de bits depende de la capacidad de almacenaje y de los terminales de control adecuados que permitan un correcto
funcionamiento del dispositivo, as como un fcil acceso y la posibilidad de situar los terminales del bus de datos
en estado de alta impedancia.
Dentro de las caractersticas ms destacables de una memoria y esenciales para su valoracin se encuentran los
tiempos de escritura y lectura, el tiempo de acceso, los tiempos de ciclo, la capacidad (nmero de bits que
pueden almacenarse en la memoria), etc. Todos estos datos, junto a otra serie de parmetros tpicos pueden
encontrarse en las hojas de especificaciones tcnicas que suministran los fabricantes.
Para trabajar con un microprocesador, se dispone bsicamente de dos tipos de memorias:
a. Las memorias pasivas, de solo lectura, que generalmente se emplean para almacenar las instrucciones que
configuran el programa y los datos necesarios permanentes.
b. Las memorias activas, de lectura y escritura, de las que se puede leer y en las que se puede escribir la
informacin deseada. Lo normal es almacenar en ellas los datos y valores que se van generando durante la
ejecucin del programa, la informacin que contienen es voltil, es decir puede perderse por un fallo en la
alimentacin.
A continuacin veremos un resumen de las distintas memorias de cada tipo:
Memoria RAM dinmica: Este tipo de memoria RAM se caracteriza por almacenar los bits que representan la
informacin, en forma de cargas elctricas, aprovechando la capacidad generada en un transistor MOS que
constituye la celda elemental de informacin. Sin embargo esta carga as almacenada, se va perdiendo con el
tiempo, llegando a desaparecer al cabo de unos ms, debido a fugas elctricas. Es por tanto imprescindible con
este tipo de memorias emplear circuitos de refresco cuya misin es leer la informacin que contiene la
7
4
L
S
1
3
8
8
0
8
5
4
K
7
+5V
Vcc
G
N
D
E
1
E
2
A15 E3
A14 A2
A13 A1
A12 A0
O7 CS7
O6 CS6
O5 CS5
O4 CS4
O3 CS3
O2 CS2
O1 CS1
O0 CS0
7
4
L
S
1
3
8
8
0
8
5
4
K
7
+5V
Vcc
G
N
D
E
1
E
2
A15 E3
A14 A2
A13 A1
A12 A0
O7 CS7
O6 CS6
O5 CS5
O4 CS4
O3 CS3
O2 CS2
O1 CS1
O0 CS0
Fig. 1.35 Conexin del mP con el decodificador
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
26
memoria y volver a guardarla exactamente igual a intervalos de tiempo prximos a 1 o 2 ms. Hay
microprocesadores que incluyen un sistema de refresco para trabajar con este tipo de memorias, en caso
contrario sera preciso disear uno. Las RAM dinmicas poseen gran capacidad de memoria y son muy
econmicas, suelen emplearse en sistemas que requieren mucha memoria.
Memoria RAM esttica: Es la memoria que emplearemos nosotros en nuestro sistema. Esta constituida a partir
de elementos flip-flop que configuran las celdillas de informacin, es decir, cada celdilla o flip-flop representa
un bit. Su contenido permanece estable (a diferencia de las dinmicas) hasta que eliminemos la tensin de
alimentacin, momento en que perdemos toda la informacin almacenada. Si deseamos retener la informacin
de la RAM, no tendremos ms alternativa, que disear un sistema de alimentacin auxiliar (con bateras por
ejemplo) que sustituya a la tensin principal cuando desaparezca.
Existen RAM estticas de diferente ancho de palabra, en nuestro caso solo trataremos la RAM de 8 bits.
Disponemos en el mercado de una amplia variedad de componentes RAM entre los que es posible elegir para
disear un sistema. Nosotros vamos a emplear la memoria RAM 6116, que se presenta en un encapsulado de
24 patillas y podemos ver representada en la Fig. 36. Se trata de una memoria fabricada con tecnologa
"CMOS" de bajo consumo con una capacidad de 16384 bits, es decir, 2 Kbytes para lectura/escritura.
La descripcin de los distintos terminales es la siguiente:
- Patillas A0,... A10. Son el bus de direcciones.
- Patillas D0,... D7. Constituyen el bus de datos.
- Patilla GND. Es el terminal de masa o tensin de referencia.
- Patilla Vcc. Es el terminal de alimentacin (+5V).
- Patilla CS. Entrada de seleccin de componente.
- Patilla OE. Entrada de lectura.
- Patilla WE. Entrada de escritura.
(Recuerde que las seales marcadas en negrita tienen nivel activo BAJO).
Para llevar a cabo la interconexin entre esta
memoria y el microprocesador, debemos
fijarnos en el esquema de la Fig. 37. Como
podemos apreciar, las conexiones a realizar son
las siguientes:
- Las lneas de direccin A0, A1, A2, ..., A7
son conectadas a las salidas DO0, DO1,
DO2, ..., DO7 del 8212.
- Las lneas de direccin A8, A9 y A10, se
conectan a las lneas correspondientes A8,
A9 y A10 del bus de direcciones del
microprocesador.
- Los terminales D0, D1, D2, ..., D7 de la
memoria RAM se conectan a las lneas
AD0, AD1, AD2, ..., AD7 del bus de datos
del microprocesador, respectivamente.
- El terminal GND ser conectado a masa,
mientras que Vcc se lleva a la alimentacin
de +5V.
- La lnea CS, de seleccin de chip, es
conectada a una de las salidas del
decodificador de direcciones 74LS138.
R
A
M
6
1
1
6
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
D2
GND
Vcc
A8
A9
WE
OE
A10
CS
D7
D6
D5
D4
D3
1
2
3
4
5
6
7
8
9
10
11
12
24
23
22
21
20
19
18
17
16
15
14
13
R
A
M
6
1
1
6
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
D2
GND
Vcc
A8
A9
WE
OE
A10
CS
D7
D6
D5
D4
D3
1
2
3
4
5
6
7
8
9
10
11
12
24
23
22
21
20
19
18
17
16
15
14
13
Fig. 1.36 Memoria RAM 6116
8
2
1
2
74LS138
CS
+5V
Vcc
GND
R
A
M
6
1
1
6
AD7 A7 D7
AD6 A6 D6
AD5 A5 D5
AD4 A4 D4
AD3 A3 D3
AD2 A2 D2
AD1 A1 D1
AD0 A0 D0
WR WE
RD OE
A10
A9
A8
A15 E3 O7
A14 A2 O6
A13 A1 O5
A12 A0 O4
A11 O3
A10 O2
A9 O1
A8 O0
8
0
8
5
8
2
1
2
74LS138
CS
+5V
Vcc
GND
R
A
M
6
1
1
6
AD7 A7 D7
AD6 A6 D6
AD5 A5 D5
AD4 A4 D4
AD3 A3 D3
AD2 A2 D2
AD1 A1 D1
AD0 A0 D0
WR WE
RD OE
A10
A9
A8
A15 E3 O7
A14 A2 O6
A13 A1 O5
A12 A0 O4
A11 O3
A10 O2
A9 O1
A8 O0
8
0
8
5
Fig. 1.37 Conexin de la RAM al microprocesador
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 27
- El terminal WE se conecta a la seal WRdel microprocesador.
- La patilla OE se conecta a la salida RDdel microprocesador.
Memoria ROM: Se trata de una memoria de solo lectura y se emplea para almacenar los programas, dado que
su contenido no se pierde an en ausencia de la tensin de alimentacin. Este tipo de memoria debe ser grabada
por el fabricante, mientras que el usuario no tiene la posibilidad de variar su contenido. Solo se emplean
cuando se requiere un gran volumen de produccin y no es preciso introducir modificaciones en los programas.
Memoria PROM: Tiene caractersticas similares a la anterior, con una distribucin de terminales idntica, por
lo que pueden reemplazarlas. Las PROM se compran vacas o limpias, es decir, sin informacin alguna y
es el usuario quien mediante un programador adecuado, les carga el programa. Las celdillas de informacin
poseen dispositivos fusibles que segn permanezcan intactos o fundidos, representarn los dos posibles
estados de informacin (1 0). Por supuesto, una vez almacenado el programa en la PROM, no podremos
modificar su contenido.
Memoria EPROM: Se trata de una memoria de solo lectura, que tambin puede ser programada por el usuario
con el dispositivo programador adecuado. Sin embargo las EPROM tienen la particularidad de disponer de una
ventana de cuarzo que permite el paso de los rayos de luz hasta la cpsula que contiene la memoria en s. Si
hacemos incidir radiaciones ultravioletas sobre dicha ventana conseguimos eliminar la informacin existente en
la memoria, quedando la EPROM dispuesta para ser grabada de nuevo. Este proceso puede repetirse en muchas
ocasiones. Son ms caras que las anteriores y sus terminales no son totalmente compatibles.
Nosotros emplearemos la EPROM 27256, que posee una capacidad de 32 Kbytes de memoria, es decir,
262144 bits. Su distribucin de patillas puede verse en la Fig. 38.
A continuacin se describe la funcin de sus terminales:
- Patillas A0,... A14. Representan el bus de direcciones.
- Patillas D0,... D7. Representan el bus de datos.
- Patilla GND. Representa la tensin de referencia o masa.
- Patilla Vcc. Tensin de alimentacin.
- Patilla Vpp. Entrada de programacin.
- Patilla CS. Terminal de seleccin de chip.
- Patilla OE. Terminal que habilita las salidas.
Para llevar a cabo la interconexin entre esta
EPROM y el microprocesador, no tendremos
ms que conectar de forma adecuada las lneas
correspondientes de los buses de datos y
direcciones, segn se muestra en la Fig. 39. Hay
que destacar que al disponer esta memoria de 15
lneas de direcciones, emplearemos las lneas
A0,... A14 del microprocesador para direccionar
todas las posiciones disponibles de la EPROM,
efectuando la seleccin de chip con la lnea de
direcciones A15 de forma directa y emplendola
al mismo tiempo para bloquear el decodificador
74LS138. Tambin debemos conectar la seal
RD del microprocesador a la entrada OE de la
memoria para efectuar la lectura de datos.
E
P
R
O
M
2
7
2
5
6
Vpp
A12
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
D2
GND
Vcc
A14
A13
A8
A9
A11
CS
A10
OE
D7
D6
D5
D4
D3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
E
P
R
O
M
2
7
2
5
6
Vpp
A12
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
D2
GND
Vcc
A14
A13
A8
A9
A11
CS
A10
OE
D7
D6
D5
D4
D3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
Fig. 1.38 Memoria EPROM
8
2
1
2
RD
+5V
Vcc
GND
E
P
R
O
M
2
7
2
5
6
A15
Vpp
8085
A15
A14
A13
A12
A11
A10
A9
A8
OE
A14
A13
A12
A11
A10
A9
A8
AD7 A7 D7
AD6 A6 D6
AD5 A5 D5
AD4 A4 D4
AD3 A3 D3
AD2 A2 D2
AD1 A1 D1
AD0 A0 D0
8
2
1
2
RD
+5V
Vcc
GND
E
P
R
O
M
2
7
2
5
6
A15
Vpp
8085
A15
A14
A13
A12
A11
A10
A9
A8
OE
A14
A13
A12
A11
A10
A9
A8
AD7 A7 D7
AD6 A6 D6
AD5 A5 D5
AD4 A4 D4
AD3 A3 D3
AD2 A2 D2
AD1 A1 D1
AD0 A0 D0
Fig. 1.39 Conexin de la EPROM al microprocesador
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
28
El terminal Vpp (de entrada de programacin) debemos conectarlo a +5V, durante su estado de funcionamiento
normal.
Si deseamos aadir ms memorias EPROM, podremos situarlas en las direcciones que deseemos dentro del mapa
de memoria disponible, aunque lo normal es situar las EPROM en bancos consecutivos.
Otras memorias: El desarrollo de las tecnologas de fabricacin y los continuos avances en la investigacin,
hacen que el campo de las memorias est evolucionando constantemente, consiguindose componentes con
mayores capacidades de almacenamiento, velocidades de acceso mayores y costes ms reducidos. Al mismo
tiempo se trabaja sobre otros tipos de memorias intentando mejorar determinadas caractersticas. Podemos
mencionar:
- Las memorias EAROM, que almacenan la informacin de forma permanente, pero pueden ser ledas y
escritas electrnicamente (aunque los tiempos de escritura son muy superiores a los de lectura).
- Las memorias de burbujas que se caracterizan por poseer una densidad elevadsima de
almacenamiento aunque son lentas y caras.
- Las memorias PLA o de matriz lgica programable. Se emplean para decodificar o codificar seales
lgicas.
1.2.4 DISEO DEL SISTEMA BASICO
Apoyndonos ahora en todo lo visto hasta el momento, podemos realizar nuestro diseo de sistema, para llevar a
cabo operaciones bsicas con el microprocesador 8085.
Esta tarjeta que estar constituida esencialmente por los componentes mencionados con anterioridad, responde al
esquema de la Fig. 40.
En ella podemos ver cmo la conexin de la memoria EPROM se realiza del mismo modo que se ha indicado en el
apartado anterior (ver Fig. 39).
El banco de memorias RAM estar constituido en este caso por tres unidades 6116, con idntico modo de conexin
en todas sus lneas a excepcin de las lneas de seleccin de chip, que en este caso sern las CS0, CS1, y CS2
procedentes del decodificador 74LS138.
En lo que se refiere a la conexin del 8212, vemos que nada vara respecto a lo expuesto en la Fig. 33, nicamente
mencionar la colocacin de una resistencia de 4K7 a +5V en la seal ALE al objeto de reafirmar los niveles de
tensin en esta salida del microprocesador.
Este mismo sistema se emplea en la parte alta del bus de direcciones en el que se sita un bloque de 8 resistencias
de 10k cada una conectadas a +5V.
El decodificador de direcciones 74LS138, sigue el mismo esquema de conexin que el mostrado en la Fig. 35.
Ahora adems se refuerzan las salidas del mismo colocando un bloque de 8 resistencias de 4K7 a +5V. Puede verse
como en este caso las salidas CS0, CS1, y CS2, tomadas de las patillas 15, 14 y 13 respectivamente se emplean
para direccionar las tres pastillas de memorias RAM que hemos colocado en el sistema.
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 29
Puede verse con claridad cmo el microprocesador se sirve de un cristal de cuarzo de 4 MHz y un condensador de
18 pF, que colocados entre las patillas 1 y 2 generan la oscilacin que produce la frecuencia de reloj a la que
funcionar el sistema. Es decir, se genera la frecuencia de trabajo.
Fig. 1.40 Sistema bsico con mP 8085A
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
30
Destacamos adems el circuito situado en la seal de entrada RESET IN del microprocesador (patilla 36) formado
por una resistencia de 1K en paralelo con un diodo y un condensador electroltico de 1 uF. Este circuito es el que
asegura un arranque correcto del sistema en el momento de conexin a red inicindose el contador de programa en
la direccin 0000H, despus de que la patilla 36 haya alcanzado el nivel lgico 1 (ALTO). Este circuito produce un
retardo en el arranque que viene dado aproximadamente por la constante de tiempo RC.
En la parte izquierda de la FIG.1.40 puede verse que las seales INTR, TRAP, RST 7.5, RST 6.5, RST 5.5 y
HOLD son conectadas directamente a masa para conseguir un correcto funcionamiento del sistema mientras no
vayamos a emplearlas. Estas conexiones deben realizarse individualmente para cada seal y mediante puentes
fcilmente eliminables de modo que si en un momento dado, para una determinada aplicacin deseamos emplear
alguna de ellas, podamos hacerlo sin ms que eliminar el puente a masa correspondiente y tratando dicha entrada
del modo adecuado.
Adems deben colocarse distribuidos sobre la tarjeta condensadores de desacoplo. Lo ms usual es situar uno por
cada circuito integrado y debern ir soldados mediante conexiones cortas y a ser posible directamente sobre las
patillas de alimentacin de los circuitos integrados. Este es un medio eficaz y sencillo para impedir la creacin de
seales parsitas de alta frecuencia que son derivadas a masa a travs del condensador. Normalmente estos
condensadores son de 100 nF.
Puede apreciarse tambin cmo la tarjeta dispone, para su conexin a otros circuitos, de cuatro conectores:
CON1: Constituido por 16 lneas en las cuales podemos encontrar el bus de direcciones completo (A0, A1,
A2,..., A15).
CON2: Constituido por 8 lneas en las que podemos encontrar el bus de datos completo (D0, D1, ..., D7).
CON3: Constituido por un total de 24 lneas entre las que encontramos el bus de control, el bloque completo de
seales de interrupcin (que podremos utilizar desde el exterior eliminando previamente los puentes a masa) y
las seales de seleccin de chip que se toman del decodificador 74LS138.
CON4: Constituido por nueve lneas divididas en dos grupos que sirven para suministrar la alimentacin a la
tarjeta (+5V y MASA).
Realizadas todas estas consideraciones, no queda ms que analizar con detenimiento, las direcciones de memoria
que ocupa cada uno de los componentes que integran esta tarjeta y las direcciones que quedan disponibles para
futuras ampliaciones.
Como puede deducirse de la Fig. 41 y apoyndonos en los valores que adquieren las entradas A0, A1, A2 y E3 del
decodificador, se tendr la siguiente distribucin de direcciones:
EPROM 27256 Desde 0000H hasta 7FFFH
RAM 6116-1 Desde 8000H hasta 87FFH
RAM 6116-2 Desde 9000H hasta 97FFH
RAM 6116-3 Desde A000h hasta A7FFH
Al mismo tiempo, los terminales del decodificador 74LS138 que quedan libres para aadir nuevos elementos al
sistema, respondern a las siguientes direcciones:
CS3 B000H
CS4 C000H
CS5 D000H
CS6 E000H
CS7 F000H
1.2.5 INTERCONEXION DEL 8155 CON EL MICROPROCESADOR 8085
Es claro, por todo lo estudiado hasta el momento, que el 8155 es un perifrico programable cuya estructura permite
su utilizacin directa con el microprocesador 8085.
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 31
El 8155 dispone de ciertas caractersticas que hacen posible su conexin al microprocesador de dos formas
claramente diferenciadas que veremos a continuacin:
POSIBILIDAD 1
Dada la estructura del 8155, no tendremos ms que:
- Unir las patillas AD0, AD1, AD2, AD3, AD4, AD5, AD6 y AD7 a las patillas correspondientes del bus
de datos/direcciones del microprocesador.
- Unir la patilla de RESET del 8155 a la patilla RESET OUT del microprocesador, colocando un
condensador a masa de 15 pF.
- Conectar los terminales de masa (GND) y alimentacin (Vcc) a la masa y alimentacin del
microprocesador (+5V). Es conveniente colocar un condensador a masa de 100 nF en el terminal de
alimentacin.
- Conectar las seales ALE, RD y WR del 8155 directamente a las patillas ALE, RD y WR del
microprocesador.
- La patilla TIMER IN del 8155 se conectar a la salida CLK OUT del microprocesador.
- La patilla CS (seleccin de chip) ser controlada mediante una de las salidas libres del decodificador de
direcciones. En este caso elegiremos la salida CS4.
- El terminal IO/M del 8155 se conecta directamente a la seal de control IO/M de idntica
denominacin del microprocesador.
- Finalmente dispondremos de 22 lneas para comunicarse con el exterior que forman los tres puertos de
entrada/salida del 8155 y de una lnea de salida de un contador o temporizador denominada TIMER
OUT.
De esta forma tendremos perfectamente acoplado este nuevo componente a nuestro sistema. En la Fig. 41
puede verse el esquema de esta conexin. No nos queda ahora ms que estudiar la forma de acceso al
mismo, o lo que es igual, encontrar las direcciones de sus registros internos y puertos de entrada/salida.
Para ello debemos darnos cuenta que para efectuar la seleccin del dispositivo hay que hacer activa la
salida CS4 del decodificador de direcciones, es decir, hay que colocar en la parte alta del bus de direcciones
(A15, A14, A13 y A12) el valor binario 1100, por lo que dicha combinacin es obligatoria. Por tener
conectada la seal IO/M del microprocesador, para acceder a los puertos de E/S ser necesario emplear las
instrucciones OUT PORT e IN PORT para sacar o leer datos del exterior y como sabemos por el tema 4, (al
emplear estas instrucciones el microprocesador entiende que deseamos tener acceso a una entrada/salida y
automticamente coloca un 1 lgico en la seal IO/M) el operando PORT representa el puerto
seleccionado. Tendremos por tanto que situar en los bits de direccin ms bajos (A0, A1 y A2) los cdigos
correspondientes a los puertos A, B, C y el cdigo correspondiente del registro de estado, segn el
elemento al que deseemos tener acceso. Ambas instrucciones (OUT e IN) tienen el mismo efecto sobre el
bus de direcciones, duplican el valor asignado a PORT en dicho bus. Por ejemplo con la instruccin OUT
B1H, sacaramos hacia el exterior el contenido del acumulador, y en el bus de direcciones tendramos el
valor B1B1H. De modo similar con la instruccin IN B3H, cargaramos un dato del exterior en el
acumulador y tendramos en el bus de direcciones el valor B3B3H.
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
32
Fig. 1.41 Puerto programable paralelo 8155
Por tanto en nuestro caso, para acceder a los puertos y registro de estado del 8155 tendramos que colocar
como valor de PORT:
Puerto A PORT = C1H
Puerto B PORT = C2H
Puerto C PORT = C3H
Timer Low PORT = C4H
Timer High PORT = C5H
Registro de estado PORT = C0H
Cuando deseemos trabajar con la memoria interna del 8155, no podremos utilizar la instrucciones
especiales OUT e IN, sino que habr que emplear instrucciones normales como LDA o bien STA, segn
sea el caso, seguidas de la direccin de memoria a la que deseemos acceder, que en el caso que estamos
tratando, sern los 256 octetos comprendidos entre las direcciones siguientes:
RAM 8155 C000H hasta C0FFH
POSIBILIDAD 2.
La segunda posibilidad de conectar este integrado, es en todo similar a la anterior, la nica diferencia radica
en que la seal IO/M del 8155 no se conecta a la equivalente IO/M del microprocesador, sino que se
controla mediante una lnea del bus de direcciones. Nosotros elegiremos este mtodo y conectaremos a
dicha seal la lnea de direcciones A10 (podramos haber elegido otra). Para acceder a los puertos de
entrada/salida o al registro de estado no podremos utilizar ahora las instrucciones OUT e IN puesto que no
usamos la salida IO/M del microprocesador. En este caso, tanto para los puertos y registro de estado, como
para las direcciones de RAM interna, se utilizarn instrucciones como STA o bien LDA seguidas de la
direccin correspondiente.
21 PA0
22 PA1
23 PA2
24 PA3
27 PA4
25 PA5
26 PA6
28 PA7
PC0 37
PC1 38
PC2 39
PC3 1
PC4 2
PC5 5
AD0 12
AD1 13
AD2 14
AD3 15
AD4 16
AD5 17
AD6 18
AD7 19
29 PB0
30 PB1
31 PB2
32 PB3
33 PB4
34 PB5
35 PB6
36 PB7
6 TIMER OUT
4 RESET
ALE 11
WR 10
RD 9
IO/M 7
CS 8
TIMER IN 3
+5V
100 nF
40 20
D0
D1
D2
D3
D4
D5
D6
D7
ALE
WR
RD
IO/M
CS4
CLK
OUT
RESET
OUT
15pF
PUERTO C
PUERTO A
PUERTO B
BUS
8085
8155
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 33
Al igual que en el caso anterior, para seleccionar el chip debemos colocar en la parte alta del bus de
direcciones (A15, A14, A13, A12) el dato binario 1100. Adems hay que colocar en la parte baja (A0, A1,
A2) el cdigo correspondiente al elemento que deseemos utilizar. Y finalmente, tendremos que colocar la
lnea de direcciones A10 a nivel lgico 1 para acceder a los puertos y registro de estado y a nivel lgico 0
para tener acceso a las posiciones de memoria RAM interna.
Por tanto las direcciones a considerar en nuestro caso sern:
Puerto A C401H
Puerto B C402H
Puerto C C403H
Timer Low C404H
Timer High C405H
Registro de estado C/E C400H
RAM 8155 C000H hasta C0FFH
En la Fig. 42 puede verse la representacin esquemtica de esta conexin, que ser la que finalmente
utilizaremos en nuestro sistema.
Fig. 1.42 Posibilidad 2 de conexin del 8155
1.3 SOFTWARE. PROGRAMACION DE UN SISTEMA CON MICROPROCESADOR
1.3.1 INTRODUCCION
Los sistemas construidos sobre la base de los microprocesadores, requieren para su puesta en marcha, el desarrollo
del software, es decir, el desarrollo de programas que una vez construidos, son almacenados en las memorias
permanentes (PROM, EPROM,...) del sistema, donde son buscados por el microprocesador para desarrollar todas
las funciones y tareas deseadas.
21 PA0
22 PA1
23 PA2
24 PA3
27 PA4
25 PA5
26 PA6
28 PA7
PC0 37
PC1 38
PC2 39
PC3 1
PC4 2
PC5 5
AD0 12
AD1 13
AD2 14
AD3 15
AD4 16
AD5 17
AD6 18
AD7 19
29 PB0
30 PB1
31 PB2
32 PB3
33 PB4
34 PB5
35 PB6
36 PB7
6 TIMER OUT
4 RESET
ALE 11
WR 10
RD 9
IO/M 7
CS 8
TIMER IN 3
+5V
100 nF
40 20
D0
D1
D2
D3
D4
D5
D6
D7
ALE
WR
RD
A10
CS4
CLK
OUT
RESET
OUT
15pF
BUS
8085
PUERTO C
PUERTO A
PUERTO B
8155
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
34
Un programa est constituido por un conjunto ordenado de instrucciones, que constituyen el cuerpo principal del
programa y uno o ms bloques de datos iniciales necesarios para una correcta ejecucin. El proceso bsico de
ejecucin de un programa requiere por parte del microprocesador, la repeticin de los siguientes pasos:
1. Construir la direccin de la posicin de memoria donde se encuentra la instruccin y situarla en el bus de
direcciones. Esta funcin, como se mencion anteriormente, la realiza el contador de programa.
2. Leer la instruccin por medio de una orden de lectura enviada a travs del bus de control. En respuesta, la
posicin de memoria direccionada transmite el cdigo de la instruccin al bus de datos. Esta informacin se
almacena en el registro de instrucciones.
3. Decodificar la instruccin para determinar en la ROM del microprograma la secuencia de microinstrucciones
necesarias para llevarlas a cabo. Esta funcin la realiza el decodificador de instrucciones del microprocesador.
4. Leer, si la instruccin as lo exige, cualquier dato almacenado en una posicin de memoria o traerlo desde un
puerto de entrada.
5. Ejecutar las operaciones especificadas por la instruccin. Esta funcin la realizan la ALU, el Acumulador y
dems registros asociados a la unidad de ejecucin.
6. Almacenar, si al instruccin as lo exige, los resultados en una determinada posicin de memoria o llevarlos a
un puerto de salida.
Todas estas acciones estn sincronizadas por la seal de reloj del sistema y constituyen lo que se denomina ciclo de
instruccin, que en algunos microprocesadores pueden tomar 2 o 4 ciclos reloj.
Estos 6 pasos se pueden resumir en tres fases, a saber:
Leer de la memoria una instruccin del programa.
Interpretar la instruccin leda.
Ejecutar dicha instruccin.
Debemos considerar adems que los microprocesadores trabajan solamente con lenguaje de bajo nivel, es decir,
trabajan con lenguaje mquina. Cada microprocesador o familia de microprocesadores, posee su propio lenguaje
mquina que determina las capacidades propias de cada familia. Las instrucciones mquina son almacenadas en la
memoria en forma de bytes, es decir, en forma de unos y ceros empleando por tanto el sistema binario de
numeracin. Sin embargo este sistema es muy complejo para trabajar directamente con l, por lo que se emplean
otros sistemas como el hexadecimal, BCD, etc. para la representacin de datos.
Para construir los programas, normalmente se emplean lenguajes de alto nivel, y luego se transforman los
programas as escritos a lenguaje mquina asequible para el microprocesador. No obstante en nuestro caso
emplearemos un lenguaje de bajo nivel (ensamblador) que trabaja con abreviaturas alfabticas denominadas
mnemnicos que constituyen las operaciones e instrucciones que ejecutar el microprocesador.
1.3.2 ARQUITECTURAS DE LOS SISTEMAS DE MICROPROCESADORES. TIPOS DE
PROCESADORES
1.3.2.1 ARQUITECTURAS VON NEUMANN Y HARVARD
La arquitectura de los sistemas digitales programables
pueden ser de tipo Von Neumann o Harvard. 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 travs de
un nico sistema de buses nico. La nica ventaja que
posee es que simplifica la lgica del sistema.
Las limitaciones de esta arquitectura tradicional son:
La longitud de las instrucciones est limitada por la
longitud de los datos, por lo tanto, el
microprocesador debe hacer varios accesos a la
memoria para buscar instrucciones complejas.
CPU
CPU
MEMORIA DE
PROGRAMA
Y DATOS
MEMORIA DE
PROGRAMA
Y DATOS
CPU
CPU
MEMORIA DE
PROGRAMA
Y DATOS
MEMORIA DE
PROGRAMA
Y DATOS
Fig. 1.43 Arquitectura Von Neumann
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 35
La velocidad de operacin est limitada por el efecto de cuello de botella que significa un nico bus de
datos e instrucciones, que impide superponer ambos tiempos de acceso.
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 1.44.
Ambos buses son totalmente independientes y
pueden ser de distintos anchos, esto permite que la
CPU pueda acceder de forma independiente y
simultnea a la memoria de datos y a la de
instrucciones, consiguiendo que las instrucciones
se ejecuten en menos ciclos de reloj.
Se puede concluir que las principales ventajas de la arquitectura Harvard son:
El tamao de las instrucciones no est relacionado con el de los datos y, por lo tanto, puede ser optimizado
para que cualquier instruccin ocupe una sola posicin de memoria de programa. As se logra mayor
velocidad y una menor longitud de programa.
El tiempo de acceso a las instrucciones puede superponerse con el de los datos logrando una mayor
velocidad de operacin.
1.3.2.2 PROCESADOR SEGMENTADO O PIPELINE
Un procesador Segmentado o Pipeline realiza simultneamente la ejecucin de la instruccin y la bsqueda del
cdigo de la siguiente, de esta manera, se puede ejecutar una instruccin en un solo ciclo mquina.
Este sistema acompaado de una estructura Harvard, permite que las instrucciones se ejecuten en un solo ciclo
mquina, salvo en el caso de saltos de programa.
1.3.2.3 PROCESADOR SEGN EL NUMERO DE INSTRUCCIONES
Las CPUs atendiendo al tipo de instrucciones que utilizan pueden clasificarse fundamentalmente en:
CPU
CPU
MEMORIA DE
PROGRAMA
(ROM)
MEMORIA DE
PROGRAMA
(ROM)
MEMORIA DE
DATOS
(RAM)
MEMORIA DE
DATOS
(RAM)
CPU
CPU
MEMORIA DE
PROGRAMA
(ROM)
MEMORIA DE
PROGRAMA
(ROM)
MEMORIA DE
DATOS
(RAM)
MEMORIA DE
DATOS
(RAM)
Fig. 1.44 Arquitectura Harvard
OSC
PC PC+1
BUSQUEDA INST (PC)
EJECUTA INST (PC-1) BUSQUEDA INST (PC+1)
EJECUTA INST (PC)
CICLO MAQUINA
OSC
PC PC+1
BUSQUEDA INST (PC)
EJECUTA INST (PC-1) BUSQUEDA INST (PC+1)
EJECUTA INST (PC)
CICLO MAQUINA
PC PC+1
BUSQUEDA INST (PC)
EJECUTA INST (PC-1) BUSQUEDA INST (PC+1)
EJECUTA INST (PC)
CICLO MAQUINA
Fig. 1.45 Ciclo mquina en un procesador segmentado
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
36
CISC (Complex Instruction Set Computer) . Son procesadores con un juego de instrucciones complejo.
Su repertorio de instrucciones es elevado y algunas de ellas son muy sofisticadas y potentes. Su problema
es que requieren de muchos ciclos de reloj para ejecutar las instrucciones.
RISC (Reduced Instruction Set Computer). Son microprocesadores con un repertorio de insrucciones
reducido. Las instrucciones son muy simples y suelen ejecutarse en un solo ciclo mquina. Los
procesadores RISC suelen tener una estructura Pipeline y ejecutar casi todas las instrucciones en el mismo
tiempo.
SISC (Specific Instruction Set Computer). Estos procesadores poseen un juego de instrucciones
especfico para cada aplicacin. Estn destinadas a aplicaciones muy concretas.
1.3.2.4 ARQUITECTURA DEL PROCESADOR SEGN EL FORMATO DE LAS
INSTRUCCIONES
En un procesador con Arquitectura
Ortogonal una instruccin puede
utilizar cualquier elemento de la
arquitectura como fuente o destino.
Esta es una diferencia muy significativa
respecto de la arquitectura tradicional.
En las siguientes figuras se representan
las Arquitecturas Tradicional y
Ortogonal.
La principal diferencia entre ambos radica en la ubicacin del registro de trabajo (Acumulador). En los
procesadores tradicionales todas las operaciones se realizan sobre el Acumulador. La salida del mismo esta
conectada a una de las entradas de la ALU y, por lo tanto, este es siempre uno de los dos operandos de cualquier
instruccin. La salida de la ALU va solamente a la entrada del Acumulador, el resultado de cualquier operacin
siempre quedar en este registro.
En la estructura Ortogonal la salida de la ALU va al registro de trabajo y tambin a la memoria de datos, as el
resultado puede guardarse en cualquiera de los dos destinos. En las instrucciones de doble operando, uno de los dos
datos siempre debe estar en el registro de trabajo. La gran ventaja de esta arquitectura es que permite un gran
ahorro de instrucciones ya que el resultado d cualquier instruccin que opere con la memoria, puede dejarse en la
misma posicin de memoria o en el registro de trabajo.
1.3.3 LENGUAJES DE PROGRAMACION. EL ENSAMBLADOR
Los lenguajes de programacin se pueden dividir grosso modo, en las siguientes jerarquas:
Lenguajes de microprogramacin.
Lenguajes de mquina.
Lenguajes ensambladores.
Lenguajes de alto nivel.
El Lenguaje de microprogramacin es, normalmente invisible para el usuario de un microprocesador, porque
reside en la parte interna del mismo llamada ROM del microprograma. El microprograma interpreta las
MEMORIA
DE DATOS
MEMORIA
DE DATOS
ACUMULADOR
ACUMULADOR
ALU
MEMORIA
DE DATOS
MEMORIA
DE DATOS
ACUMULADOR
ACUMULADOR
ALU
Fig. 1.46 Arquitectura
Tradicional
MEMORIA
DE DATOS
MEMORIA
DE DATOS
W
W
ALU
MEMORIA
DE DATOS
MEMORIA
DE DATOS
W
W
ALU
Fig. 1.47 Arquitectura
Ortogonal
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 37
instrucciones en lenguaje mquina recibidas por el microprocesador y es el responsable de generar las
microinstrucciones necesarias para ejecutar correctamente cada instruccin.
El Lenguaje Mquina, es la forma binaria (0s y 1s) del programa y es el nico lenguaje que, en ltima instancia
entiende el microprocesador. Una forma simplificada es el cdigo objeto, el cual representa cada cdigo 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 ms fciles de entender por la personas que las instrucciones en
lenguaje mquina o cdigo objeto.
El Lenguaje Ensamblador utiliza Nemnicos que son grupos de caracteres alfanumricos que simbolizan las
rdenes o tareas a realizar con cada instruccin. De manera general, los nemnicos se corresponden con las
iniciales del nombre de la instruccin en ingls, d forma que recuerdan la operacin que realiza la instruccin, lo
que facilita su memorizacin.
Para ser comprendidas las instrucciones escritas en otro lenguaje, estas deben ser convertidas a lenguaje de
mquina por medio de un programa llamado traductor o compilador.
El cdigo fuente est compuesto por una sucesin de lneas de programa. Todos los ficheros fuente poseen una
estructura similar independientemente del procesador utilizado. Cada lnea de programa suele estar compuesta de 4
campos separados por uno o ms espacios o tabulaciones. Estos campos son:
1. Campo de las etiquetas
2. Campo del cdigo de operacin
3. Campo de operandos y datos
4. Campo de comentarios.
ETIQUETA OP-CODE OPERANDOS COMENTARIOS
SUM1:
SUM2:
RESUL:
ORG
EQU
EQU
EQU
MVI
MVI
ADD
STA
HLT
0000H
08H
07H
0020H
A,SUM1
B,SUM2
B
RESUL
;Empezar en la dir. 0000h
;Define dato1 SUM1=08h
;Define dato2 SUM2=07h
;Define dir de resultado RESUL=0020h
;Carga reg. Ac. con el dato1
;Carga reg. B con dato2
;Suma dato1+dato2
;Lleva resultado a la posicin RESUL
;Stop
El primer campo corresponde a la etiqueta. Como se mencion anteriormente, es un nemnico alfanumrico de 5 o
6 caracteres (siendo el primero una letra) para referirse a direcciones que son especficamente conocidas.
Normalmente, una etiqueta termina en dos puntos (:) para separarla de los otros campos.
El segundo campo corresponde al nemnico del op-code de la instruccin a ser ejecutada. Cada procesador tiene su
propio conjunto de cdigos nemnicos para designar cada una de las instrucciones a las que responde.
CODIGO FUENTE
PROGRAMA EN
ENSAMBLADOR,
BASIC, etc.
TRADUCTOR
ENSAMBLADOR,
COMPILADOR,
INTERPRETE, etc
CODIGO FUENTE
PROGRAMA EN
LENGUAJE DE
MAQUINA
CODIGO FUENTE
PROGRAMA EN
ENSAMBLADOR,
BASIC, etc.
TRADUCTOR
ENSAMBLADOR,
COMPILADOR,
INTERPRETE, etc
CODIGO FUENTE
PROGRAMA EN
LENGUAJE DE
MAQUINA
Fig. 1.48 Conversin de Lenguaje Ensamblador a Lenguaje de mquina
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
38
El tercer campo corresponde a los operandos o parmetros requeridos por la instruccin. Contiene, separados por
comas (,), las designaciones de los registros y/o los datos o direcciones sobre los cuales acta la misma.
El cuarto campo corresponde a os comentarios. En esta rea se escribe, entre otras cosas, notas especiales que
sirven de referencia no solamente al programador sino a cualquier persona que consulte el programa. Los
comentarios deben dar explicaciones de la instruccin o grupos de instrucciones desde el punto de vista de la
aplicacin.
Los comentarios comienzan con asterisco (*) o punto y coma (;) y no son ejecutables.
1.3.4 LAS INSTRUCCIONES. MODOS DE DIRECCIONAMIENTO
1.3.4.1 LAS INSTRUCCIONES
Bsicamente puede decirse que el bloque de instrucciones debe ser completo y eficaz de modo que podamos
realizar todos los clculos necesarios de la forma ms rpida y precisa posible.
Una de las principales caractersticas 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:
1. Aritmticas: Son las instrucciones que realizan operaciones de tipo aritmtico como sumas, restas,
incrementos, decrementos, etc. Todas las operaciones de este tipo afectan al registro de estado, es decir
a los flags.
2. Movimiento de datos: Este tipo de instrucciones de movimiento o transferencia de datos, permiten
realizar una copia del contenido de un registro o direccin de memoria (origen), en otro registro o
direccin de memoria (destino), sin alterar el contenido del origen.
3. Instrucciones lgicas: Realizan operaciones lgicas entre los operandos. Afectan a los flags segn sea
el caso y las operaciones se realizan bit a bit entre los datos.
4. Instrucciones de comparacin: Son operaciones de restar o operaciones XOR entre dos operandos.
Afectan a los flags pero no se almacena el resultado.
5. Instrucciones de salto: Son instrucciones de modificacin de secuencia que alteran la ejecucin
normal del programa, cargando el contador de programa con la nueva direccin en la que deseamos
contine ejecutndose el programa. Los saltos o bifurcaciones pueden ser:
Condicionales: Cuando son controlados por el estado de un indicador o flag, y basndose en dicho
estado se decide si se salta o no.
Incondicionales: Cuando modifican el contador de programa sin condicin previa.
Dentro de cada uno de estos tipos, podemos encontrar adems 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 perifricos que permiten la comunicacin del
microprocesador con el exterior.
7. Instrucciones de control: Sirven para actuar internamente sobre el microprocesador, provocando
detenciones en la ejecucin 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).
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 39
1.3.4.2 MODOS DE DIRECCIONAMIENTO
Los modos de direccionamiento son aquellos procedimientos empleados por el microprocesador para poder acceder
a determinados operandos, instrucciones, 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 algn registro o en la
propia instruccin. Los diferentes modos de direccionamiento que pueda emplear un microprocesador le
proporcionan un determinado nivel de potencialidad, permitindole manejar datos y realizar operaciones con mayor
facilidad.
En general podemos diferenciar los siguientes tipos o modos de direccionamiento:
1. Direccionamiento inmediato: En este caso el objeto (un operando) se encuentra incluido en la instruccin, es
decir, a continuacin del cdigo de la instruccin se aade el operando propiamente dicho. Las instrucciones
que emplean este direccionamiento pueden ser de dos o tres bytes y son instrucciones de ejecucin rpida y
sencilla.
2. Direccionamiento implcito: Las instrucciones que emplean este modo de direccionamiento tienen un solo
byte y es la propia instruccin la que indica qu registro o direccin de memoria se va a utilizar en la
operacin.
3. Direccionamiento absoluto: En este caso las instrucciones incluyen la direccin 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 instruccin apunta a un registro que contiene la informacin deseada (direccionamiento tambin
llamado de registro).
b. La instruccin contiene la direccin completa en la que se encuentra el dato, empleando para ello tres
bytes.
c. Cuando la instruccin se refiere solo a una parte de la memoria (pgina). En este caso el byte ms alto lo
suministra el contador de programa y el byte ms bajo se expresa a continuacin del cdigo de instruccin,
por tanto solo se emplean dos bytes (Este direccionamiento tambin se llama de pgina base).
4. Direccionamiento directo relativo: La instruccin en este caso contiene un valor determinado al que podemos
llamar V. La direccin total se calcula sumando a V el valor que est almacenado en un registro al que haga
referencia la instruccin. El valor de V puede ser tanto positivo como negativo.
5. Direccionamiento indirecto: La instruccin contiene una direccin a la que llamaremos D1. El contenido de
D1 no es el objeto directo de nuestra instruccin, sino que contiene otra direccin que llamaremos D2. Esta
nueva direccin D2 es la que contiene el dato que s es objeto de la instruccin.
Expresados ya los modos de direccionamiento con carcter general, pasamos ahora a ver los modos de
direccionamiento que utiliza el microprocesador 8085 en particular, que son los cuatro siguientes:
Direccionamiento Directo Absoluto. La instruccin contiene la direccin exacta y completa donde se
encuentra el dato. Por ejemplo:
LHLD A716H
Direccionamiento por Registro. La instruccin lleva el registro en el que est el dato que va a ser
tratado. Por ejemplo:
MOV A,B
MOV B,C
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
40
Direccionamiento por Registro Indirecto. En la instruccin se especifica un registro cuyo contenido
apunta a una direccin de memoria en la que se encuentra el dato. Por ejemplo:
MOV A,M
M es una referencia simblica a una direccin de memoria apuntada o sealada por el par de registros
HL.
Direccionamiento Inmediato. La instruccin contiene el dato con el que se desea operar, pudiendo ser el
dato de uno o dos bytes.
LXI H,A0B7H
ADI 3AH
1.4 EJERCICIOS BASICOS DE PROGRAMACION
Para las prcticas vamos a utilizar el entrenador del microprocesador 8085A del laboratorio, que tiene el siguiente
diagrama de bloques.
Para realizar los programas en Lenguaje Ensamblador, se recomienda construir:
El algoritmo.
Diagrama de flujo.
Escribir los mnemnicos de las instrucciones.
1. Empleo de las instrucciones bsicas
a) Mayor de dos nmeros: Leer un nmero de una direccin de memoria determinada, si es mayor que 12
cargarlo en el registro B y en caso contrario cargarlo en el registro C.
En primer lugar debemos analizar el problema detenidamente hasta entenderlo de forma correcta y poder as
realizar las especificaciones y acotaciones que consideremos oportunas.
Se hace referencia a una direccin de memoria, por tanto se trata de un byte que contiene el Dato buscado. Se
supone que buscamos un nmero positivo (no dicen nada en contra). Y adems aadimos que la direccin de
memoria en la que se encuentra el Dato, la tenemos en el registro par HL.
Fig. 49 Diagrama de bloques del Entrenador uP8085A
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 41
Adems, podemos intuir que se trata de una toma de decisin sencilla ya que establece una accin a ejecutar si se
cumple una condicin determinada y en caso contrario debe hacer nada debe ejecutar otra accin.
De esta forma el algoritmo sera de la siguiente manera:
NOMBRE: MENOR12
FUNCION: Leer dato memoria y almacenarlo en B (>12) o en C
PRECONDICIONES: HL = Direccin memoria, B=0, C=0
POSTCONDICIONES: Dato en B o en C
Leer Dato de la memoria
SI Dato > 12
B = Dato
SI NO
C = Dato
FIN DE SI
Fin del Programa
A continuacin se muestra el diagrama de flujo correspondiente a este
pseudocdigo, donde se puede comprobar el desarrollo del programa.
----------------------------------------------------------------------------------------------
1 ;------------------------------------------
2 ;NOMBRE : MENOR12
3 ;FUNCION : Si Dato>12 va a B si no va a C
4 ;PRECONDICION : HL=Direccin Dato, B=0, C=0
5 ;POSTCONDICION : Resultado en B o en C
6 ;------------------------------------------
7
8 0000 MENOR12:
9 0000 F5 PUSH PSW
10 0001 7E MOV A,M
11 0002 FE 0C CPI 12
12 0004 CA 0D 00 JZ SALT1
13 0007 DA 0D 00 JC SALT1
14 000A 46 MOV B,M
15 000B F1 FIN POP PSW
16 000C END
17 000D 4E SALT1 MOV C,M
18 000E C3 0B 00 JMP FIN
----------------------------------------------------------------------------------------------
b) Suma decimal de varios dgitos.
Con este ejercicio se llevar a cabo la suma de dos nmeros decimales de varias cifras. Puesto que no nos dicen
nada en el enunciado, supondremos que se trata de nmeros de ocho cifras. Los nmeros a sumar (los sumandos) se
encuentran almacenados en la memoria RAM expresados segn el sistema decimal (BCD). Puesto que en cada byte
disponemos de ocho bits, podemos tener representadas dos cifras decimales en cada byte, por lo que para completar
las ocho cifras de cada nmero se necesitarn cuatro bytes por nmero.
La direccin donde se encuentra almacenado el primer byte del primer sumando, vendr dada por SUM1 y el resto
en direcciones consecutivas. La direccin del primer byte del segundo sumando, estar dada por SUM2 y el resto
en direcciones consecutivas. El resultado de la operacin ser almacenado en las direcciones del primer sumando,
por tanto, ste se perder.
Necesitamos desarrollar un bucle que sume los cuatro bytes representativos de cada nmero. Para realizar este
proceso, es preciso iniciar un Contador que nos permita establecer el final del bucle.
Fig. 1.50 Diagrama de flujo
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
42
El pseudocdigo propuesto es el siguiente:
NOMBRE: SUMA
FUNCION: Suma dos nmeros decimales de 8 cifras cada uno
PRECONDICIONES:Primer sumando en SUM1
Segundo sumando en SUM2
POSTCONDICIONES: El resultado se almacena en
lugar de SUM1
Apuntar a SUM1
Apuntar a SUM2
Iniciar Contador = 4
MIENTRAS Contador > 0
Sumar bytes SUM1+SUM2
Ajuste decimal
Guardar resultado en SUM1
Apuntar a SUM1+1
Apuntar a SUM2+1
Contador = Contador 1
FIN DE MIENTRAS
Fin del Programa
En la 1.51 se representa el diagrama de flujo correspondiente este pseudocdigo y en l puede apreciarse el
desarrollo o flujo de las rdenes a ejecutar por la computadora o sistema.
----------------------------------------------------------------------------------------------
1 ;------------------------------------------
2 ;NOMBRE : SUMA
3 ;FUNCION : Suma dos nm decimales 8 cifras
4 ;PRECONDICION : SUM1 Y SUM2 conocidos
5 ;POSTCONDICION : Resultado en SUM1
6 ;------------------------------------------
7 20 80 SUM1 EQU 8020H
8 30 80 SUM2 EQU 8030H
9
10 0000 SUMA:
11 0000 F5 PUSH PSW
12 0001 E5 PUSH H
13 0002 C5 PUSH B
14 0003 D5 PUSH D
15 0004 21 20 80 LXI H,SUM1
16 0007 11 30 80 LXI D,SUM2
17 000A A7 ANA A
18 000B 06 04 MVI B,04
19 000D 1A SALT1 LDAX D
20 000E 8E ADC M
21 000F 27 DAA
22 0010 77 MOV M,A
23 0011 23 INX H
24 0012 13 INX D
25 0013 05 DCR B
26 0014 C2 0D 00 JNZ SALT1
27 0017 D1 POP D
28 0018 C1 POP B
29 0019 E1 POP H
30 001A F1 POP PSW
31 001B END
-------------------------------------------------------------------------------------------
Fig. 1.51 Diagrama de flujo
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 43
c) Subrutina: Retardo
En este caso nos piden desarrollar una subrutina o un programa de temporizacin. No se nos indica
cunto tiempo se debe permanecer en este estado, por lo que ser una caracterstica que impondremos
nosotros. Tampoco se dice nada acerca de qu debe hacer el microprocesador durante ese tiempo.
El programa bsicamente consistir en desarrollar un bucle o ciclo que se repita durante un tiempo, o un
determinado nmero de veces, y en el que el microprocesador no haga nada. Es decir, estableceremos
un tiempo de espera. Como se ha hecho en otras ocasiones se establecer un Contador que nos seale el
final del bucle y por tanto el final del tiempo de espera.
Segn las condiciones expresadas, tendremos el siguiente pseudocdigo:
NOMBRE: TEMPORIZ
FUNCION: Realiza un tiempo de espera
PRECONDICIONES: Conocemos el dato del Contador
POSTCONDICIONES: Ninguna
Iniciar el Contador
MIENTRAS Contador > 0
No hacer nada
Decrementar Contador
FIN DE MIENTRAS
Final del Programa
En la Fig. 1.52 se muestra el diagrama de flujo.
----------------------------------------------------------------------------------------------
1 ;------------------------------------------
2 ;NOMBRE : TEMPORIZ
3 ;FUNCION : Realiza un tiempo de espera
4 ;PRECONDICION : Contador=CONTA
5 ;POSTCONDICION : Ninguna
6 ;------------------------------------------
7
8 0000 TEMPORIZ:
9 0000 F5 PUSH PSW
10 0001 1B SALT1 DCX D
11 0002 7A MOV A,D
12 0003 B3 ORA E
13 0004 00 NOP
14 0005 00 NOP
15 0006 00 NOP
16 0007 C2 01 00 JNZ SALT1
17 000A F1 POP PSW
18 000B C9 RET
19
20 000C END
-------------------------------------------------------------------------------------------------------------------------------------
Para el llamado de la subrutina se emplea la instruccin CALL name.
2. Control de un juego de LEDs: Se desea rotar a la izquierda los LEDs conectados al PORTA cada cierto
tiempo.
Antes de realizar el programa, revisemos la configuracin de los puertos en el 8155 de nuestro entrenador de
laboratorio. En la tabla siguiente se presenta las direcciones de los Puertos que tiene el 8155.
Fig. 1.52 Diagrama de flujo
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
44
DIRECCIONES I/O SELECCIN
x puede ser 0 o 1
A7 A6 A5 A4 A3 A2 A1 A0
x x x x x 0 0 0 Registro de Comandos/Estados
x x x x x 0 0 1 PORTA. Propsito general E/S
x x x x x 0 1 0 PORTB. Propsito general E/S
x x x x x
0 1 1
PORTC. Propsito general E/S o control
x x x x x 1 0 0 Registro inferior de temporizacin
x x x x x 1 0 1 Registro superior de temporizacin
El formato de la palabra de configuracin es la siguiente.
7 6 5 4 3 2 1 0
TM2 TM1 IEB IEA PC PC PB PA
PA<7:0> 0 - Entrada
PB<7:0> 1 - Salida
00 - Entradas
11 - Salidas
PC<5:0> 01 - Activa las interrupciones
10 Activa las interrupciones
Habilita la interrupcin del PORTA
Habilita la interrupcin del PORTB
Comando del
Temporizador
En este programa solo se presenta el cdigo, dejando como tarea al estudiante la realizacin del algoritmo y
diagrama de flujo.
----------------------------------------------------------------------------------------------------------------------------------------
ORG 0000H ; Direccin de inicio de programa
MVI A,0Fh ; Carga palabra de control para
OUT 00 ; configurar PORTA como salida
LXI SP,00FFh ; Inicializa Stack Pointer
MVI A,01h ; Dato para primer LED
LED OUT 01 ; Encender LED
CALL Tiempo ; Subrutina de retardo
RAL ; Rotar un bit a la izquierda
JMP LED ; Encender el siguiente LED
; ---------------------------------------------------------------------------------------
ORG 0040h ; Direccin de inicio de subrutina
Tiempo MVI B,60h ; Cargar contador externo
Loop1 MVI C,0FFh ; Cargar contador interno
Loop2 DCR C ; Decrementa contador interno
JNZ Loop2 ; Nuevo ciclo interno
DCR B ; Decrementa contador externo
JNZ Loop1 ; Nuevo ciclo externo
RET ; Regresa a programa principal
----------------------------------------------------------------------------------------------
En la siguiente la siguiente figura se muestra la conexin de un LED al PORTA del 8155.
Fig. 1.53 Conexin de LEDs al PORTA
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 45
3. Control del giro de un motor DC
El giro de un motor DC va a ser controlado en funcin de la siguiente tabla de verdad.
S1 S0 Operacin
0 0 Stop
0 1 Giro a la derecha
1 0 Giro a la izquierda
1 1 No se utiliza
El programa, con sus respectivos comentarios, es el siguiente:
----------------------------------------------------------------------------------------------------------------------------------------
ORG 0000H ; Direccin de inicio de programa
MVI A,02h ; Carga palabra de control para configurar
OUT 00 ; PORTA como entrada y PORTB como salida
LXI SP,00FFh ; Inicializa Stack Pointer
MVI A,00h ; Empieza con el motor apagado
OUT 02h
MOTOR IN 01h ; Lee estado de interruptores
ANI 03h ; Filtra bits no utilizados
SUI 00h ; Si es cero
JZ MOTOR
IN 01h ; Lee estado de interruptores
ANI 03h ; Filtra bits no utilizados
SUI 01h ; Si no es uno
JNZ MOTOR ; Verifica de nuevo los interruptores
CALL MOTOR_DER ; Si es uno, gira motor a la derecha
IN 01h ; Lee estado de interruptores
ANI 03h ; Filtra bits no utilizados
SUI 02h ; Si no es dos
JNZ MOTOR ; verifica de nuevo los interruptores
CALL MOTOR_IZQ ; Si es dos, gira motor a la izquierda
JMP MOTOR ; Verifica por siempre estado de interruptores
; ---------------------------------------------------------------------------------------
ORG 0040h ; Direccin de inicio de subrutina
MVI A,01h ; Cargar dato
OUT 02h ; y enviar al PORTB
RET ; Regresa al programa principal
ORG 0050h ; Direccin de inicio de subrutina
MVI A,02h ; Cargar dato
OUT 02h ; y enviar al PORTB
RET ; Regresa al programa principal
----------------------------------------------------------------------------------------------
Fig. 1.54 Conexin de un motor DC
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
46
AUTOEVALUACION
1. Qu integrados forman parte de las siguientes escalas de integracin: Baja escala de integracin (SSI),
mediana escala de integracin (MSI), alta escala de integracin (LSI) y muy alta escala de integracin
(VLSI).
2. Complete el siguiente cuadro comparativo de los mtodos de diseo digital, segn el ejemplo.
CUADRO COMPARATIVO DE LOS METODOS DE DISEO DIGITAL
CLASE DE DISEO METODOS DE DISEO PARAMETROS DE
EVALUACION
Con circuitos SSI
(Especificar Qu elementos
forman parte de esta escala de
integracin?)
Procesos sistemticos como el
Algebra de Boole, los Mapas de
Karnaught, Tablas de verdad, etc.
Menor nmero de elementos.
(Especificar cules elementos?)
Con circuitos MSI
Con circuitos LSI
Con circuitos VLSI
3. Cules cree usted seran las ventajas de la utilizacin de los sistemas basados en microprocesadores frente
a los sistemas electrnicos de lgica cableada? Explique cuatro de ellas.
4. Anotar cuatro aplicaciones de los microprocesadores en las siguientes ramas tecnolgicas: industria,
medicina, telecomunicaciones, informtica, medicin y clculo, consumo domstico, comercio y banca.
5. Investigar el funcionamiento de una de las aplicaciones anotadas anteriormente en cada caso.
6. Busque en libros, revistas tcnicas nacionales o internacionales o en sitios de INTERNET, algn artculo
sobre la evolucin y desarrollo de los microprocesadores y haga un resumen para presentarlo. Indique la
fuente de consulta.
7. En los sitios de INTERNET, consulte el funcionamiento de un equipo de comunicaciones que utilice el
microprocesador y haga un resumen para presentarlo. Indique la fuente de consulta.
8. En los sitios de INTERNET, consulte el funcionamiento de un equipo empleado en la automatizacin
industrial que utilice los microprocesadores y haga un resumen para presentarlo. Indique la fuente de
consulta.
9. De acuerdo a sus conocimientos, realice un diagrama de bloques de los componentes de un computador
personal (PC).
10. Por qu, segn Ud., no se emplea una PC en los procesos industriales, debindose para ello disear
dispositivos dedicados a la industria?
11. Defina los siguientes trminos especificando su funcin segn sea el caso: Unidad Aritmtica y Lgica
(ALU), Unidad de Control, Memoria RAM, Unidad de Entrada/Salida, Perifrico (enumere 10 de ellos),
Bus (indique los tipos y su funcin), Instruccin, Programa, Software, Hardware, Firmware, Unidad
Central de Procesamiento (CPU).
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo 47
12. Indique la funcin de los registros siguientes: Contador de programa, Registro de trabajo o Acumulador,
Registro de Instrucciones, Registro de estado, Registro Puntero de Pila (SP).
13. Cules son las caractersticas de una memoria?
14. En qu se diferencia un bus de datos y direcciones?
15. Qu parte de un sistema de microprocesadores se encarga se sincronizar el funcionamiento con los dems
dispositivos y mediante que lneas lo hace?
16. Cuntas lneas forman el Bus de Direcciones y de qu depende este nmero?
17. Adems de la CPU qu circuitos integrados interviene en un sistema de microprocesadores?
18. Cules son las diferencias entre un PPI8155 y un PPI8255?
19. Qu es un ciclo de instruccin. Describa las fases que lo conforman en base a un ejemplo?
20. Cul es la diferencia entre un programa y un algoritmo?
21. Cules son las funciones de: la seal de RESET, del Oscilador, del integrado 8212?
22. Enumere las caractersticas tcnicas del microprocesador 8085A.
23. Investigue las caractersticas de los microprocesadores MC6800 y Z80 y realice un cuadro comparativo
entre los tres microprocesadores.
24. Qu son los Mnemnicos y cmo se obtienen los cdigos de mquina con ayudas computacionales?
25. Qu son los modos de direccionamiento? Explique dos de ellos en base a un ejemplo.
26. Indique y explique los pasos a seguir para guardar datos en una memoria RAM.
27. Cules son las diferencias entre un microprocesador de Arquitectura Von Neumann y Harvard.
28. Qu elementos componen un sistema bsico de un microprocesador de 8 bits 8085A?
29. En funcin de que se clasifican las instrucciones de un microprocesador y cules son estos tipos?
30. Qu funcin realizan las lneas de control y de donde toman la informacin?
Sistemas basados en microprocesadores Parte I
Ing. Gerardo Collaguazo
48
BIBLIOGRAFIA
1. Luque Sacaluga David, Electrnica Digital y Microprogramable, Ed. Alfa-Omega, Mexico
2006.
2. Vallejo Horacio, Microprocesadores y Microcontroladores, Ed. Televisa SA, Mexico 2002.
3. Moga Mihai, Conducerea proceselor din Energetica cu Calculatoare de Proces, Ed. Miton,
Timisoara 1999.
4. Moga Mihai, Sisteme cu Microprocesor Z80, Ed. Mirton, Timisoara 1998.
5. Enciclopedia Electrnica Digital y Microprocesadores, CEKIT 1999.
6. Kammerer y otros, Mdulos de la Microelectrnica, Curso de Electrnica III, Libro de Texto,
GTZ, Munchen 1992.
7. Vallejo Horacio, Revista Saber Electrnica No. 126.
8. Vallejo Horacio, Revista Saber Electrnica No. 132.
9. Datasheets: CI8212, uP 8085A, 8155, PPI 8255A, RAM6116, EPROM2716, EEPROM2816.
Direcciones de Internet.
1. www.monografias.com/trabajos32/microprocesador-8085/microprocesador-8085.shtml
2. www.alpertron.com.ar/8085.htm
3. http://www.iuma.ulpgc.es/~armas/asignaturas/fundamentos/tutorial/intel8085/ppframe.htm
4. http://www,webelectronica.com.ar/news05/news06.htm
5. www.geocities.com/hesovi/introduccionA|8085.pdf
6. www.mmtraining.com.ve/cursos/DanyCocchioni/Microprocesador.htm

You might also like