"justify"> MOVWF TIMER1 TIMER1, F $ +1 span>
; ----------------------------------------- -------------------- _START ; ПІДПРОГРАМА ВИМІРЮВАННЯ ТЕМПЕРАТУРИ ADCON0, GO span> ; РОЗПОЧАТИ ПЕРЕТВОРЕННЯ ADCON0, GO ; ЧЕКАТИ ЗАКІНЧЕННЯ ПЕРЕТВОРЕННЯ $ -1
; ----------------------------------------- --------------------------
Для здійснення тимчасових затримок, необхідних для заряду внутрішнього конденсатора модуля АЦП реалізований програмний лічильник на основі регістра TIMER1, визначеного за адресою 26h. Лічильник формує тимчасову затримку 20 мкс. Розрахуємо константу TIME1. br/>В
де Tз - час затримки, Fosc - тактова частота; n - кількість машинних циклів в одному циклі роботи лічильника. Так як лічильник включає в себе команду DECFSZ, виконувану за 1 МЦ (якщо результат не дорівнює 0) і команду GOTO, виконувану за 2 МЦ, то n = 3. Таким чином
.
2.4 Підпрограма управління виводу температури на індикацію
Дана частина програми визначає, чи дозволено відображення температури на індикаторах. Якщо відображення дозволено, підпрограма включає крапку в першому розряді індикації, поміщає вміст регістрів ADRESL і ADRESH в тимчасові регістри TEMP_TL і TEMP_TH і виробляє виклик підпрограми двійковій-десяткового корекції. br/>
; ---------------------------------------------- ---------------------
; ПІДПРОГРАМА управління виводу ТЕМПЕРАТУРИ НА ІНДІКАЦІЮFLAG_R, 7; ВІДОБРАЖЕННЯ ТЕМПЕРАТУРИ ВКЛЮЧЕНОST_NAGREV; НІ - ПЕРЕХІД до підпрограм УПРАВЛІННЯ НАГРЕВОМB'00000100 '; ТАК - ВКЛЮЧИТИ ТОЧКУ У ПЕРШОМУ РАЗРЯДЕPOINTADRESL, W; поміститися РЕЗУЛЬТАТ ПЕРЕТВОРЕННЯ ВО ТИМЧАСОВІ
; РЕГІСТРИTEMP_TLADRESH, W
MOVWFTEMP_THBIN_DEC; ВИКЛИК ПІДПРОГРАМИ двійково-десятковому
; КОРЕКЦІЇ
; ---------------------------------------------- ----------------
2.5 Підпрограма управління нагрівачем
Ця підпрограма здійснює контроль стану датчика зниження рівня води і перевіряє включення режиму підтримки температури. Якщо рівень води в нормі і включений режим підтримки температури (біт 0 в регістрі FLAG_R1 встановлено у 1), то відбувається включення нагрівача. Якщо рівень води зменшується нижче норми, нагрівач вимикається і включається індикатор В«Зниження рівня водиВ». br/>
; ---------------------------------------------- ---------------- _NAGREV; ПІДПРОГРАМА УПРАВЛІННЯ НАГРЕВАТЕЛЕМFLAG_R1, 0; режимі підтримки температури ВИМКНЕНИЙ $ +3 PORTB, 2; ТАК - ВИМКНУТИ НАГРІВ
GOTOOUT_LEDPORTA, 1; РІВЕНЬ У НОРМІ
GOTO $ +4 PORTB, 3; НІ - ВКЛЮЧИТИ ІНДИКАТОР "ЗНИЖЕННЯ РІВНЯ
; ВОДИ "
BCFPORTB, 2; ВИМКНУТИ Н...