ановка предделітеля для затримки 5мс */
if perT0 <7200 then/* перевірка числа переповнень таймера */
do;
perT0 = perT0 +1;
end;
else do;/* 6ти хвилинна затримка витримана вимикаємо всі джерела */
FlT0 = 1;
perT0 = 0;/* скидаємо лічильник переполнеій */
P2 = 0;/* Гасимо всі джерела */
napr = 3;/* напрямок невизначений */
end;
end T0;
/* Основна програма */
tf0 = 0;/* скидаємо прапор переповнення таймера */
ea = 1;/* дозволяємо обробку всіх переривань */
et0 = 1;/* дозволяємо обробку переривання таймера */
Th0 = 3Ch; Tl0 = 0AFh;/* предільника на 50 мілісекунди */
tmod = 00000001b;/* встановлюємо для таймера 0 перший режим 16разрТ0 */
tr0 = 1;/* запускаємо таймер */
perT0 = 0; FlT0 = 0;
do while 1;
if Osv = 0 then do;/* освітленість приміщення нижче установл вкл. контроль */
if SA1 = 1 then do;/* перший режим ведення об'єкта */
if pred = 1 then p2.0 = 1;/* перевірка зв'язку з сусіднім котнтроллером */
if p1.0 = 0 then; P2.0 = 1; P2.1 = 1; perT0 = 0; P0.3 = 1; end; p1.1 = 0 then; P2.0 = 1; P2.1 = 1; P2.2 = 1; p2.4 = 0 then P2.3 = 0;/* гасіння не потрібні істочнікa */
perT0 = 0;/* скидання витримки часу */
END;
if P1.2 = 0 then; P2.1 = 1; P2.2 = 1; P2.3 = 1; p2.5 = 0 then P2.4 = 0; if pred = 0 then P2.0 = 0; = 0;; P1.3 = 0 then; P2.2 = 1; P2.3 = 1; P2.4 = 1; p2.6 = 0 then P2.5 = 0; if p2 .0 then P2.1 = 0; = 0;; P1.4 = 0 then; P2.3 = 1; P2.4 = 1; P2.5 = 1; p2.7 = 0 then P2.6 = 0; if p2.1 = 0 then P2.2 = 0; = 0;; P1.5 = 0 then; P2.4 = 1; P2.5 = 1; P2.6 = 1; sled = 0 then P2.7 = 0; if p2.2 = 0 then P2.3 = 0; = 0;; P1.6 = 0 then; P2.5 = 1; P2.6 = 1; P2.7 = 1; p2.3 = 0 then P2.4 = 0; = 0;; P1.7 = 0 then; P2.6 = 1; P2.7 = 1; P0.5 = 1; p2.5 = 0 then P2.4 = 0; = 0; ; sled = 1 then do; P2.7 = 1;/* вкл предшеств і следующ. */P2.6 = 0 then P2.5 = 0; = 0;;
end;
else do;/* перемикач в 1 обраний другий режим світлова доріжка */
if pred = 0 then do; napr = 1; P2 = 0ffh; end p1.0 = 0 then do; napr = 1; P2 = 0ffh; end;/* встановлюючи напрям вкл. всі */
if p1.1 = 0 then do; pred = 1; if napr = 1 then P2.0 = 0;/* гасимо слідом */napr = 0 then P2.2 = 0; p>
If napr = 3 then do;/* визначаємо напрямок руху */
if pred = 2 then do; napr = 0; p2.0 = 1; p2.1 = 1; end; do; P2...