» */mem (33 ) word;/* Масив пам'яті значень амплітуд */amp (33) word;/* Масив виведення значень амплітуд */sinh byte; /* змінна синхронізації (зміна інтервалу */
/* переривання лічильника) */
i byte; /* Лічильник інтевалав для виведення амплітуд */key byte; /* Прапор пам'яті */k byte; /* прапор дільника коду АЦП */
/* Обробка переривання таймера * /: procedure interrupt 1;
ea = 0;
= sf-1; /* зміна інтервалу між записом знач амплітуд */sf = 0 then /* коли інтервал пройдено * /; /**/= t +1; /* рахунок кроку */= shag; /**/
if t = 32 then /* пройшов 31 крок */
do;
t = 0; /**/
flag = 1; /* зміна прапора запису амплітуд * /;
end;
Th0 = 0FFh;
tl0 = sinh;
tf0 = 0;
t = t +1;
et0 = 1;
ea = 1; timer;
/* Інінціалізація */
PUMP = 0;
DRAIN = 0;
P2 = 255; /* P2 на вхід */
shag = 0;
t = 0;
k = 2;
am = 8;
sinh = 01Fh = 0; /* скидаємо прапор переповнення */
ea = 1;
et0 = 1;
s = 2;
Th0 = 0FFh; /* 15536 ​​- рахунок до 65536 -> 50000 тактів таймера по 1мкс */
Tl0 = 01Fh;
tmod = 00000001b; /* 1-ий режим таймера 0 */
scon = 00000001b;
flag = 0;
connected = 0; /* Якщо 0 -> пристрій не підключений */
/* Інінціалізація АЦП */
AUXR1 = 1; /* Встановлення 8бітних перетворення */
ADCON = enable;
/* ------------------------------- */
do while 1; /* Головний цикл */
/* Визначення натиснутоюклавіші */
Key = 0;