- •Программирование микроконтроллерной системы управления Введение
- •1.Техническое задание на проектирование
- •1.1. Обобщенный алгоритм функционирования мкс
- •1.2. Обработка информации, поступающей с дискретных датчиков (х1, …, Хn)
- •Реализация логических функций.
- •(Вариант 1 )
- •Выполнение логических функций ( вариант 2)
- •1.3. Обработка информации, поступающей с аналоговых датчиков (v1, …,Vm)
- •1.4. Управление пуском–остановом электродвигателя
- •1.5.Управление технологическим параметром в заданных пределах
- •1.6.Обработка запроса прерывания
- •2. Результаты курсовой работы
- •3. Приложение. Описание симулятора adSim812
- •Литература
2. Результаты курсовой работы
Результатами проектирования являются:
структурная схема МКС;
блок-схемы алгоритмов и программы реализации заданных функций на языке Ассемблер;
для каждой программы представить модель симулятора со всеми окнами;
карта распределения адресных пространств памяти программ и данных контроллера
оценка основных характеристик МКС:
а) максимального времени реализации одного цикла управления (от пуска системы до окончания однократной реализации заданного алгоритма ) Время реализации определяется симулятором микроконтроллера автоматически при выполнении программы.
б) емкости памяти данных и памяти программ (в байтах), необходимые для реализации разработанных программ, оценивается студентом самостоятельно.
Оформление курсовой работы
Курсовая работа оформляется в виде пояснительной записки и графической части.
Пояснительная записка должна содержать:
титульный лист;
оглавление с указанием страниц;
задание на курсовую работу;
структурную схему МКСи ее краткое описание, состав и назначение основных модулей контроллера и системы;
блок-схемы заданных алгоритмов и программы их реализации;
модель симулятора со всеми окнами
карту распределения адресного пространства памяти программ и данных МКС;
оценки характеристик разработанной МКС: время выполнения программ и размерность программ в байтах
Оформление пояснительной записки и графической части курсовой работы должно быть выполнено в соответствии с стандартами
3. Приложение. Описание симулятора adSim812
ADSim812 поставляется фирмой Analog Devices, чтобы помочь в оценке, разработке и отладке кода для микроконтроллера AduC812. В то время как не возможно полностью смоделировать AduC812 платформу ,этот симулятор подходит так близко как приемлемо возможно к моделированию платформы и сможет сделать работу по оценке и разработке программ для AduC812 намного проще. ADSim812 был разработан для Analog Devices фирмой Vault Information Services в Littleton, Colorado , США.
Рассмотрим состав , основы организации и функционирования основных модулей микроконтроллера , используемых в курсовой работе. Для разработки программного обеспечения контроллера пользователь симулятора должен выбрать набор модулей , необходимых для выполнения заданных функций и их отладки. Модули выбираются из меню симулятора View.
Основным модулем любого контроллера является центральное процессорное устройство (ЦПУ), обеспечивающее выполнение логических и арифметических операций и обозначенное в симуляторе как SFR Window (рис.10) .
ЦПУ представлен множеством регистров R0…R7, программно доступных пользователю посредством системы команд. В любой из регистров ЦПУ можно записать или изменить значение операнда на любой стадии отладки программы . Для этого необходимо подвести курсор мыши к регистру , кликнуть левой клавишей и затем записать требуемое значение.
Основной рабочий регистр ЦПУ – аккумулятор Acc ,используемый всегда для хранения результата операции и одного из операндов при выполнении операций , а также для обмена информацией с периферийными устройствами, подключаемыми к контроллеру через порты P0…P3 .
Регистр B используется в основном при выполнении операций умножения , деления и некоторых других действий.
PSW – регистр признаков результата операции , хранит флажки (Flags) – признаки результата операции, используемые для выполнения разветвлений в программе командами условных переходов. Наиболее активно используемым флажком в курсовой работе является флажок переноса(CY) из старшего разряда аккумулятора.
Рис10 Модули ЦПУ и портов симулятора
SP – указатель стековой памяти, в котором хранится адрес верхней ячейки стека. Отличием стековой памяти от памяти с произвольным доступом к ячейкам памяти является то, что в стеке используется следующий принцип доступа: данное , записанное в стек первым , можно прочитать только последним, а указатель стека SP ,выполняющий функцию регистра адреса стека , изменяется автоматически при обращении к стеку для формирования адреса следующей ячейки памяти. Подобный механизм доступа к стеку называют сокращенно LIFO (Last Input First Output – «последним записан первым прочитан»).
Регистр PC используется для хранения адреса выполняемой команды программы, после выполнения которой в PC будет сформирован адрес следующей команды.
Регистры IP иIE используются при обработке запросов прерывания и позволяют задать приоритеты каждому из прерываний и разрешить их обработку в ЦПУ соответственно.
Остальные регистры ЦПУ в данной работе не используются и поэтому здесь не обсуждаются.
Для подключения к контроллеру датчиков и устройств ввода и вывода данных в модели имеются порты ввода (Input Ports) и порты вывода (Output Ports). При отладке программы в порты ввода можно загрузить входные данные и стартовать выполнение программы. Выходные сигналы , поступающие в порты вывода, к которым подключены ИМ, формируются моделируемой программой. Основной набор периферийных устройств контроллера можно классифицировать следующим образом:
ПУ для связи с пользователем: клавиатура, индикаторы, принтеры, кнопки сброса контроллера и т.п.
Для хранения основного набора данных в контроллере имеется резидентная память данных (РПД) , модель которой приведена на Рис.11.
В меню View РПД обозначена как IRAM (Internal RAM). В любой из адресов РПД также ,как и в регистр, можно записать 8-битные исходные данные. Дело в том , что в симуляторе нельзя моделировать входные данные, поэтому они предварительно должны быть записаны или в ячейки памяти РПД , или в порт ввода , к которому в реальной системе подключены датчики цифровых и аналоговых сигналов, а также другие устройства ввода. Таким образом разработчик программ сам определяет набор исходных данных, имитируя ,тем самым , работу датчиков.
Адреса ячеек РПД начинаются с кода 00, в первой строке представлено 16 ячеек памяти (00H –0FH), в следующей строке – следующие 16 ячеек(10H-1FH) и т.д. Следует заметить, что в симуляторе все данные и адреса представлены в 16-ричной системе счисления (H –Hexidecimal).
Следует отметить, что команда может занимать в РПП от одного до трех байтов, что необходимо учитывать при оценке длины программы. Отлаживаемую в симуляторе программу можно выполнять в следующих режимах:
автоматический режим выполнения программы полностью;
выполнение программы отдельными фрагментами до точки останова (Breakpoint), количество точек останова неограниченно. Для определения точки останова необходимо выделить требуемый адрес команды и кликнуть мышью на кнопке (Toggle Breakpoint). При этом адрес команды останова будет помещен в квадратные скобки;
Рис.11 Модель резидентной памяти данных РПД.
Пошаговый режим выполнения команд программы.
Время выполнения моделируемой программы определяется симулятором автоматически. Для оценки времени необходимо вызвать из меню View программу анализа (Program Analysis) и снять показание.
Рис.12. Модуль резидентной памяти программ контроллера РПД.