0; P2 = 01010000b + ind (tp) and 0fh ); end; = not (FlC) ;/ * інверсія прапора тетради для передачі мл або ст тетрад */
end; timer_int;: procedure interrupt 4 /* обработ переривання отUART */Ri then do ;/ * переривання по прийому даних */
/* аналіз прийнятих команд переглядом старших трьох біт */
If Sbuf = 0 then
do; Sbuf = T1; p = 1; end ;/ * запуск передачі даних */
Else If (Sbuf and 0E0h) ​​= 0e0h then flagk = 1; If (Sbuf and 0E0h) ​​= 0C0h then stop = 0If (Sbuf and 0e0h) = 40h then flTimer = 0If (Sbuf and 0e0h) = 60h then flTimer = 1 do;/* прийом номери устанавл параметра і його значення */
If (Sbuf and 0e0h) = 40h then If FlTimer then Tim = Sbuf else Chan = Sbuf; (Sbuf and 0e0h) = 80h then If FlTimer then Timer (Tim) = Sbuf else Dat (Chan) = Sbuf; p>
end; (Ti and (P <4)) then/* передача масиву даних */case p;
:;
: Sbuf = T2;
: Sbuf = Vlagn;
: Sbuf = Vetr;
: Sbuf = Chas;
: Sbuf = min;; = p +1;
end UART;
tmod = 00000001b ;/ * Пеpвое pежим для 0 го таймеpа */= 1 ;/ * переривання по фpонту сигналу пеpеполненія * /, tl0 = 0; tr0 = 1;/* обнулили лічильники та pазpешать pаботу 0 таймеpa */= 1 ;/ * запускаємо таймеp 0 */= 1;/* pазpешать переривання Т0 */
th0, tl0 = 0fdh ;/ * робота послід порту на швидкості 9600 */
ea = 1 ;/ * pазpешать всі переривання */= 01001000b;/* UART такт поТ1 8 біт даних без парних */
I2CCon = 11111011;
PCON = 0; ES = 1;/* дозвіл переривання UART */
/* устаналіваем значення за замовчуванням */
t_1 = 6; t_2 = 6;
end init;