Главное


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

Условно программное обеспечение для разрабатываемой системы можно разделить на 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.

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

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

Цифровой аудио сигма-дельта модулятор
1. На уровне идеальных макромоделей интеграторов и компаратора проверить справедливость значений коэффициентов перед интеграторами, приведенных в статье. Проверкой является рабо ...

Моделирование в системе MICRO-CAP измерительных преобразователей на основе датчиков температуры
В наше время измерению температуры придается большое значение в различных отраслях промышленного производства. Температура является наиболее массовым и, зачастую, решающим параметром, ха ...

www.domen.ru © 2019