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