істемі.- кнопка для Вибори режиму роботи (При натісканні цієї клавіші режим роботи переключається на Наступний по-порядку) - кнопка для Вибори режиму робот (При натісканні цієї клавіші режим роботи переключається на Попередній по-порядку)
.6 Вибір виконавчих устройств
У сістемі мікропроцесор винен управляти охолодженя, поливом та обігріванням теплиці. Для охолодження та поливу будемо використовуват
Мотори (ENG1, ENG2), а для обігріву нагрівальну лампу (L1).
У якості ключовими елементів вібіраємо транзистори (VT1, VT2, VT3), Які комутують напругу на відповідне електромагнітне реле. Для Запобігання самоіндукції електромагнітного реле вікорістовуєм діоді (VD1, VD2, VD3).
Для замикання або розмікання електричного кола вікорістовуєм електромагнітне реле (RL1, RL2, RL3).
Малюнок 4.6 - Схема Підключення виконавчих устройств.
4. Розробка алгоритмів роботи програми
1. Пристрій вмикається после натіснення клавіші S1. Загорається HL6.
2. Проводитися опитування датчіків температури и вологості.
. Віводяться дані про НАВКОЛИШНЬОГО температуру и вологість на Індикатори температури (HL1, HL2) i вологості (HL3, HL4).
. Если натіснута клавіша S2 - проводитися вибір следующего режиму роботи (1 режим по замовчуванню).
. Если натіснута клавіша S3 - проводитися вибір попередня режиму роботи.
. У залежності від Вибраного режиму, в которого є свои конкретні параметри температури чі вологості, почінають працювати обігрів, полив чі охолодження, Які коректують ЦІ параметри в разі необхідності (если завеліка температура то вмикається охолодження, если навпаки - обігрів, если недостатня вологість Повітря то включається автоматично полив).
. У процессе коректування ціх параметрів Постійно зчітується температура и вологість з датчіків и посілає сигналіз (если температура чі вологість достаточно тоді віключіті обігрів, охолодження чи полив)
. Если натіснута клавіша S1 - система віключається.
Малюнок 5.1 - Алгоритм роботи програми
5. Написання текстів програми
$ include (mod51) 0: p1, # 0 ; очистка p1 p3, # 0 ; очистка p3 p0.2 ; перевірка світлодіодів p0.3p0.4p0.5p0.6p0.7p2.0 ; очистити p2.0 p2.1 ; очистити p p2.1 p2.2 ; очистити p2.2
; качан роботи
start: p2.3, wait ; Активація схеми p0.7 ; подача сигналу на світлодіод p2.4, nok1 ; если натіснута s2 то перейти по мітці
jb bitkl1, nok11bitkl1r1, # 5, no01 ; перевірка значення в акумуляторі и Перехід по мітці nok11: r1 ; інкрімент регістра r1 nok11: bitkl1: p2.5, nok2bitkl2, nok22bitkl2r1, # 1, no02 ; перевірка значення в акумуляторі и Перехід по мітці nok22: r1 ; декрімент регістра r1 nok22: bitkl2: r1, # 1, ex11 ; Включення 1-го режиму и відповідного світлодіода p0.2p0.3st: r1, # 2, ex2 ; живлення 2-го режиму и відповідного світлодіода p0.3p0.2p0.4st: r1, # 3, ex3 ; Включення третього режиму и відповідного світлодіода p0.4p0.3p0.5st: r1, # 4, ex4 ; включення 4-го режиму и відповідного світлод?? ода p0.5p0.4p0.6st: p0.6 ; включення 5--го режиму и відповідного світлодіода p0.5: T_1WIRE_1 ; переіхід до 1 - го датчика T_1WIRE_2 ; переіхід до 2 - го датчика type_dat; вибір 1 - го датчікаGetTemp; отріматі температуруtype_dat; вибір 2 - го датчікаGetTemp; отріматі температуруstart
Зчітування и передача значення з датчика температури на індикатор віконується
; ========================================= =============: type_dat, next1_1Reset_1Wire_1next1_2_1: call Reset_1Wire_2_2: a, # 0CCh; Посілаємо команду Skip ROM [CCh] .RW_Bytea, # 044h; Посілаемо команду Convert T [44h] .RW_Byte
; затримка, що не менше 750 мсA, # 0Big_delayBig_delayBig_delayBig_delaytype_dat, next6_1Reset_1Wire_1next6_2_1: call Reset_1Wire_2_2: A, # 165; (500 - 4)/3=165delaya, # 0CCh; Посілаємо команду Skip ROM [CCh] .RW_Byte a, # 0BEh; Посілаємо команду Read Scratc...