Вы находитесь на странице: 1из 2

2-2/21. "Чистовик" программы и ее блок-схема/алгоритм.

Функции программно
организованных флагов.

Этот подраздел будет самым коротким.


По тексту, но не по содержанию.
Дело в том, что к нему прилагаются две картинки "совсем не слабой, мыслительной
мощности".
В них "сконцентрировано" все то, о чем шла речь в предыдущих двадцати
подразделах.
"Матки" обеих страниц "разрисованы" достаточно подробно для того чтобы понять, как
они работают.
Безусловные переходы "маток" "разрисованы" полностью.
Условные переходы, в основе своей, тоже "разрисованы", но во избежание
"понятийного бардальеро", я не стал "разрисовывать" те из них, которые повторяются
"огромЕнное" количество раз (например, переходы "рулевых" частей ПП вычисляемых
переходов и т.п.).
Иначе, Вашему вниманию была бы предоставлена такая "ужасная картинка, что даже
непугливый, по первости, испугается" (шутка).
Это совсем не входит в мои планы.
Короче, блок-схема составлена таким образом, что вполне можно отследить алгоритм
работы любой составной части программы, а в идеале, и алгоритм работы всей
программы (старался как только мог).
Если есть необходимость в более подробном "сканировании потрохов составных частей
обслуг", то милости просим в них (в "обслуги").
В том смысле, что в тексте программы есть все необходимое для того чтобы
разобраться в возможных затруднениях, а в блок-схеме есть "указивки" на то, "что где
лежит".
Блок-схема программы составлена по "табличному" принципу (лично мне, он нравится).
Это позволяет резко сократить количество стрелок и уменьшить трудозатраты на ее
рисование (такого рода работа - совсем не мед. Заверяю Вас).
Достаточно, изначально, создать "набор" необходимых прямоугольников, а далее,
только манипулировать ими (копировать – вставить. Работа в Paint).
Функции программно организованных флагов:

Программа BP_MOD.asm. Программно организованные флаги.


Регистр Бит Название флага Функциональность
Используется в процедурах сохранения/восстановления
№7 Флаг признака банка содержимого регистров Status и W (ПП прерывания).
Flag,7 = 0 à признак 0-го банка.
Flag,7 = 1 à признак 1-го банка.
Флаг разрешения/запрета Используется для фиксации результатов измерения U/I на время
№6 изменения результата отработки ПП BIN2_10_U и BIN2_10_I.
измерения, который Flag,6 = 0 à изменения результатов измерения U/I разрешаются.
выводится на индикацию Flag,6 = 1 à изменения результатов измерения U/I запрещаются.
№5 Флаг превышения порога Поднимается в случае превышения порога защиты по U.
защиты по напряжению Flag,5 = 1 à признак срабатывания защиты по напряжению.
№4 Флаг превышения порога Поднимается в случае превышения порога защиты по I.
защиты по току Flag,4 = 1 à признак срабатывания защиты по току.
Флаг завершения смен Поднимается после завершения заданного количества смен
Flag №3 надписей надписей.
Flag,3 = 1 à признак завершения цикла смен надписей.
С его помощью реализуется оперативная память факта
Флаг факта нажатия предыдущего нажатия кнопки. Используется при "рулёжке"
№2 кнопки сценариями-подсказками.
Flag,2 = 0 à кнопка не была нажата.
Flag,2 = 0 à кнопка была нажата.
Используется для организации программных обходов вызовов ПП
Флаг наличия/отсутствия TERMO и для выбора соответствующих, пояснительных надписей.
№1 термодатчика Flag,1 = 0 à признак электрически подключенного т-датчика.
Flag,1 = 1 à признак электрически отключенного т-датчика.
№0 Флаг флаг "одноразовой" Поднимается после отработки "одноразовой" задержки.
задержки Flag,0 à признак обхода "одноразовой" задержки.
Флаг срабатывания Поднимается в случае превышения текущей температурой
№7 термозащиты верхнего Т-порога.

1
Flag_1,7 = 1 à признак срабатывания термозащиты.
Флаг ручного отключения Элемент программного RS-триггера.
№6 нагрузки для сценария Flag_1,6 = 0 à состояние "нагрузка включена".
"ЗАЩИТА ВЫКЛЮЧЕНА" Flag_1,6 = 1 à состояние "нагрузка выключена".
Flag_1 Флаг ручного отключения Элемент программного RS-триггера.
№5 нагрузки для сценария Flag_1,5 = 0 à состояние "нагрузка вкылючена".
"ЗАЩИТА ВКЛЮЧЕНА" Flag_1,5 = 1 à состояние "нагрузка включена".
Поднимается в случае программного отключения термодатчика.
Флаг блокировки 4-го При этом, после включения питания, на индикацию будет
№4 пункта меню выведена надпись но ЗАБЛОКИРОВАН в настройках", и 4-й пункт
меню установки порогов будет обходиться.
Flag_1,4 = 1 à признак блокировки 4-го пункта меню.

"Чистовик" программы ("базовая" программа) прилагается.


Эту программу я назвал BP_MOD.asm.
В ней, по сравнению с предыдущим "черновиком", "подрихтованы" комментарии
("влажная уборка на уровне комментариев") и "убито" несколько меток (вместо них,
goto $+…).
Текущая точка ("ох и трудная это работа, из болота тащить бегемота"!).
Осталось поработать с "периферией" и составить "инструкцию по эксплуатации".
В дальнейшем, этим и займусь.

"Практикум по конструированию устройств на PIC контроллерах"      http://ikarab.narod.ru       E-mail: karabea@lipetsk.ru