Главное


Разработка алгоритма программы для микроконтроллера

Условно программное обеспечение для разрабатываемой системы можно разделить на 2 группы: программа для микроконтроллера и программа для внешней ПЭВМ.

Программно система выполняет следующие функции:

· По входному коду с АЦП вычисление уровня заполнения бака жидкостью;

· Вывод измеренных параметров (уровень, емкость и время) на индикаторы в режиме динамической индикации;

· Организация сигналов стандартного последовательного интерфейса RS - 232С при обмене данными с внешним компьютером.

Алгоритм работы основной программы представлен на рис.4.1.

Программа работает следующим образом: сначала производится инициализация контроллера клавиатуры и дисплея (поскольку никаких измерений еще не выполнено, то производится очистка дисплея), затем происходит запуск АЦП, после чего программа ожидает готовности данных на выходе АЦП. В случае, если данные готовы, на выходе DR АЦП появляется низкий уровень, который МК опрашивает через линию порта Р1.1 Готовые данные МК считывает и сохраняет в ОЗУ, после чего на АЦП поступает сигнал гашения. Программа, используя код на выходах АЦП, пропорциональный измеренному уровню, вычисляет уровень заполнения бака жидкостью, емкость и время заполнения.

После вычисления данных выставляется высокий уровень сигнала DTR на время 30 мкс. По этому сигналу внешний компьютер может послать запрос на передачу данных. При этом запрос должен быть подан на вывод DSR в виде высокого уровня в течение не менее 12 мс с момента получения сигнала DTR.

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

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

После этого делается программная задержка на 1 минуту, снова запускается АЦП и цикл повторяется.

Адреса обращения к ПК: 000Н…800Н (2 кБ).

Адреса обращения к ПД: 00Н…80Н (128 байт).

Рис.4.1 Алгоритм работы основной программы

Определим некоторые константы, необходимые для разработки программы:

для ККД:

· очистка дисплея 11000000В=С0Н;

· режим (режим ввода с клавиатуры, 8-позиционный, ввод слева, две клавиши блокируются) 00000000В=00Н;

· управление частотой сканирования 00100010В=22Н;

· запись в ОЗУ дисплея 10000000В=80Н

для Т/С0:

· режим 1 - 00000001В=01Н;

· число для задержки 50 мс=3СВ0Н;

· количество циклов для задержки в 1 минуту - 20;

для Т/С1:

· режим 2 - 00100000В=20Н;

· число, определяющее скорость передачи FAH;

для последовательного порта:

· режим 1, флаг прерывания при передаче - 01000010В=42Н.

Рассчитаем коэффициенты для вывода уровня и емкости в нужном формате:

для уровня ==0,784→78;

для емкости ==0,0588→59.

Другие статьи по теме

Устройство сбора данных web-камера
Телевидение - это передача изображения на расстояние с помощью электронных устройств. При передаче изображения формируются электрические сигналы элементов изображения, при этом один кадр из ...

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

Прием и обработка электронных переводов
Стабильно отделения почтовой связи (ОПС) становятся мультисервисными центрами, где клиентам, помимо традиционных предоставляется широкий спектр телекоммуникационных, финансовых, почтово ...

www.techspirit.ru © 2020