86h); end ;/ * пауза 60mkc перед передачею команди */
If not (fout) then do ;/ * передача запиту 44h на оцифровку */
/* передача команди 44h для безадресного звернення */
Do n = 0 to 8/* передача таймслота за заздалегідь розрахованим затримок */
If f1 then P14 = 0; if f2 then P32 = 0;/* передача 0 */while (th0
Else do;
/* передача запиту B8h на прийом інформації з датчика */
Do n = 0 to 8/* передача таймслота за заздалегідь розрахованим затримок */
If f1 then P14 = 0; if f2 then P32 = 0;/* передача 0 */while (th0
Do while (th0 <0e0h) and (tl0 <0ddh); end;
Do n = 0 to 7;/* прийом даних від датчиків */
If f1 then P31 = 0; if f2 then P32 = 0 ;/ * передача стробу 10мкс 0 в таймслота */
Do while (th0 <0 Time10 (n * 6)) and (tl0
Do while (th0
If f1 then P31 = 0; if f2 then P32 = 0 ;/ * передача стробу 10мкс 0 в таймслота */while (th0 <0 Time13 (n)) and (tl0
Do while (th0
VVetr = ChVetr/4 ;/ * розрахунок швидкості вітру */
/* розрахунок реальної температури */
If zn1 thenT1 = shr (not (T1 +1), 1) else T1 = Shr (T1, 1);
If zn2 thenT1 = shr (not (T2 +1), 1) else T1 = Shr (T2, 1); = 1 ;/ * прапор готовності даних */
Tp = 0;
If FlVlagn then; ;/ * Розрахунок вологості */
end; FlI2C then
if pp <5 then do; CADD = Adrh1 * 255 + Adrl1; case pp;
: I2CDat = T1;
: I2CDat = T2;
: I2CDat = VVetr;
: I2CDat = Vlagn;
: I2CDat = Chas;
End; = pp +1; else Adrl1 = Adrl1 + pp; FlInd then
if pp <5 then do; CADD = Adrh1 * 255 + Adrl1 + pp; case pp;
: T1 = I2CDat;
: T2 = I2CDat;
: VVetr = I2CDat;
: Vlagn = I2CDat;
End; = pp +1;;
End;
/* Висновок на індикатор */
If FlC then P2 = 01010000b + shr (ind (tp), 4) and 0fh); do; tp = tp +1; if tp> 22 then FTim = ...