Главное


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

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

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

Усилитель мощности переменного сигнала
Темой курсовой работы является разработка усилителя мощности переменного сигнала. Усилитель имеет дифференциальный вход, бестрансформаторный выход и плавную регулировку усиления от «0» д ...

Графен в электронике сегодня и завтра
Графен был экспериментально обнаружен в 2004 г. двумя английскими учеными российского происхождения - Андреем Геймом и Константином Новосёловым, за что они вскоре получили Нобелевскую п ...

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

www.domen.ru © 2019