Главное


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

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

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

Анализ систем видеонаблюдения
Система видеонаблюдения - система аппаратно-программных средств, с целью видеонаблюдения. Сегодня системы видеонаблюдения являются одним из самых эффе ...

Анализ прохождения периодического сигнала через LC-фильтр с потерями
Дисциплина "Основы теории цепей" является важнейшей дисциплиной в подготовке специалиста направления "Радиотехника". Данный курс лекций помогает студентам приобретать ...

Аппаратная реализация модулярного сумматора и умножителя на базе ПЛИС
В настоящее время невозможно представить себе сложную автоматическую систему без того, чтобы ее центральную часть не составляли вычислительные машины, выполняющие функц ...

www.domen.ru © 2018