Часы реального времени с 100 точечным таймером и 4 каналами управления.

Девайс предназначен для управления 4 каналами (физическое реле) включающими-выключающими сетевую нагрузку. В памяти устройства задаются 100 точек включения, выключения, переключения каналов. Принципиальная схема устройства и исходный текст программы на ассемблере будут приведены в конце описания.

Режимы работы часов реального времени с 100 точечным таймером и 4 каналами управления:

1).Режим отображения времени и номера включенного канала (1-й тип короткая дата — длинное время)

0123456789012345
01.01пн 00:00:00 — 1-й тип отображения времени
06:30=1->08:30=2 — отображения точек переключения предыдущего и следующего

31.12вс 23:59:59
08:30=2->09:45=1

рис. 1. — Отображение режима на 2-х строчном индикаторе часов..

за полминуты до переключения начинает мигать вторая половина нижней строки индикатора, содержащая номер включаемого канала.
после переключения полминуты мигает 1-я половина нижней строки, показывающая выключенный канал. В это же время звучит корткие гудки длительностью в 300 мс с секундным периодом частотой,
соответствующей номеру канала.

тип переключения задается знаками «=» — переключить каналы (радиокнопки)
«^» (стрелка вверх) — включить канал, «v» (стрелка вниз) — выключить канал

(Текущая минута недели переключается только в середине календарной минуты )

2). Режим отображения времени и номера включеного канала (2-й тип длинная дата — короткое время)

0123456789012345
31.12.01вс 23:59 — 2-й тип отображения времени — «:» мигает с секундным тактом
08:30^3->09:45v3

Все остальное тоже, что и в предыдущем режиме
Переход между типами отображения времени по кнопкам «Вверх»(«+»), «Вниз»(«-«)

3). Установка текущего времени, дня недели и даты

Переход к этому режиму осуществляется по кнопке «Вправо» или «Влево» из режима 1 или 2

0123456789012345
31.12вс 23:59:59
08:30=2->09:45=1

По нажатию кнопки «Вправо» начинает мигать число месяца,
по нажатию кнопки «Влево» начинает мигать число секунд или минут в зависимости от типа отображения.
Число элементов даты или времени зависит от типа отображения,
таким образом в 1-м типе можно откорректировать секунды, зато во втором можно откорректировать год.
Переход на следующий элемент осуществляется кнопкой «вправо»,
возврат на предыдущий элемент осуществляется кнопкой «влево»
Текущий выбранный элемент начинает мигать.
Кнопками «+», «-» устанавливается нужное значение мигающего элемента,
причем осуществляется изменения производятся по кругу.
для секунд нажатие «+» или «-» останавливает счет времени и обнуляет секунды,
а нажатие «влево» или «вправо» запускает счет (для коррекции текущего времени)
Нажатие кнопки «Вправо» на самом правом элементе времени (секунды в 1-м типе или минуты во 2-м типе отображения)
или нажатие кнопки «Влево» на числе месяца в дате приводит к возврату к режиму 1 или 2.

4). Режим задания типа каналам управления.

Так как каналы могут быть разных типов, то необходимо их
задать. При нажатии кнопки «Вверх» в режиме отображения по 1-му типу происходит переход в режим задания типов каналам
управления. На ЖКИ выводится следующее

0123456789012345
Т:1 2 3 4
р1 р1 п ип

Типов у канала управления всего четыре:
«п» — переключаемый, «ип» — импульсный прямой, «ии» импульсный инверсный и «рк» — радиокнопка.
Переключаемый канал — это канал, который в задаваемой точке таймера может быть включен и выключен
или переключен в противоположное состояние.
Импульсный канал — это канал, в котором выдается импульс длиной в 500 миллисекунд заданной полярности в задаваемой точке таймера.
Радиокнопка — это компоновка из не менее чем двух каналов (до 4-х) среди которых один всегда включен,
а остальные всегда выключены, в точке таймера включается текущий задаваемый канал, а предыдущий включенный канал
группы радиокнопок выключается. Специальноре значение означает выключение всех каналов группы радиокнопок.
Нажатием кнопок «вправо», «влево» выбираем номер канала управления, при этом тип канала начинает мигать.
При мигающем типе канала можно кнопками «Вверх» или «Вниз» выбрать тип канала (по кругу: «п», «р1», «р2»)
При нажатии кнопки «Влево» при 1-м выбранном канале или кнопки «Вправо» при 4-м выбранном канале осуществляется возврат
на начало режима задания типа каналов.
При нажатии в этом месте на кнопки «+» или «-» осуществляется проверка наличия
в группе р1 и/или р2 не менее двух кнопок и если в группе задан только один канал (радиокнопка),
то осуществляется переход к этому каналу и предлагается либо задать еще один канал в группу радиокнопок, либо изменить
тип канала на переключаемый или импульсный.
Если проверка проходит успешно — то переходим к соответствующему режиму задания частоты гудка для канала,
либо к режиму отображения времени по 1-му типу.

5). Режим задания частоты гудка для каналов управления.

0123456789012345
F:1 2 3 4
1,1 0,8 0,6 0,3

Также кнопками «влево», «вправо» выбираем номер канала, частота гудка для выбранного канала начинает мигать.
Кнопками «+» и «-» задаем частоту канала в КГц от 0 до 8 КГц с шагом в 0,1 КГц.
Гудок звучит либо целую минуту, либо до нажатия на любую кнопку, действие которой на момент звучания гудка блокируется.
При невыбранном канале можно переключаться на предыдущий или следующий режимы.

5). Режим задания типа гудка

0123456789012345
Г:1 2 3 4
Прд Сиг Отк Кор

Управление также как и в предыдущих случаях. Типы гудка следующие
Отк — гудок выключен
Кор — короткий гудок длительностью в 1 секунду (без повторений).
Сиг — сигнализирующий гудок длительность 0,5 секунды, период в 1 секунду, в течении минуты.
Прд — предупреждающий гудок длительность 0,5 секунды, период в 1 секунду, в течении минуты до переключения.

6). Режим задания праздничных дней (приравниваются к выходным)

0123456789012345
Дата Год День
09.05.2002 вс пр

позволяет просмотреть соответствие : число месяц год и день недели, а также задать признак праздник.
дата от 01.01.2001 и до
а также задать признак — праздничный день. Всего поддерживается буфер до 20 праздников, причем при прохождении праздника
он удаляется из циклической очереди и можно заносить новый. Очередь сортирована по дате, то есть меньшая дата, по младшему
адресу.
Упаковка в 2 байта день — 5 бит, месяц — 4 бита и год — 7 бит, то есть от 00 до 99.
на очередь отводим до 40 байт.

7). Режим ввода точек таймера (включения, выключения, переключения, канала (каналов) управления).

Переход осуществляется нажатием кнопок «Вверх»(«+») или «Вниз»(«-«) по кругу,
то есть за режимом отображения по 2-му типу при нажатии «Вниз»(«-«) осуществляется переход
на 01 точку таймера, а при нажатии на кнопку «Вверх»(«+») осуществляется переход к режиму ввода типа каналов управления,
а затем при следующих нажатиях на кнопку «Вверх»(«+») осуществляется переход к 99 точке таймера.

при переходе курсора на следующий элемент он начинает мигать, номер точки не мигает.
Кнопками «+» или «-» можно перебрать по кругу все значения элемента.

0123456789012345
№ Время Кн Тип
нн 00:00 0^ _ — незадействованая точка 01 06:30 1 буд — включать 1-й канал в 06:30 каждый день 99 23:59 2 вс — включать 2-й канал в 23:50 по воскресеньям 12345 Перебираемые типы включений 0 — _ — точка выключена
1 — пн — понедельник
2 — вт — вторник
3 — ср — среда
4 — чт — четверг
5 — пт — пятница
6 — сб — суббота
7 — вс — воскресенье
8 — все — все дни недели
9 — буд — только будни (пн — пт)
10 — вых — выходные (сб, вс)
11 — пр — праздничные (в календаре пометка пр)
12- вхпр — выходные и праздничные (в календаре пометка пр)
13 — 01 мс — конкретный день каждого месяца
14 — 01.01 — конкретный день, конкретного месяца

Упаковка для одной точки время — 2 байта (2-10),
тип точки (4 бита) + вид действия (включить, выключить, переключить — 2 бита) + номер канала (2 бита) — 1 байт,
для типа 14 + 1 байт на число месяца (2-10), для 15-го типа + 2 байта на число + месяц (2-10). 1-й тип преобразуется в
15 с добавлением текущей даты (внимание на следующий год точки типа 15 не переходят).

При добавлении новых точек они заносятся во Флеш память данных, и если попадают в заданный день и оставшееся время дня,
то заносяться в сортированный список точек переключения на текущий день.
При включении питания таймера (например сбоях питания) и/или при установке нового времени или даты, а также при переходе
на новые сутки считывается таблица точек таймера из флеш ПЗУ и формируется сортированная очередь точек таймера на текущие
сутки, располагающаяся в ОЗУ. Значение точки в списке двух байтовое — 10 бит на текущее число минут в сутках,
2 бита — номер канала, 2 бита — вид действия. таким образом всего в день можно до 1000 точек.

При смене дат из флеш памяти удаляются точки типа 15, которые уже отработаны, остальные точки могут быть только
откорректированы вручную.

Обновлено: 27.06.2024 — 14:16

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *