Главное


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

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

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

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

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

Исследование систем автоматического управления
Целью выполнения курсовой работы по курсу ''Теория автоматического управления'' является - закрепление теоретических знаний и приобретение навыков самостоятельного решения расчетно-иссл ...

www.domen.ru © 2019