Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Работа над заданием






Индивидуальное задание состоит в следующем:

· написать программу на языке Ассемблер ASM-51 для однокристального микроконтроллера семейства i8051, реализующую решение системы уравнений;

· отладить программу в пошаговом режиме с помощью отладочного контроллера и получить при ее выполнении результаты для разных вариантов исходных данных.

Индивидуальное задание представлено в виде системы уравнений, содержа-

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

Все элементы данных в уравнениях в виде операндов с различными варианта-

ми адресации и в различных системах счисления:

· число без префикса — прямая адресация;

· префикс # - непосредственная адресация;

· префикс @ - косвенная адресация (указатель выбирается произвольно);

· индекс р - читать из памяти программ;

· индекс Н - число в шестнадцатеричной системе счисления;

· индекс В - число в двоичной системе счисления

Например:

@0035 – косвенный адрес ячейки памяти программ в шестнадцатеричном

виде;

#67 – непосредственный операнд (число) в десятичном виде;

54 – прямой адрес операнда в десятичном виде;

@38 – косвенный адрес операнда в десятичном виде;

#1EH – непосредственный операнд в шестнадцатеричном виде;

#01100110 B - непосредственный операнд в двоичном виде;

25 H – прямой адрес операнда в шестнадцатеричном виде;

@7F H – косвенный адрес операнда в шестнадцатеричном виде;

R0…R7 – прямой регистровый адрес операнда.

Запись типа 54.3, R4.1 или 25H.2 означают операции с битами указанных операндов (после точки указывается номер бита).

 

Первый этап выполнения задания - представление всех адресов и исходных данных в шестнадцатеричной системе счисления, так как все данные и адреса вводятся в микроконтроллер только в шестнадцатеричном виде

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

Рис. 8. Блок-схема алгоритма программы

 

Третий этап выполнения задания - составление программы на языке Ассемблер ASM-51 для однокристального микроконтроллера семейства i8051.

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

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

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

 

5. Как работать с учебным микроконтроллером УК52–ЭМ02

 

На рис.9 показан внешний вид учебного микроконтроллера УК52–ЭМ02. На передней панели находятся десятиразрядный дисплей, на который выводится информация о выполняемых командах, текущих адресах ОЗУ и памяти программ, содержимом соответствующих ячеек памяти и регистров.

 

 
 

Рис. 9. Внешний вид учебного микроконтроллера УК52–ЭМ02

 

Клавиатура контроллера имеет 16 белых клавиш для ввода исходных данных в шестнадцатеричном виде (цифры от 0 до F). С помощью этих же клавиш вводятся команды Монитора (управляющей программы), позволяющие записывать и модифицировать содержимое ячеек памяти и регистров, а также выполнять отладку программы и ее выполнение. 4 красные клавиши управляют режимами работы контроллера:

Клавиша «#» - вызов или выход в программу Монитор без записи последнего изменения;

Клавиша «˽» - возврат к предыдущей ячейке памяти;

Клавиша «CR» – запись текущего значения и переход к следующему;

Клавиша «R» - сброс (установка) контроллера в исходное состояние.

 

 

Команды программы Монитор:

 

Команда «P» (P rogram) - позволяет просматривать и модифицировать содержимое внешней памяти программ (ВПП).

После нажатия на клавишу «P», предлагается ввести начальный адрес по умолчанию 0000Н (начало ОЗУ), после нажатия клавиши «CR» высвечивается содержимое ячейки памяти находящейся по данному адресу которое доступно для редактирования, после редактирования нужно нажать «CR» что приведёт к записи введенного значения по текущему адресу и переходу к следующей ячейке. При вводе программы необходимо помнить, что с адреса 0003Н начинается таблица векторов прерываний.

Клавиша «˽» позволяет вернуться к предыдущей ячейке памяти.

Клавиша «#» - выход в монитор, без записи последнего изменения;

На рис.9 показан пример выполнения команды «P», в крайнем левом разряде дисплея высвечивается имя команды, далее высвечивается адрес ячейки памяти программ (0003Н) и слева – содержимое ячейки памяти (Е5Н).

Команда «D» (x D ata) - позволяет просматривать и модифицировать содержимое внешней памяти данных (ВПД).

Команда полностью идентична предыдущей, за исключением того, что работает не с ВПП, а с ВПД.

 

Команда «E» ( E mbark) – позволяет просматривать и модифицировать содержимое регистров (РСФ).

После нажатия на клавишу «Е» в старших разрядах индикатора высвечивается имя регистра, в младших его содержимое. Нажатие клавиши «CR» приведет к записи вновь введенного значения в текущий регистр и переход к следующему.

Клавиша «˽» позволяет вернуться к предыдущему регистру.

Клавиша «#» - выход в монитор, без записи последнего изменения.

 

Команда «S» – позволяет просматривать и модифицировать содержимое оперативной памяти (ОЗУ).

После нажатия на клавишу «S» предлагается ввести начальный адрес, по умолчанию 00Н. После нажатия клавиши «CR» на дисплее высвечивается содержимое ячейки памяти находящейся по данному адресу, которое доступно для редактирования. После редактирования нужно нажать на клавишу «CR», что приведёт к записи введенного значения по текущему адресу и переходу к следующей ячейке

Клавиша «˽» позволяет вернуться к предыдущей ячейке памяти.

Клавиша «#» - выход в монитор, без записи последнего изменения.

Команда «G» ( G o) - позволяет выполнить программу пользователя.

После нажатия на клавишу «G» будет предложено выбрать режим запуска S or G. Режим «S» - выполнение программы по шагам, после введения адреса запуска программа начнет выполняться по шагам для выполнения каждой следующей инструкции нужно нажать на клавишу «j» (jump), выход из этого режима осуществляется нажатием на клавишу «A» (abort). После каждого следующего шага на индикаторе в старших разрядах высвечивается содержимое счетчика команд PC а в младших содержимое аккумулятора, при этом самый младший разряд мерцает. Режим «G» (GO) - это выполнение программы с указанного адреса целиком. В любом случае для корректного возврата в монитор программа пользователя должна заканчиваться инструкцией LJMP C100Н (02 C1 00).

Команда «_» - позволяет переключится на ПЗУ пользователя.

После нажатия на «_» на экране высвечивается сообщение «User» и передается управление в ПЗУ пользователя с адреса 0000Н.

Команда «1» - позволяет очистить ВПД

Команда «2» - позволяет очистить ВПП






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.