You are on page 1of 2

PROGRAMAREA CIRCUITULUI Z-80 PIO

Se genereaz mai nti cuvntul de mod. Formatul este urmtorul:


7 6 5 4 3 2 1 0
M1 M0 X X 1 1 1 1

Biii M1 i M0 stabilesc modul de lucru:
M1 M0 MODUL
0 0 0 IEIRE OCTET
0 1 1 INTRARE OCTET
1 0 2 BIDIRECIONAL OCTET
1 1 3 BIDIRECIONAL PE BIT
Biii D0 D3 sunt n permanen n 1, iar D4, D5 sunt ignorai, putnd lua orice valoare.
Formatul cuvntului ce indic direcionalitatea liniilor este:
7 6 5 4 3 2 1 0
I/O 7 I/O 6 I/O 5 I/O 4 I/O 3 I/O 2 I/O 1 I/O 0
Pentru I/O = 1 se definete linia I a portului de intrare, n caz contrar pe cea de ieire.
Dac se lucreaz cu ntreruperi este necesar cuvntul de comand pentru ntreruperi:
7 6 5 4 3 2 1 0
Validare
ntreruperi
I/SAU 1/0 Urmeaz
mtile
0 1 1 1
Dac bitul 7 este egal cu 1 portul programat lucreaz cu ntreruperi, n caz contrar nu.
Biii 6,5,4 au semnificaie doar dac s-a ales modul 3 de lucru: 6 definete funcia logic de lucru (1
I, iar 0 SAU ); 5 palierul activ pt liniile portului 1 High, 0 Low; 4 dac este 1 indic c va urma un
octet ce precizeaz masca. Dac octetul mtii este 0 fr masc i linia poate genera ntreruperi, n
caz contrar cu masc i nu poate genera ntreruperi.
Transmiterea unui cuvnt de dezactivare a ntreruperii :
7 6 5 4 3 2 1 0
Validate
ntrerupere
X X X 0 0 1 1

PROGRAMAREA CIRCUITULUI Z-80 CTC
Registrul cuvntului de comand este urmtorul:
7 6 5 4 3 2 1 0
Validare
ntreruperi
Mod de
lucru
Factor
prescalar
Front
activ
Mod de
declanare
Urmeaz
ct.de timp
Iniializare 1

Bitul 7 reprezint validarea ntreruperilor. Dac este 1 atunci circuitul lucreaz cu ntrerupere i este
necesar prezentarea vectorului de ntrerupere.
Bitul 6 stabilete modul de lucru. Dac este 1 atunci se selecteaz modul numrtor, n caz contrar
modul temporizator.
Bitul 5 are semnificaie numai n modul temporizator. Dac este 1 divizare cu 256, dac este 0
divizare cu 16.
Bitul 4 alege frontul activ al semnalului de ceas, dac este 1 front cresctor, dac este 0 front
descresctor.
Bitul 3 indic lucrul n modul timer. Dac este 1 cu triggerare extern, iar dac este 0 automat.
Dac bitul 2 este 1 urmtorul cuvnt scris la adresa canalului programat este o constant de timp, i 0
n caz contrar.
Bitul 1 iniializare. Dac este 1 iniializare software, dac este 0 iniializare hardware.
Registrul vectorului de ntrerupere:
7 6 5 4 3 2 1 0
V7 V6 V5 V4 V3 X X 0

You might also like