le str_ gdite (i + str_sm) <> 20h; (j) = str_ gdite (I + str_sm); = i +1; j = j +1; end; ind (j) = 20h; j = j +1;
end str_ind; _ind: procedure; /* time play */ span>
j = 42; ind (j) = (ntr/10) +30 h; ind (j +1) = (ntr mod 10) +30 h; (j +3) = (min/10 ) +30 h; ind (j +4) = (min mod 10) +30 h; ind (j +5) = 0d0h; (j +6) = (sek/10) +30 h; ind (j +7) = ( sek mod 10) +30 h; j = j +7;
call out_ind;
end time_ind; _ind: procedure;/* висновок буфера на жки */time (20); rs, rw = 0; P0 = 1;/* очистка РКІ */ I = 0 to 15; = 0; rw = 0; e = 1b; call time (20); = 1; p0.3 = 1; call time (10); p3.0 = 0; = 0; call time (10); = ror ((Ind (i) and0f0h), 4); rs = 1; e = 0; p3.0 ​​= 1; call time (6); p3.0 ​​= 0; = Ind (i) and 0fh; rs = 1; e = 1; p3.0 ​​= 1; call time (20); p3.0 ​​= 0;
end; I = 1 to 25; p3.0 ​​= 0; rw = 0; call time (10);/* перехід на другий рядок = 2h; rs = 1; e = 0; p3.0 ​​= 1; call time (10); p3.0 ​​= 0; = 0h; rs = 1; e = 0; p3.0 ​​= 1; call time (20); p3.0 ​​= 0;
end; I = 15 to 29; = 0; rw = 0; e = 1b; call time (20); = 1 ; p0.3 = 1; call time (10); p3.0 ​​= 0; = 0; call time (10); = ror ((Ind (i) and0f0h), 4); rs = 1; e = 0; p3.0 = 1; call time (6); p3.0 ​​= 0; = Ind (i) and 0fh; rs = 1; e = 1; p3.0 ​​= 1; call time (20); p3.0 ​​= 0;
end; I = 0 to 30; ind (i) = 20h; end ;/* jочістка буфера індикатора */
end out_ind; _komand: procedure; ok = 0 to 6;
p1.1 = 1;
do while P1.7 = 0; end;/* чекаємо готовності СД до прийому слід команди */
P0 = kom_egekt (ks + k) mod 0ffh; p1.2 = 1; = kom_egekt (ks + k)/0ffh; p1.1 = 0;/* пишемо байт команди */
End; p1.1 = 1;
end out_command;: procedure; /************** пpоцедуpа ініціалізації *********** *******/
tmod = 00010001b;/* Пеpвое pежим для 0 і 1 го таймеpа */
it0 = 1;/* переривання по фpонту сигналу пеpеполненія * /, tl0 = 0; tr0 = 1;/* обнулили лічильники та pазpешать pаботу 0 таймеpa */
er1 = 0;/* запускаємо таймеp 0 і 1 */= 1;/* pазpешать переривання Т0 T1 */
ea = 1;/* pазpешать всі переривання */
P2 = 00111111b; st = 0;/* скан 1 стовпця */
n_key = 0; k_old = 0; fl_ind = 1; fl_p = 1;
flH = 0; fl_r1 = 0; fl_r2 = 0; fl_r3 = 0; fl_r4 = 0; flN = 0;
/* ініціалізація РКІ */
do I = 0 to 3;
rs = 0; rw = 1b; e = 1b; call time (10); while (M and 80h) <> 0; end; = 0; rs = 0; rw = 0; call time (10 ); = LCD_Ini (i);;
/* встановлюємо...