Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Parte I
CAPITULO 1
Parte I
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.
Evolucin
xxxx: Comunicaciones y controles con elementos mecnicos
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
Ao
Fig.1.1 Evolucin de los controladores industriales
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.
EQUIPO A CONTROLAR O
PROCESO INDUSTRIAL
SENSORES O
CAPTORES
Informaciones
del sistema
ACTUADORES
UNIDAD DE
CONTROL
Elementos de programaci n
Ordenes a ser
ejecutadas
Informaci n recibida
OPERADOR
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.
Ing. Gerardo Collaguazo
Parte I
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
Mantenimiento
Costo
Adaptacin de procesos
Posibilidades de ampliacin
Interconexin y cableado exterior
Estructuracin en bloques independientes
CABLEADA
Mucho
Bajo
Difcil
Bajas
Mucho
Difcil
PROGRAMABLE
Poco
Alto
Fcil
Altas
Poco
Fcil
ANALISIS
PROBLEMA
PROGRAMADOR
PROGRAMA
SISTEMA mP
SOLUCION
CONOCIMIENTOS
Unidad E/S
CPU o mP
UNIDADDE
DE
UNIDAD
ENTRADA
ENTRADA
UNIDADDE
DE
UNIDAD
CONTROL
CONTROL
MEMORIA
MEMORIA
RAM
RAM
UNIDADDE
DE
UNIDAD
SALIDA
SALIDA
ALU
ALU
MEMORIA
MEMORIA
ROM
ROM
Unidad de memoria
Parte I
SISTEMADE
DEmP
mP
SISTEMA
e
INTERFACES
e INTERFACES
SEAL DE
ALARMA
SEAL DE SEGURIDAD
HORNO ELECTRICO
SE AL DE
REFERENCIA
SEAL DE
ENERGIZACION
INT. DE SEGURIDAD
ON
0 6 5
OFF
PANEL DE CONTROL
SENSOR DE TEMP.
SENSOR DE TEMP.
(TERMISTOR,
(TERMISTOR,
TERMOCUPLA,
TERMOCUPLA,
RTD, etc)
RTD, etc)
INTERFACE DE
INTERFACE DE
ENTRADA
ENTRADA
(CONVERTIDOR A/D)
(CONVERTIDOR A/D)
INTERFACE DE
INTERFACE DE
ENTRADA
ENTRADA
(CONVERTIDOR A/D)
(CONVERTIDOR A/D)
IN
IN
SISTEMA DE mP
SISTEMA DE mP
(CPU, RAM, ROM, E/S)
(CPU, RAM, ROM, E/S)
OUT
ELEMENTO
ELEMENTO
CALEFACTOR
CALEFACTOR
INTERFACE DE
INTERFACE DE
SALIDA
SALIDA
(TRANSISTOR,
(TRANSISTOR,
RELE, TRIAC, etc)
RELE, TRIAC, etc)
SELECTOR DE TEMP
SELECTOR DE TEMP
(PERILLA GRADUADA
(PERILLA GRADUADA
EN C)
EN C)
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.
Parte I
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.
Bus de datos
Bus de direcciones
CPU
CPU
CLK
Bus de control
Bloque de
memoria
RAM
ROM
Perifricos
ricos de
de
Perif
entrada
entrada
Bloque E/S
Entrada
Salida
Perifricos
Perifricosde
de
salida
salida
1.1.2.1
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.
Parte I
UNIDAD DE CONTROL
UNIDAD DE CONTROL
Ejecutaeeinterpreta
interpretalas
lasinstrucciones.
instrucciones.
Ejecuta
Sincroniza el funcionamiento de
Sincroniza el funcionamiento de
todos los componentes del sistema
todos los componentes del sistema
CPU o mP
Procesa informacin binaria
en base de un programa escrito
en la memoria
UNIDADARITMETICO
ARITMETICO-LOGICA
-LOGICA
UNIDAD
Ejecutaoperaciones:
operaciones:
Ejecuta
Aritmticas:
ticas:+,+,-,-,complemento
complementoaados.
dos.
Aritm
Lgicas: and, or, not, xor, comparacin.
Lgicas: and, or, not, xor, comparacin.
Adem s: desplazamiento, rotaci n y traslado
Adem s: desplazamiento, rotaci n y traslado
de informacin digital
de informaci n digital
BLOQUEDE
DEREGISTROS
REGISTROS
BLOQUE
Memoriaspara
paraalmacenamiento
almacenamientotemporal
temporal
Memorias
dedatos
datosnecesarios
necesariospara
paraeleldesarrollo
desarrollode
de
de
lasactividades
actividadesdel
delmP
mP. .
las
REG. ESTADOS
SR
SR
ACUMULADOR
AC
AC
REGISTROS
REGISTROS
DEPROPOSITO
PROPOSITO
DE
GENERAL
GENERAL
CONTADOR DE PROG.
PC
PC
REG. INSTRUCCIONES
IR
IR
ALU
ALU
BUSES INTERNOS
REGISTROINTERMEDIO
INTERMEDIO
REGISTRO
DEDATOS
DATOS
DE
BUS DE DATOS
LOGICADE
DE
LOGICA
CONTROL
CONTROL
YY
TEMPORIZACION
TEMPORIZACION
REGISTRO
REGISTROINTERMEDIO
INTERMEDIO
DE
DEDIRECCIONES
DIRECCIONES
BUS DE DIRECCION
BUS 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.
6
Parte I
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.
Parte I
BUS DE DIRECCIONES
ALIMENTACION
BUS DE DATOS/DIRECCIONES
2
RELOJ
CONTROL DE
INTERRUPCIONES
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
PUERTA DE
E / S SERIE
BUS DE CO NT RO L
M IC R OP R OC ES A D O R
8 08 5
PUESTA A CERO
1.1.2.2
BLOQUE DE MEMORIA
Nr. De bits
1
0
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
Ing. Gerardo Collaguazo
Parte I
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.
MODULODE
DEMEMORIA
MEMORIA
MODULO
MEMORIADE
DEVALOR
VALORFIJO
FIJO
MEMORIA
(SOLOLECTURA)
LECTURA)
(SOLO
MEMORIA
MEMORIALECTURA/ESCRITURA
LECTURA/ESCRITURA
(ACCESO
(ACCESOALEATORIO)
ALEATORIO)
RAM ESTATICAS
RAM ESTATICAS
(SRAM)
(SRAM)
PROM
PROM
PROGRAMABLES
PROGRAMABLES
POR
EL
POR ELUSUARIO
USUARIO
RAM DINAMICAS
RAM DINAMICAS
(DRAM)
(DRAM)
PROM
PROM
EPROM
EPROM
OTP
OTP
ROM
ROM
ALMACENAMIENTO
PROGRAMABLES ALMACENAMIENTO
PROGRAMABLES
SECUNDARIO
SECUNDARIO
POR
MASCARA
POR MASCARA
EEPROM
EEPROM
FLASH
FLASH
Parte I
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.
10
Parte I
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.
11
Parte I
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.
12
Parte I
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
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.
13
Parte I
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.
14
Parte I
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.
15
BUS DE
DATOS
MICROPROCESADOR
BUS DE
DIRECCIONES
ENTRADAS
DE CONTROL
BUS DE
CONTROL
SALIDAS
DE CONTROL
Parte I
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:
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 perifricos). 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.
CLK OUT
CLK IN
RESET IN
INTP IN
HOLD
M IC R O P R O C E S A D O R
RESET OUT
INTP OUT
HLDA
WRITE
READ
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.
Ing. Gerardo Collaguazo
16
1.1.2.4
Parte I
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.
a. Cristal de cuarzo
b. Red RC (3MHz)
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.
1.1.2.5
ENTRADA
ENTRADA
mP
mP
++
Memoria
Memoria
ESTADO
ESTADO
SALIDA
SALIDA
Fig. 1.23
Mdulos de entrada/salida
PERIFERICOS
PERIFERICOS
LEDs
LEDs
DISPLAYs
DISPLAYs
ZUMBADORES
ZUMBADORES
INTERRUPTORES
INTERRUPTORES
SENSORES
SENSORES
ANALOGICOS
ANALOGICOS
TECLADOS
TECLADOS
Etc.
Etc.
17
Parte I
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.
MICROPROCESADOR
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
BUS DE DATOS
puerto E/S se reducen a seales de lectura y
D0-D7
escritura. Estas seales pueden venir ya
PS
codificadas o necesitar una codificacin
CSO
CS
previa.
Adaptar fsicamente el microprocesador a los
requisitos del perifrico. Esto incluye la
PE
utilizacin de manejadores (drivers) de lneas
CS1
de transmisin, eliminadores de ruido,
CS
optoacopladores, conversores de formato serie
a paralelo, conversores de seal, etc.
0 1 2 3
Temporizar la transferencia de informacin
DECODIFICADOR
con el fin de garantizar que el flujo de datos
S1 S0
EN
entre el microprocesador y el perifrico ese
A0
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).
A1
ALE
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.
PUERTO DE SALIDA
MICROPROCESADOR
mP
D0
D1-D7
A0 -A14
CLK
A15
WR
LINEA DE ESCRITURA
LINEA DE SELECCION
PERIFERICO
Parte I
PERIFERICO
PUERTO DE ENTRADA
H
D
L
CLK
MICROPROCESADOR
LINEA DE SELECCION
A15
D0
A0-A14
LINEA DE LECTURA
RD
D1 -D7
A0-A14
PUERTO DE SALIDA
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
D0-D7
A15
WR
LINEA DE ESCRITURA
DISPOSITIVO PERIFERICO
a
b
c
d
e
f
g
dp
CS
LINEA DE SELECCION
LINEA DE HABILITACION
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.
Ing. Gerardo Collaguazo
19
Parte I
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
Visualizadores (Led, LCD, etc)
Pantallas TRC
Impresoras (lser, de jet de tinta, de impacto,etc)
Motores elctricos y actuadotes
Terminales interactivos
Memorias secundarias
Unidades de disco magntico
Enlaces de comunicaciones
Lneas telefnicas
SALIDA
ENTRADA/SALIDA
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 milisegundos
para estabilizarse en su nuevo estado. En esta categora tenemos los displays luminosos, rels,
microinterruptores, sensores de posicin, contactos, botoneras, etc.
BUS DE
DATOS
PUERTO DE
SALIDA
0
IN
D EMUX
CS
SEAL DE
SELECCION
CLK
S1
CONTADOR
S0
1
2
3
SALID A DE DAT OS
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.
20
Parte I
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.
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.
LINEA DE
DATOS
RECEPTOR
RELOJ
TRANSMISOR
RECEPTOR
TRANSMISOR
LINEAS DE
DATOS
RELOJ
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
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.
21
Parte I
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
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).
22
Parte I
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 triestado. 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.
STB
ALE
DO0
DI1
DI2
DO1
DO2
A1
A2
AD3
DI3
D03
A3
AD4
AD5
DI4
DI5
DO4
DO5
A4
A5
AD6
AD7
DI6
DI7
DO6
DO7
A6
A7
DS1
BUS DATOS
8212
DI0
AD1
AD2
MD
AD0
GND
8085
INT
BUS DIRECCIONES
CLR
Vcc
DS2
+5V
A0
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.
23
1.2.2
Parte I
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.
A0
A1
A2
E1
E2
E3
O7
GND
1
2
3
4
5
6
7
8
74LS138
Para llevar a cabo estos procesos emplearemos el direccionamiento por decodificacin, aunque hay otros
mtodos posibles.
16
15
14
13
12
11
10
9
Vcc
O0
O1
O2
O3
O4
O5
O6
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
0
0 0
0
0 1
0
1 0
0
1 1
1
0 0
1
0 1
1
1 0
1
1 1
O0
0
1
1
1
1
1
1
1
O1
1
0
1
1
1
1
1
1
O2
1
1
0
1
1
1
1
1
O3
1
1
1
0
1
1
1
1
O4
1
1
1
1
0
1
1
1
O5
1
1
1
1
1
0
1
1
O6
1
1
1
1
1
1
0
1
O7
1
1
1
1
1
1
1
0
24
Parte I
En la Fig. 35 puede apreciarse el modo en que se puede conectar el decodificador al microprocesador 8085.
+5V
Vcc
O6
CS6
A14
A2
O5
CS5
A13
A1
O4
A12
A0
CS4
CS3
O2
CS2
O1
CS1
O0
CS0
E2
E1
GND
8085
O3
4K7
CS7
E3
74LS138
O7
A15
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
Ing. Gerardo Collaguazo
25
Parte I
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.
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
D2
GND
1
2
3
4
5
6
7
8
9
10
11
12
RAM 6116
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.
24
23
22
21
20
19
18
17
16
15
14
13
Vcc
A8
A9
WE
OE
A10
CS
D7
D6
D5
D4
D3
(Recuerde que las seales marcadas en negrita tienen nivel activo BAJO).
Fig. 1.36 Memoria RAM 6116
E3
O7
A14
A13
A12
A11
A10
A2
A1
A0
O6
O5
O4
O3
O2
A9
A8
O1
O0
+5V
CS
74LS138
WR
RD
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
WE
OE
8212
8085
A10
A9
A8
Vcc
GND
RAM 6116
A15
A7
A6
A5
A4
D7
D6
D5
D4
A3
A2
A1
A0
D3
D2
D1
D0
26
Parte I
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.
28
27
26
25
24
23
22
21
20
19
18
17
16
15
Vcc
A14
A13
A8
A9
A11
CS
A10
OE
D7
D6
D5
D4
D3
+5V
A11
A10
A9
A8
Vcc
A15
Vpp
A14
A13
A12
8085
A11
A10
A9
A8
OE
RD
EPROM 27256
1
2
3
4
5
6
7
8
9
10
11
12
13
14
AD7
AD6
AD5
A7
A6
A5
D7
D6
D5
AD4
AD3
A4
A3
D4
D3
AD2
AD1
A2
A1
D2
D1
AD0
A0
8212
Vpp
A12
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
D2
GND
EPRO M 27256
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.
D0
GND
27
Parte I
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:
-
1.2.4
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.
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.
28
Parte I
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.
29
Parte I
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
RAM 6116-1
RAM 6116-2
RAM 6116-3
Al mismo tiempo, los terminales del decodificador 74LS138 que quedan libres para aadir nuevos elementos al
sistema, respondern a las siguientes direcciones:
CS3
CS4
CS5
CS6
CS7
1.2.5
B000H
C000H
D000H
E000H
F000H
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.
Ing. Gerardo Collaguazo
30
Parte I
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.
31
PC0
PC1
PC2
PUERTO C
PC3
PC4
PC5
D0
AD0
D1
AD1
D2
AD2
BUS
D3
AD3
8085
D4
AD4
D5
AD5
D6
AD6
D7
AD7
ALE
ALE
WR
WR
RD
RD
IO/M
IO/M
CS4
CS
CLK TIMER IN
OUT
37
38
39
1
2
5
12
13
14
15
16
17
18
19
11
10
9
7
8
3
Parte I
100 nF
40
20
8155
21
22
23
PA0
PA1
PA2
24
27
25
26
28
29
30
31
32
33
34
35
36
PA3
PA4
PA5
PA6
PA7
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
6
4
PUERTO A
PUERTO B
TIMER OUT
RESET
RESET
OUT
15pF
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
Puerto B
Puerto C
Timer Low
Timer High
Registro de estado
PORT = C1H
PORT = C2H
PORT = C3H
PORT = C4H
PORT = C5H
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
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.
32
Parte I
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
Puerto B
Puerto C
Timer Low
Timer High
Registro de estado C/E
RAM 8155
C401H
C402H
C403H
C404H
C405H
C400H
C000H hasta C0FFH
En la Fig. 42 puede verse la representacin esquemtica de esta conexin, que ser la que finalmente
utilizaremos en nuestro sistema.
+5V
PUERTO C
PC0
PC1
PC2
PC3
37
38
39
1
PC4
PC5
AD0
AD1
AD2
AD3
2
5
12
13
14
15
D0
D1
D2
BUS
D3
8085
D4
AD4
AD5
D5
AD6
D6
D7
AD7
ALE
ALE
WR
WR
RD
RD
A10
IO/M
CS
CS4
CLK TIMER IN
OUT
16
17
18
19
11
10
9
7
8
3
100 nF
40
20
8155
21
22
23
24
PA0
PA1
PA2
PA3
27
25
26
PA4
PA5
PA6
28
29
30
PA7
PB0
PB1
31
32
PB2
PB3
33
34
35
PB4
PB5
PB6
36
PB7
6
4
PUERTO A
PUERTO B
TIMER OUT
RESET
RESET
OUT
15pF
1.3
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.
Ing. Gerardo Collaguazo
33
Parte I
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
CPU
CPU
MEMORIADE
DE
MEMORIA
PROGRAMA
PROGRAMA
DATOS
YYDATOS
Parte I
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.
MEMORIA
MEMORIADE
DE
PROGRAMA
PROGRAMA
(ROM)
(ROM)
CPU
CPU
MEMORIADE
DE
MEMORIA
DATOS
DATOS
(RAM)
(RAM)
OSC
PC
PC+1
35
Parte I
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.
MEMORIA
MEMORIA
DE
DEDATOS
DATOS
ALU
MEMORIA
MEMORIA
DEDATOS
DATOS
DE
W
W
ALU
ACUMULADOR
ACUMULADOR
(Acumulador). En los
salida del mismo esta
operandos de cualquier
de cualquier operacin
1.3.3
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
Ing. Gerardo Collaguazo
36
Parte I
CODIGO FUENTE
TRADUCTOR
CODIGO FUENTE
PROGRAMA EN
ENSAMBLADOR,
BASIC, etc.
ENSAMBLADOR,
COMPILADOR,
INTERPRETE, etc
PROGRAMA EN
LENGUAJE DE
MAQUINA
Fig. 1.48
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
SUM1:
SUM2:
RESUL:
OP-CODE
ORG
EQU
EQU
EQU
MVI
MVI
ADD
STA
HLT
OPERANDOS
0000H
08H
07H
0020H
A,SUM1
B,SUM2
B
RESUL
COMENTARIOS
;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
37
Parte I
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
38
Parte I
A716H
Direccionamiento por Registro. La instruccin lleva el registro en el que est el dato que va a ser
tratado. Por ejemplo:
MOV
MOV
A,B
B,C
39
Parte I
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
Para las prcticas vamos a utilizar el entrenador del microprocesador 8085A del laboratorio, que tiene el siguiente
diagrama de bloques.
40
Parte I
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
----------------------------------------------------------------------------------------------
41
Parte I
42
Parte I
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
;-----------------------------------------;NOMBRE : TEMPORIZ
;FUNCION : Realiza un tiempo de espera
;PRECONDICION : Contador=CONTA
;POSTCONDICION : Ninguna
;-----------------------------------------0000
0000
0001
0002
0003
0004
0005
0006
0007
000A
000B
F5
1B
7A
B3
00
00
00
C2 01 00
F1
C9
000C
TEMPORIZ:
PUSH PSW
SALT1
DCX D
MOV A,D
ORA E
NOP
NOP
NOP
JNZ SALT1
POP PSW
RET
END
43
A7
x
x
x
x
x
x
A6
x
x
x
x
x
x
DIRECCIONES I/O
A5 A4 A3 A2
x
x
x
0
x
x
x
0
x
x
x
0
x
x
x
0
x
x
x
1
x
x
x
1
Parte I
A1
0
0
1
1
0
0
A0
0
1
0
1
0
1
SELECCIN
x puede ser 0 o 1
Registro de Comandos/Estados
PORTA. Propsito general E/S
PORTB. Propsito general E/S
PORTC. Propsito general E/S o control
Registro inferior de temporizacin
Registro superior de temporizacin
3
PC
2
PC
1
PB
0
PA
PA<7:0>
PB<7:0>
PC<5:0>
0 - Entrada
1 - Salida
00 - Entradas
11 - Salidas
01 - Activa las interrupciones
10 Activa las interrupciones
ORG
0040h
; Direccin de inicio de subrutina
MVI
B,60h
; Cargar contador externo
MVI
C,0FFh
; Cargar contador interno
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
---------------------------------------------------------------------------------------------Tiempo
Loop1
Loop2
44
Parte I
S0
0
1
0
1
Operacin
Stop
Giro a la derecha
Giro a la izquierda
No se utiliza
MOTOR
ORG
MVI
OUT
LXI
MVI
OUT
0000H
A,02h
00
SP,00FFh
A,00h
02h
;
;
;
;
;
IN
ANI
SUI
JZ
01h
03h
00h
MOTOR
IN
ANI
SUI
JNZ
CALL
01h
03h
01h
MOTOR
MOTOR_DER
;
;
;
;
;
IN
ANI
SUI
JNZ
CALL
01h
03h
02h
MOTOR
MOTOR_IZQ
;
;
;
;
;
JMP
MOTOR
; --------------------------------------------------------------------------------------ORG
MVI
OUT
RET
0040h
A,01h
02h
;
;
;
;
ORG
MVI
OUT
RET
0050h
A,02h
02h
;
;
;
;
----------------------------------------------------------------------------------------------
45
Parte I
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
(Especificar Qu elementos
forman parte de esta escala de
integracin?)
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).
46
Parte I
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?
47
Parte I
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.
1.
2.
3.
4.
5.
6.
Direcciones de Internet.
www.monografias.com/trabajos32/microprocesador-8085/microprocesador-8085.shtml
www.alpertron.com.ar/8085.htm
http://www.iuma.ulpgc.es/~armas/asignaturas/fundamentos/tutorial/intel8085/ppframe.htm
http://www,webelectronica.com.ar/news05/news06.htm
www.geocities.com/hesovi/introduccionA|8085.pdf
www.mmtraining.com.ve/cursos/DanyCocchioni/Microprocesador.htm
48