Разработка программного обеспечения

Страница 1

Разработка программного обеспечения включает в себя разработку подпрограммы пуска ЭД, подпрограммы обслуживания прерывания и распределение памяти.

6.1 Разработка подпрограммы пуска ЭД

Блок-схема подпрограммы пуска ЭД, реализующая алгоритм, представлен на рис. 5.

В начале подпрограммы необходимо разрешить микропроцессору обслуживание прерывания и установить указатель стека на выбранный адрес ОЗУ.

При программировании операции ввода состояния триггера ГТ необходимо предварительно установить соответствие между состоянием триггера (лог. 1 или 0) и состоянием электропривода ("готов или не готов").

В блоке 3 производится анализ состояния того разряда ШД , к которому подключен триггер ГT.

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

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

В блоках 6 и 7 производится ввод цифрового эквивалента напряжения тахогенератора и его сравнение с цифровым эквивалентом управляющего напряжения. При несоответствии производится вывод

в RG ЦАП кода 00 ( блок 8 ), а в триггер СБ - сигнала "Сбой". Вывод в триггер необходимо организовать таким образом; чтобы разряд ШД, к которому подключен триггер, при вводе принял состояние, при котором светодиод должен излучать. Передача лог. 1 или 0 по этому разряду определяется схемой подключения светодиода к триггеру.

6.2 Разработка подпрограммы обслуживания прерывания

Подпрограмма начинает работу при поступлении сигнала "Авария" на вход микропроцессора " Запрос прерывания " (ЗПР). В состав подпрограммы входят три блока, выполняющиеся последовательно друг за другом.

Первый блок осуществляет запрет прерывания и запись в стек содержимого регистров МП.

Второй блок обнуляет регистр ЦАП и выдает сигнал "Сбой".

Третий блок осуществляет вызов из стека содержимого регистров МП, разрешение прерывания и переход на конец подпрограммы пуска.

6.3 Расчет цифрового эквивалента

Расчет сводится к преобразованию заданного управляющего напряжения из десятичной формы в шестнадцатеричную. Причем старший разряд кодирует направление вращения:

0 - прямое вращение, 1 - обратное.

Задано Uупр = -1,28 В. Так как в ЦАП цифровой код преобразуется в аналоговую величину с определенной дискретностью ( 0.05 В ), то первоначально вычисляется количество дискрет для представления аналоговой величины заданного уровня. Для уровня -1,28 В количество дискрет составляет 2610, а двоичный эквивалент 110012 . С учетом направления вращения получим 1110012, в шестнадцатеричной форме 1916.

6.4 Разработка подпрограммы задержки

Подпрограмма задержки реализуется путем организации циклического процесса из N циклов. Если известно время выполнения i-той команды t i, в цикле и количество таких команд K в цикле, то время задержки составит:

Страницы: 1 2