Курс лекций. - Микропроцессоры

         

Написание программ для микропроцессоров


Дата последнего обновления файла 07.06.2005

Написание программ для микропроцессоров.

Написание программ для микропроцессоров резко отличается от написания программ для универсального компьютера. При выполнении программы на универсальном компьютере запуск программ, взаимодействие с внутренними, внешними устройствами или человеком берёт на себя операционная система. Программа, написанная для микроконтроллера, должна решать все эти задачи. Программа, написанная для компьютера, когда-нибудь запускается и завершается. Программа, управляющая микроконтроллером, запускается при включении устройства и не завершает свою работу пока не будет выключено питание.

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

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

Рисунок 2.25. Алгоритм программы-монитора.

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

Рассмотрим пример реализации такого алгоритма работы программы. Для написания программы воспользуемся принципами структурного программирования, рассмотренными ранее. В этом случае для проверки работоспособности программы можно воспользоваться программами-заглушками.
Исходный текст такой программы приведён на рисунке 2.26.



Рисунок 2.25. Пример реализации программы-монитора на языке СИ.

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

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

Объявим глобальную переменную SkanCode, в которой будем хранить значения электрических сигналов на выводах микроконтроллера, подключенных к контактам клавиатуры.

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

[ Главная ]


Содержание раздела