Академический Документы
Профессиональный Документы
Культура Документы
Prácticas de laboratorio
de sistemas digitales
·AM
!A76.8
8.4
José Vega Luna • Gerardo Salgado Gu zmán
4.4 Roberto Sánchez González
UNM'RSIDAD ~
AUTONQMA
METROPOlITANA
c...""'•• """'" Azcapotzalco
José Ignacio Vega Luna
¡lZ CAPOTZALCO
COS<I BIBLl01KA
2325GG
289~630
UNIVERSIDAD
AUTONOMA
METROPOLITANA
lA.
Casa abierta al Ilempo Azcapotzalco
" N IVERSIDAD AUTÓNOMA METROPOLITANA
Rector Gener:l.!
Dr. Julio Rllbio Oca
Secret:lria Gener:ll
1\11 . CI/ C. Magdalena Fresán Orozco
HectOl"
Lic. EdmlllldoJacobo Molina
Secret:1. rio
,\litro. Adriáll de Garay Sánchez
Impreso en México
Índice
Pró logo 11
Práctica 1
El micro procesado r Z80 13
Práctica 2
Ensamblado r Z80-Parte 1 15
Práctica 3
Ensamblador Z80-parte II y t..ansmisión paralelo 21
Práctica 4
Transmisió n serie 31
Práctica 5
Te mporizació n (el Z80-CTC parte I) 43
Práctica 6
Contadores de eventos (el Z80-CTC parte II) 53
Práctica 7
Conversió n digital-analógica 57
Práctica 8
Conversió n analógica-digital 67
Bibliografía 75
Agradecimientos
Los autores
abril de 1994
Prólogo
El microprocesador Z80
Objetivos
Trabajo a desarrollar
ORG OOOH
NOP
NOP
NOP
LOOP: OUT (OOH), A
JR LOOP
END
14 EL MICROPROCESADOR ZBO
[0=,<0" I
rfI/oj
+
r-ffi 1P.Jt l
r:J.OCK RE.St.7~
A data bw DO
D1 8 D7
Aa ~ add""
lJJO add""
AH
CPU EPROM
decodificación
- -YO
JORQ
osciloscopio
Q (
-
Práctica 2
Ensamblador Z80-parte 1
Objetivos
Introducción teórica
Carga el registro A
con el valor inicial
N
ji
CiclosT
LOA, N (7)
LOOP: DECA (4)
JP NZ, LOOP (7) si Z= 1 (12) si Z=O
Ciclos T
LO B, M
LOA, N
LAZO A: DECA
JP NZ, LAZO A
DEC B
JP NZ, LAZO B
Trabajo a desarrollar
r.irruito tÚ
reloj
rl rinuito de
re'"
l
data bus /
D.o
CLOCK RESET
D7
<" '-J
8 /
"-
,,/'
DO
D7
...
Z80
AO
AH . addms
memoria
CPU /
EPROM
addrt!55 T
~ DO
yo
D7
addTt!55
•
,8 mtm01'Ía
RAM
/
Ir
decodificaciim
- - -
Y2 Yl YO
'v
I I I
la/eh
r
J 2 7] 4
- - - -
I I I I I I I I
- - - -
I I I I I I I I
diJplay'
- - - -
Práctica 3
Ensamblador Z80-parte 11 y
transmisión paralelo
Objetivos
Introducción teórica
escri bie ndo el dato e n el registro de datos de una inte rfaz o le-
yendo un dato de e ntrada del mismo registro de la interfaz, o también
puede realizarse usando las señales de control y flujo de info rmació n
o de handshaking. Normalmente, un carácter se transfie re a un
instante de tie mpo y no existe el problema de dete rminar el final
de l carácte r o buscar e l inicio de la transmisió n. No 'hay un
formato bie n defini do como e n la transmisió n serie, pe ro si existe
temporizació n (un o rde namie nto e n e l tiempo) de las señales
que coordinan la actividad e ntre un pe rifé rico y una interfaz, la
transm isión parale lo se de be de considerar síncrona, Si sólo se
utilizan seña les de contro l de fluj o de la informació n , la transmi-
sión debe ser conside rada asíncrona ,
• Una inte rfaz paralela puede diseñarse sólo para o peracio nes de
, alid a, de e ntrada o ambas con un conjunto de líneas separadas,
o reali za ndo ambas o peracio nes con un mismo conjunto de líneas
bid ireccio nales, Po r ejemplo, una inte rfaz se puede usar para
e nviar datos a una impresora o para recibir datos de una lecto ra
de cin ta de pa pel.
El 8255A tiene tres puertos de ocho líneas cada uno (puertoA ,puerto
B y puerto O y un llamado registro de control. Los tres puertos sirve n
rara transfe rir datos e n forma paralela e ntre un pe rifé rico y un
111 icroprocesador. El registro de control sirve para recibir de l softwa re
de l siste ma una palabra de control que programa el modo de o peració n
del 8255A. Así pues, el 8255A utiliza cuatro puertos de entrada/ salida
del siste ma .
El 8255A divide de manera lógica las 24 líneas de sus tres puertos
e n dos grupos funcionales:
Operaciones de salida:
Operaciones de entrada:
Modo J (entrada):
• Flip-Flo p INTE A PC4
• Flip-Flo p INTE B PC2
Modo 1 (salida):
• Flip-Flo p INTE A pc6
• Flip-Flo p INTE B PC2
Modo 2:
• Flip-Flo p INTE 1 (operaciones de salida) PC6
• Flip-Flo p INTE 2 (operaciones de e ntrada) PC4
28 ENSAMBLADOR ZBO-PARTE 11 y TRANSMISiÓN PARALELO
Trabajo a desarrollar
cin:uito eh cirruito tk
reWj r-
Test!
! - - databw
"> 1).0
A
CL.oCK RESET 1).0
~
D7 8 / D7
AO ...
Z80 AI5 ... addrns
memoria
CPU EPROM
I
addTesS l'
1).0
v 1)7
INT o NMI
--
RDWR •
addms
8
i -'
memoria
RAM
•
tkcodificacián
tk tn='1M -
Y2
--
r
tkcodificacián
tk memoria
YI YO
1
es
I
lNT -K'R Al
I I
RD
PPI8255A
AO DO A..
.... '--¡
1)7
l!::;>[
¿ ¿ ~ 'nuMU laleh I
~
e8
,2 ,~ I_~3 IU
l 4
display
Transmisión serie
Objetivos
Introducción teórica
terminal
~r--------~I+O-----+I computadora
~---~
halfdup/¿x
terminal
011---------1 interfaz
~----
---+
11+0
computadara
~----~
fuU-duP/¿x
Podemos decir que e ntre las interfaces serie más comúnmente usadas
se e ncue ntran e l 8251A de Intel, el Z80-SIO, e l Z80-DARTde Z ilog y
e l ACE 8250 de Western Dig ital, por mencionar algunos. En esta
p ráctica usare mos el 8251A de Intel, también conocido como USART
(Receptor/transmisor universal sín cro";o/asíncrono), para la transmi-
sión de datos serie asíncrona .
El 8251A convie rte los datos recibidos de una CPU e n fo rma
paralelo a un fo rmato de bits e n forma serie e n la transmisió n y
tambié n convie rte una cadena de bits que se recibe n en fo rma serie
a un dato de 8 bits listo para ser le ído por un microprocesador. Es
decir, el 8251A tiene tanto un transmisor como un recepto r que pue-
den o pe rar de manera inde pendiente al mismo tiempo o f ull-duplex.
Durante la explicació n que haremos a continu ación del 8251A es
recomendable qu e el lecto r se apoye en las hojas de datos del manu al
del fabricante.
daios
paÚJiTra de comando
Así pu es, pode mos decir que la palabra de modo es la que define
las características gene rales de operació n del 8251A y la palabra de
comando contro la la o peración del modo seleccionado en la primera ,
reali za ndo funciones tales como: habilitar/ deshabilitar el transmisor
y/ o el receptor; li mpiar las banderas de error y manejo de las sena les
de control de MODEM.
Trabajo a desarrollar
marca bit de
inicio
bits del dato
bit de bitsde~
paridad parada
;..--_...1.-_...1
t t
DO D1
t
DX
t
generado p'"
el 8251
(])
se envía el ASCII del "1"
TxD f---"-=====-=---+I RxD
resultado: error
(])
se envía el ASCII del "1 "
TxD RxD
@
se recibe el ASCII tUL "1"
RxD TxD
@
8 251A se envía el ASCII tUL "3"
{ ti~~,
expiró ti timl! out
TRANSMISiÓN SERIE 39
(j)
St tnVÍ4 ti ASCII del "1 "
TxD R:xD
~
" recibe e/ ASCII cUt "1-
R:xD TxD
(i)
St mVÍ4 ti ASCJl del "3 "
8251A
G)
St Rcibt 'als!o ' di[ermu
1[""/ ACII cUt ";-
(j)
St mVÍ4 ti ASCJI del "1"
TxD R:xD
~
" recibe ,/ ASCll cUt "1-
R:xD TxD
(i)
St tnvía ti ASCJ] del "3"
8251A
G)
"recibe e/ASCll cUt "]"
40 TRANSMISiÓN SERIE
Z80 Al>
~O
.. addrtss
memoria
a<ld,,", / EPROM
CPU t
" DO
/1>11' . D7
• --
NMI RD WR
8 - addnss
memoria
,-- / RAM
'¡ , ¡,
~
dtcodificacián
CI.K
es DO .. D7
- --
Y2 Y2 Y2
r
lL
l
I
decodificación I ft>[
de puutos lateh I
8
1 2 ;;'3 4
1_' 11_1 1-11 1- 1 display'
es
+ :w
RD WR AO
I
M
I I I
M' S
I I I I
S
1m'
PPI8255A ~ ti, --r-'
~~~mumu
• • •
~ display
v"
o 5
TRANSMISIÓN SERIE 41
gnu:rador tk
TxC y RxC
-
TxC
-
RxC -
CTS -
--
USART 8251A DSR
--
GND ~
TxD RxD
&
-
Nol:ls:
• Se puede coloc:l r un pue nte entre las líneas TxD y RxD de l USART 825 1A parJ
simula r la rece pció n de dJtos serie.
• La ve locidad de transmisión/recepción serie seci de 1200 b.p.s.
• El 825 1A (rabajará e n modo f lll/ d llplex.
Práctica 5
Objetivos
Introducción teórica
CLOCK/
lógica tÚ TRlGCER O
control
interna ZEROCOUNT/
datos 77MEOUTJ
+7-
, bus tú
--.-..,"--1
CLOCKj
TRlGGER 1
m trada/ 1-4.. ZEROCOUNT/
TlMEOUT2
salida
CLOCK/
lógica tÚ TRlGC.ER 2
m ntTOl tÚ
intarupcicnus
• CLOCK/
TRJGCER J
limas tÚ control
de interrupáun
a pro piado para usarse con el Microprocesador Z80 por ser de la misma
fami lia , pe ro esto no implica que un 8253 no pueda conectarse a un
Microp rocesador Z80 .
Durante la siguie nte explicació n del Z80-CTCes recomendable que
el lecto r se apoye en las ho jas de datos del manu al del fabricante.
ngistro
lógica tU corutante tU
""'/rol t;""~
(8 bIts)
/
/.
bw tU datru anterno
~
ngistro
lógica de constante de
control tiempo
(8 bits)
~
, ~
I
bus intn-no
7
reloj
del contador
sutema
prescalar
(8 bits) • tkscrndente
CLK
(8 bits)
Trabajo a desarrollar
Notas:
• Se probad que, en efecto, el Z80-CTC se encuentre interrumpiendo la CPU Z80
cada segundo, colocando la punta del osciloscopio en la entrada INT de I:I CPU.
• La CPU Z80 se debed programar y trabajar en modo 2 de intemtpción, en cuyo
caso el Z80-CJ'C le deberá enviar un vector de infemlpción cada vez que se le
reconozca su solicitud de intemtpción.
11111111111
?RQ4630
50 TEMPORIZACiÓN (EL Z8O-CTC PARTE 1)
L ~ I
TV
1 1
'.-.1-
_'M • • 1'_'
11'
1_1
,
1-"':, I •...,:. I
l. :.1. :, 1
liIrItpo rWJl M Al . $ S
TEMPORIZACiÓN (EL Z80-crC PARTE 1) SI
gmeadm-de
T.C y RxC
T.C RxC
-
crs f--
-
DSR
USART 8251A
GND
TxD
: ..
RxD
- L-
lK
IEI
Z8O-CTC
ZC/1Vo CLK/TRG 1
Práctica 6
Objetivos
Trabajo a desarrollar
addres' decodificación
circuito rh circuito tú tU puerto>
n/oj res"
YO y} Y2
L --.J
1)0-
~ 1
CLOCK 00
8, DO INT C5 ClX RF9:1' "1
RF9:1'
zao.crc
Z80 07 D' liD ¡¡¡¡ Cfi eso IORQ
AO
CPU l' l' l'
... iÑi'
A15
I
RD
¡¡¡¡
rO NMl
-¡¡;
JORQ
cuc
. .I RF9:1'
I DO
USART 8251A
D' ¡¡¡¡ ctD liD es
decodificación
de memoria i
m"y,
I I I
C5 DO ¡ ¡
07 DO RO WR AO Al es
addres> 07
PPl 82JJA
RESET
memoria
---.
EPROM
,' , dUP;-
-; SWI
C5 DO
1 .L
07 8
/atch
"1,.
addres, data bus lK
}'
memoria ,-, ~Va
RAM "'/oj tU
tinnpo real ' , ,-,
1'-' C: 1'_:1 tWpu."
I I I I
M M · S S
CONTAOORES DE EVENTOS (EL ZS(}.CTC PARTE JI) 55
Notas:
• El valor máximo que podrá tomar el contador será de 255.
• Cuando se active más de un sensor al mismo tiempo, el contador se incrementará
en una unidad.
• El intervalo de tiempo de I ,. 5 segundos se podrá obtener con el reloj de tiempo
real implementado en el punto 2.
IK
IEI
Z8O-CTC
ZC/TOo CLKjTRG 1 CLKjTRG 2
•
m ,ms....
$$~ Vee
o
Práctica 7
Conversión digital-analógica
Objetivos
Introducción teórica
bloque 'C'
-
""at
en lTadM volJ4j~ o e
1ijictuúw
salida
VOUTmin - 0 ,0 V VOUTmax - + 10 V
DA C
la líneas de f - - - - Vout
entrada
~ limiu supmor _ 10 V
10 m V por incTrnJnlto
JO mV
20 mV ....... 00000000 11}
JOmV ........ OOOOOOOO J O en.t~adaJ
........ 000000000 1 dlgttaUs
ao v 0000000000
Para ilustrar esto, podemos tomar como eje mplo real al DACa8a8
de National, e l cual es exactamente igual DA C M15a8 a M1 4a8 de
Motorola.
Este DA C e ntrega una corrie nte de salida la cual es una porción de
la corrie nte de refere ncia . Esta corriente de referencia se o btiene por
medio de un voltaje de referencia y un resistor. Este DAC tie ne también
ocho entradas digitales, de la Al a la AS, siendo Alla más significativa.
Para fijar la corrie nte d e re fe re ncia del DAC a 1 miliamper , se
pu ed e usar una refe re ncia de voltaje de + 15 Volts y una resistencia
d e 75 Kohms. Esta resistencia puede ser un potenció metro para poder
aju star el valor exacto de la corriente. Si se desea que e l DAC
pro porcione un voltaje de salida se le puede conectar a la salida un
convertidor corriente-voltaje, el cual se puede obtener fácilmente con
un amplificador o peracio nal.
La ecuació n que describe la corrie nte de salida es:
Al -AS son las e ntradas digitales del DAD. Por ejemplo, supo ngamos
qu e: Al~a, A2~1, A3~1, A4~a, A5~a, A 6~1 , A 7~a, A8~o.
La sumatoria de los pesos o valores de cada uno de los bits es igual
a 64 + 32 + 4 ~ 100, Y po r lo tanto la corriente de salida será :
R4 R5
13 10 JOK
LSB Al U
.2 DAC
entradm
digitales
.
Al 0808
AJ
H
2
ID 15K
A6
4 Vout
.7
AS
corrl.,." de
MSB solida del
J
DAC
0.01 ~F
·15 V
Resolución de un DAC
Trabajo a desarrollar
En resumen, se tendrá:
Notas:
• Los va lores de la amplitud y frecuencia de las seiiales analógicas generadas son a
escoger.
• Se puede utili zar cualquier tipo de DAC.
• No debe n existir discontinuidades en las señales analógicas generadas, lo cual se
puede lograr conectando e l DAC a un puerto de salida del PP18255A.
• Procurar que las señales analógicas generadas (sobre (ocio la seno idal) sean lo más
fie les posib les.
• Generalmente un DAC entrega una corriente de salida, por lo que es necesario
adiciooJ r1e un convertidor corriente-voltaje.
Ji
TxRDY- '1'1)-- - - - - - ,
no
m v ía el ASCII tU
la ·U· 018251
mvía un dato
alDAC
CONVERSiÓN DIGITAL·ANALÓGICA 65
PPI8255A
puerto (Ú salida
N
paWna digital ~
conversión
digital/
analógica
osciloscopio
Vout
señal analógica
/VV1
-
Figura 7.7 El convertidor corriente·voltaje
PPl8255A
puerto (Ú salida
Va
palabra digital
N
Rl
R2 v" COMP.
Vrrft+) DA C e
Vrrj(-) vu
-Vcc
fu
lbut
señal analógica
Vou t
Conversión analógica-digital
Objetivos
Introducción teórica
Conversión analógica-digital
entrada
analógica
ADC salidas
digitales
flecha
tacómetro
ADC
información digital
parad
voltaje analógico de microprocesador
salida proporcional
a la velocidad
de rotación
ADC
voltaje analógico
salid as digitales
de e ntrada
inicio de la conv...,ión J
fin d e la conversión
70 CONVERSIÓN ANALÓGICA-DIGITAL
in;'';o d, la conv",ión \
-----.Jy \ '---
Las salidas digitales de un ADC pu eden estar re presentadas en
d ifere nte s cód igos, por lo que no hay una técnica estándar p ara e l
formato de salida. Las salidas pueden ser generadas con lógica
positiva O con lógica negativa . Los códigos típicos u sados e n las
salidas digitales son BCD, binario, complemento a 1 y complemento
a 2. La hoja de especificaciones del fabricante del ADC usado indica
e l tipo del formato de las salidas. De igual forma, e l tiempo de
re tardo de la conversión varía de un ADC a o tro. Generalme nte,
una conversión más rápida hace más caro al conve rtidor y as
CONVERSiÓN ANALÓGICA·DIGIT AL 71
~
V
voltaje analógico
aca mparar
fin de la conversión
Trabajo a desarrollar
PPI 8255A
p1.U':Tto de entrada
'-- STAR T
ADe CLK
I d;vis", I
GND
EOC
I
10 11 12 ···· ····· IN
¡¡¡ ¡
''---~v~--~/
Notas:
• Se pu ede utilizJr cuaÍquier tipo de convertidor analógico-digital, pero se reco-
mie nda usar el ADC0809 por ser uno de los más económicos y que se puede con-
seguir fácilmente .
• Inicb lmente el programa principal no deberá de estar muestreando canal alguno
del ADC, ni enviar datos al DA C, h:lst:J. que se active algún sensor.
Bibliografía
Rafa el Q uintero.
Elecrr()ni( ajisi¡ a