11.8. Zaman gecikmələrinin proqramlaşdırılması
Tələb olunan indikasiya
müddətini təmin etmək üçün,
sistemin diskret
elementlərində gedən keçid proseslərinin
sonunu gözləmək üçün,
verilmiş
davametmə müddətinə malik zaman intervalları formalaşdırmaq üçün və s. zaman
gecikmələri tələb olunur. Bir neçə takt sərhədində zaman gecikmələri müəyyən
əmrlər hesabına təmin etmək olar. Bu halda sistemdə dəyişiklik baş vermir. Bu
məqsəd üçün 4, 5, 7, 13 takt hesabına yerinə yetirilən uyğun NOP (boş əməliyyat),
MOV Ri,Rj (registr-registr), CP1 00 (müqayisə), XTH (göndərmə) və s. kimi
əmrlərdən istifadə etmək olar.
Böyük gecikmələr bir kaskadlı və ya kənardan daxil edilən (qoşulan) tsikllər
hesabına yerinə yetirilə bilər. Bir kaskadlı tsikl əsasında qurulan sadə gecikmə
alqoritmi və uyğun proqram şəkil 11.12-də göstərilmişdir. Proqramın giriş
parametri B registridir.
Downloaded by Mehman Mammadov (mehman1986@gmail.com)
lOMoARcPSD|30503707
Şəkil 11.12 Zaman gecikmələri alqoritminin blok – sxemi və proqramı
Zaman gecikməsi proqramı
TIME : MOV D , B ; T1 = 5 takt
M1 : NOP ; T2 = 4 takt
DCR D ; T3 = 5 takt
JNZ M1 ; T4 = 10 takt
Hər bir əməliyyatın yerinə yetirilməsi üçün lazım olan taktların sayını nəzərə
almaqla gecikmə müddətini təyin etmək olar. Fərz etsək ki, giriş parametri 0-dan
255-ə qədər olan diapazonda istənilən N ədədi ola bilər, onda gecikmənin ümumi
müddəti
T
gec.
= T1+N*(T2+T3+T4)=5+19 =24
taktla təyin edilə bilər.
Minimum gecikmə müddəti N=1 halına uyğun
gəlir və
T
gec. min
=5+19=24 takt olur.
Maksimum gecikmə müddəti N=0 halına uyğun gəlir (yeni N=N-1
kəmiyyətini əlavə kodda hesabladıqda bir baytlı rəqəm üçün N=N-1=255 alırıq) və
tsikldəki təkrarlamaların sayını bir vahid artırmaq lazım gəlir. Bu halda
T
gec.max
=5+19*256 = 4869 takt
Downloaded by Mehman Mammadov (mehman1986@gmail.com)
lOMoARcPSD|30503707
alınır.
Taktın müddəti konkret MK və ya MP
üçün məlum olur və onun takt
generatorunun tezliyi ilə təyin edilir. Məsələn, takt impulsları generatorunun 1
MHs tezliyində (bir taktın müddəti 1 mksan olur) maksimum gecikmə müddəti
T
gec. max
=4869*1 mksan = 4869 mksan + 4,869 msan
olur.
Aydındır ki, “boş əməliyyat” –NOP əmrlərinin sayını
dəyişməklə tsikldə
gecikmənin müddətini 4 takt dəqiqliklə dəyişmək olar.
Böyük gecikmələr tələb olunan hallarda əlavə xarici tsikl təşkil etmək olar.
Bu hal giriş parametri 25FA ünvanlı yuvada olan tənzimlənən zaman gecikmələri
TIMER alt proqramında yerinə yetirilir.
; tənzimlənən zaman gecikmələri altproqramı
TIMER : PUSN B ; BC, DE, A cütlərinin məzmununu yadda saxlamalı
PUSN H
PUSN PSW
LDA 25 FA ; davametmə müddətini göstərməli
MOV B, A ; gecikmələr
M2 : LXI H, 0FFFFH;
M1 : DCX H ; daxil edilən (kənardan daxil edilən) tsikl
MOV A, L
ORA H ; kənardan daxil edilən (qoşulan) tsiklin
; qurtarmasının yoxlanması
JNZ M1 ; xarici tsiklin sonunun yoxlanması
DCR B
JNZ M2
POP PSW
POP H
POP B
RET ; altproqramdan geri qayıtma.
TIMER altproqramı ilə zaman gecikmələrinin qiymətini 0-FFH giriş
parametrinin qiymətini dəyişmək hesabına 300 msan – 1san diapazonunda
dəyişmək olar.
Downloaded by Mehman Mammadov (mehman1986@gmail.com)
lOMoARcPSD|30503707