Разработка автоматического программируемого терморегулятора ТР-1, страница 9

Задание различных режимов работы терморегулятора, ввод данных осуществляется с помощью S—ми контактной клавиатуры. Опрос контактов клавиатуры осуществляется программно по линиям портов Р5 и Р6 и линии ТО микроконтроллера.

Блок начального сброса и контроля работоспособности  служит для  формирования   при   включении   сигнала   CLR   заданной длительности,  а  также  формирования  сигналов   обеспечивающих инициализацию  сохранения  данных  при   пропадании   напряжения питания.

4. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ТЕРМОРЕГУЛЯТОРА

4.1 ОБЩИЙ ПОДХОД К РАЗРАБОТКЕ АЛГОРИТМИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

В соответствии с техническим заданием терморегулятор кроме выполнения основной задачи - регулирования температуры по должен обеспечивать выполнение ряда дополнительных функций. На основе этого предложен следующий подход к построению программного обеспечения и взаимосвязи его составных частей.

Программное обеспечение терморегулятора состоит из трех отдельных, несвязанных частей (задач) рис.3:

оперативной   задачи   1   СОпЗд!)   обработки   внешних прерываний, возникающих при падении напряжения питания;

- оперативной задачи 2 (ОпЗд2) обработки прерываний от внутреннего таймера;

-  фоновой  задачи,  выполняемой   все   то   время,   пока


микроконтролллер не занят обработкой прерываний.

фоновая задача является основной. В ее рамках выполняется задание программ регулирования температуры (программирование), автоматическое управление исполнительными механизмами при регулировании температуры, измерение температуры при ее ручной регулировке.

Программная передача управления от одной из этих задач к любой другой отсутствует. Однако между ними может производиться обмен данными через одинаково адресуемые (общие) ячейки внешнего и внутреннего ОЗУ.

4.1 ОПЕРАТИВНАЯ ЗАДАЧА 1

Оперативная задача ОпЗд! (рис.. 4) представляет собой подпрограмму обработки внешних прерываний (вектор прерывания 03Н), возникающих при отключении питающего напряжения. Сигнал внешнего прерывания VLQK формируется внешней логикой при падении напряжения питания ниже некоторого критического уровня. В результате выполнения оперативной задачи 1 производится дополнительный периодический анализ состояния входа IMT микропроцессора (приблизительно через 1 мС). При этом выполняются следующие действия, направленные на защиту технологического оборудования и сохранение текущих данных и программ разогрева в памяти терморегулятораг

- блокировка исполнительных механизмов терморегулятора в текущем состоянии;

- блокировка внешнего энергонезависимого ОЗУ с целью защиты от ложных произвольных записей;

-- возможна  установка  признака  падения  питания,  который


может учитываться в дальнейшем при возобновлении работы.

Если процесс падения питания в каждом цикле опроса состояния входа INT периодически подтверждается С11МТ=0), то по истечении определенного интервала времени (время разряда емкостных фильтров в блоке питания - приблизительно 10-15 мС) устройство полностью обеспечивается. При этом исполнительные реле после снятия с них питающего напряжения устанавливаются в положение, обеспечивающее перевод исполнительного механизма терморегулятора в минимальное состояние.

Если в результате периодического опроса процесс падения питания не подтверждается (INT=1), то осуществляется деблокировка исполнительных механизмов и внешнего ОЗУ и возврат из оперативной задачи 1 в фоновую с сохранением всех промежуточных и текущих результатов для продолжения дальнейшей работы,

4.2 ОПЕРАТИВНАЯ ЗАДАЧА 2.

Оперативная задача 2 ОпЗд2 (-рис и-5-) предназначена для обслуживания прерываний от внутреннего восьмиразрядного счетчика (таймера) микроконтроллера K1S16BE35 (вектор прерываний 07Н) и выполняет следующие основные функции:

- отсчет времени работы программы разогрева как общего, так и в пределах сегментов $

- периодический запуск АЦП для измерения температуры и коррекции смещения нуля;

- обслуживание (сканирование) клавиатуры и динамической индикации устройства - ввод/вывод информации в соответствующие буферы памяти.