ти таймера обнуляються лічильники та pазpешается АДВОКАТУРИ 0-го Таймеpa. Разpешаются всі переривання і переривання Таймера = 0. p align="justify"> У ініціалізації блоку АЦП виконується настройка режиму АЦП. Обнулення значення змінних і прапорів визначають положення клавіш і температурних режимів. Виставлення встановлених температур при допустимому зміні від -6 до +6. Лінії 4-6 на введення і включаються компресори на холод. p align="justify"> В основній частині програми реалізується нескінченний цикл. У циклі вимірюється температура, по реакціях натискання клавіші змінюється і перевіряється діапазон температур в яких повинні перебувати компресори. Подаються сигнали керуючі компресорами через транзисторні ключі малопотужними реле включення компресорів. Керуючи компресорами можна встановлювати температури для морозилки від 0 до -22 для другої камери від +1 до +10. Виконуються чотири основні режими встановлюються клавіатурою: - , + , швидка заморозка, розморожування. Перехід між режимами здійснюється по колу.
6.2 Лістинг програми
/* програма управління холодильником */
start: do;
$ include (reg812.dcl)
/* оголошення основних змінних і прапорів */
(t_1, t_2) word,/* температура в камерах встановлена ​​*/
(tr_1, tr_2) word,/* вимірювана температура */
ind (4) byte,
(i, j, nreg) byte,/* змінні для роботи */
(flag, fl_razm, fl_moroz) byte,/* прапори визначення режиму роботи */
ok byte,/* номери натиснутою та перед клавіш */
adc_H, adc_L byte, _p word,
nind byte,/* номер відображуваного індикатора */
per_t0 word;/* число циклів переповнення таймера0 */
adc: procedure interrupt 6;/* зчитуємо дані з АЦП */
adccon2 = 0;
adc_h = adcdatah;
adc_l = adcdatal; = 1; eadc = 1; adc;
/* ____Обработчік переривання таймера____ */
timer_int: procedure interrupt 1;/* переривання t0 */
/* установка сканируемого стовпця */nind = 0 then P2 = 00010000b or ind (nind); nind = 1 then P2 = 00100000b or ind (nind); nind = 2 then P2 = 01000000b or ind (nind); nind = 3 then P2 = 10000000b or ind (nind); = nind +1; if nind = 4 then nind = 0;
/* визначення натиснутих клавіш і реакції по них */
if (p3.4 = 0b) and (ok <> 1) then/* прирощення встановленої температури */
do; ok = 1; nreg = 0 then do; _1 = t_1-1; if t_10 <0 then t_1 = 0; (0) = t_1/10; ind (1) = t_1 mod ...