Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01


НазваниеМетодические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01
страница6/12
ТипМетодические указания
filling-form.ru > бланк заявлений > Методические указания
1   2   3   4   5   6   7   8   9   ...   12
Тема 1.6 Программное обеспечение микропроцессорных систем
ЛАБОРАТОРНАЯ РАБОТА №6

Разработка и использование программ с подпрограммами

Учебные цели: Исследование особенностей записи подпрограмм и обращения к подпрограммам на языке Ассемблер в микропроцессорных системах

;

Учебные задачи:
2. Закрепление полученных теоретических знания по программированию микропроцессорных систем.

3. Практически рассмотреть состояние различных узлов и устройств микропроцессора, а также компонентов микропроцессорной системы, используя программное моделирование.
Образовательные результаты, заявленные во ФГОС третьего поколения:
Студент должен:

уметь:

- выполнять требования технического задания по программированию микропроцессорных систем;

- составлять программы на языке Ассемблера микропроцессорных систем;

- создавать и отлаживать программы реального времени средствами программной эмуляции и на аппаратных макетах;

- производить тестирование и отладку микропроцессорных систем.
знать

- программное обеспечение микропроцессорных систем;

- базовую функциональную схему микропроцессорной системы;

- методы тестирования и способы отладки микропроцессорных систем;

- состояние производства и использования микропроцессорных систем;

- особенности программирования микропроцессорных систем реального времени;

- методы микропроцессорной реализации типовых функций управления.
Задачи лабораторной работы:

1.Используя программу эмулятора микропроцессорной системы исследовать систему команд микропроцессора КР580ВМ80 и программы типовых функций управления;

2.Практическое использование нового программного продукта.
Обеспеченность занятия:
1. Учебно-методическая литература:

- Костров Б.В., Ручкин В.Н. Микропроцессорные системы и контроллеры. Учебное пособие. М.,ДЕСС, 2007г,319 с.

- Майоров В.Г., Гаврилов А.И. Практический курс программирования микропроцессорных систем. – М.: Машиностроение, 1999 г.

- Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем: Учебник. – М.: ФОРУМ: ИНФРА-М, 2005

- Палагута К.А. Микропроцессоры INTEL 8080, 8085 (КР580ВМ80А, КР1821ВМ85А) и их программирование/ К.А. Палагута. – М.:МГИУ, 2007. – 104 с.

- Программирование микропроцессорных систем: Учеб. пособие для вузов /Под ред. В.Ф.Шаньгина. – М.: Академия., 2009. – 303 с.
2. Справочная литература

- Конспект лекций «Микропроцессорные системы». Составитель Кузнецов Е.Г. Изд, ГБОУ СПО ЖГК, 2013 г.;

- Система команд микропроцессора КР580ВМ80.
3.Технические средства обучения:

- Персональный компьютер;

- Принтер.

4. Программное обеспечение:

- Операционная система Windows;

- Программа - эмулятор микропроцессорной системы SHELLКР580.
5. Лабораторное оборудование:

- Персональный компьютер;

- Принтер.
6. Рабочая тетрадь в клетку

  1. Ручка.

  2. Карандаш простой.

  3. Чертежные принадлежности: линейка


Краткие теоретические и учебно-методические материалы по теме лабораторной работы
Память микропроцессорной системы на МП КР580ВМ80 может иметь не более 65 536 однобайтных ячеек. Учитывая это, нужно стараться сделать программы как можно короче. С этой целью, часть программы, которая повторяется, или программа, которая часто используется, могут быть сделаны в виде подпрограммы – последовательности команд, выполнение которых может быть вызвано из любого места программы любое количество раз. Процесс передачи управления к подпрограмме называется её вызовом. Данные адреса требуются для работы подпрограммы, называются входными параметрами. Результаты работы подпрограммы передаваемые по окончанию её работы в основную программу, называются выходными параметрами.

Для вызова подпрограммы и возврата из них используются команды CALL и RET. Команда CALL загружает в регистр PC номер линии подпрограммы, при этом микро – ЭВМ автоматически сохраняет в стеке адрес основной программы, к которому она будет обращаться после выполнения подпрограммы. Существуют также команды условного вызова подпрограммы и возврата из них. Они позволяют вызвать подпрограмму и возвратится из неё по определенному состоянию заданных разрядов регистра признаков (аналогично командам условных переходов) без использования дополнительных команд. Команды вызова подпрограммы и возврата из них используют стек и внутренний регистр для адресации к стеку.

На Error: Reference source not found приведен алгоритм простой подпрограммы временной задержки. Здесь общее время задержки вычисляется по формуле:




где – число, первоначально записанное в счетчик. В качестве счетчика использован регистр B, в котором записывается число из регистра C. Команда NOP нужна для увеличения времени выполнения цикла, а, следовательно, и общей задержки. Повтором необходимого числа команд NOP можно корректировать минимальную временную задержку. Величины и фиксированы и в цикл не входят. Минимальная задержка задается при , а максимальная при .
Рис. 1 Алгоритм подпрограммы временной задержки
Вопросы для закрепления теоретического материала к лабораторной работе:


    1. В чем заключается основное различие между командами перехода и командами вызова подпрограмм?

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

- равенства 0 всех разрядов аккумулятора;

- достижения содержимым регистра определенного значения после отрицательного приращения;

- значение разрядов регистра состояния;

- содержимого регистра команд?

3. Какое из нижеперечисленных действий выполняется при вызове одной подпрограммы из другой подпрограммы:

- команда JNE;

- вложение подпрограмм;

- ветвление программы;

- проверка условий?

4.Какое из приведенных ниже действий осуществляется с помощью команды ВОЗВРАТ ИЗ ПОДПРОГРАММЫ:

- загрузка данных в стек;

- извлечение данных из стека;

- начальная установка стека;

- нарушение работы стека?
Задания для лабораторного занятия:
Задание №1: Исследование программы 5.1

1.Записать программу 5.1 в память эмулятора
Задание №2: Исследований программы 5.3

1.Записать полный текст программы 5.3 для генерации звуковых сигналов с учетом программ 5.1 и 5.2
Задание №3: Исследование программы П5.4

1.Ввести программ П5.4 в память эмулятора
Задание №4: Исследование программы 5.5

1.Записать программу 6.5 в память эмулятора.
Листинги программ находятся в тексте описания лабораторной работы.
Внимание: Количество выполняемых заданий назначает преподаватель
Инструкции по выполнению работы


Задание №1: Исследование программы 5.1

    1. Записать программу 5.1 в память микро – ЭВМ

    2. Вычислить время выполнения программы с выполнением цикла один раз. Вычислить число в регистре С для получения задержки 0,5 сек.

  1. Используя программу 5.1 как подпрограмму включить её в разработанную программу по включению светодиодов порта вывода в порядке 1-3-5-7 (программа 3.2. ЛР №4)

  2. Убедиться в том, что светодиоды 1-3-5-7 включаются по очереди на время 0,5.


Подпрограмма №5.1:

mov b,c записать число из регистра С в регистр В

dly:nop нет операции

dcr b уменьшить содержимое В на 1

jnz dly пока в регистре В не 0 идти на dly

hlt все
Задание №2: Исследование программы 5.3

1.Записать полный текст программы 5.3 для генерации звуковых сигналов с учетом программ 5.1 и 5.2

2.Ввести в микро – ЭВМ программу. Установить на входном устройстве число 00. Произвести пуск программы и проследить за изменением тона звука, увеличивается число, записанное во входное устройство.
Подпрограмма №5.2:

jmp main

delay:mov b,c записать число из регистра С в регистр В

dly:nop нет операции

dcr b уменьшить содержимое В на 1

jnz dly пока в регистре В не 0 идти на dly

ret все

main:xra a очистить аккумулятор

out 60 записать 00 в выходное устройство

call delay вызвать подпрограмму задержки

cma записать код FF в регистр А

out 60 записать код FF в выходное устройство

call delay вызвать подпрограмму задержки

hit все
Программа №5.3:

jmp main

delay:mov b,c записать число из регистра С в регистр В

dly:nop нет операции

dcr b уменьшить содержимое В на 1

jnz dly пока в регистре В не 0 идти на dly

ret возврат из подпрограммы

bpp:xra a очистить аккумулятор

out 60 записать 00 в выходное устройство

call delay вызвать подпрограмму задержки

cma записать код FF в регистр А

out 60 записать код FF в выходное устройство

call delay вызвать подпрограмму задержки

ret возврат из подпрограммы

main:in 80 прочитать число из входного регистра в аккумулятор

mov c,a записать число в регистр С

call bpp вызвать подпрограмму BPP

jmp main

продолжать

Задание №3: Исследование программы П5.4

1.Ввести программ П5.4 в память эмулятора

2.Установить на выходном устройстве переключатели соответственно числу 11. Осуществить пуск программы. Убедиться, что МПС будет находиться в режиме ожидания появления 0 в любом разряде входного устройства.

3.Установить 0 с помощью переключателей в любом из разрядов входного устройства. Проверить содержимое всех регистров МП после окончания программы. Осуществить повторный пуск программы при наличии нулей в двух разрядах входного устройства. Какое число будет записано в регистре В после окончания выполнения программы?
Программа №5.4:

lxi sp,0bb0 записать в SP адрес стека

m1:in 80 получить число из входного устройства

cri ff содержит ли какой-нибудь разряд 0?

jz m1 если нет, то ждать

call m2 если да, то вызвать подпрограмму определения разряда

hit останов

m2:mvi b,ff

m3:inr b увеличить содержимое В

rrc сдвиг вправо

jc m3 если CY=1, то продолжать

ret возврат из подпрограммы

Задание №4: Исследование программы 5.5

    1. Записать программу 5.5 в память эмулятора

    2. Убедиться, что программа осуществляет временную задержку на 10 сек.


Программа №5.5:

push bc записать в стек содержимое регистра ВС

lxi bc,1218 занести в регистр ВС время задержки

call cnt обращение к подпрограмме

jmp done перейти в конец программы

cnt:dcx bc декремент содержимого ВС

jnz cnt если ВС0, идти на cnt

ret иначе возврат из подпрограммы

done:pop bc восстановить содержимое ВС

hlt останов программы

Методика анализа результатов, полученных по лабораторной работе
Команда условного перехода проверяет состояние соответствующего разряда регистра признаков (F). Если при проверке состояния разряда регистра признаков условие не подтверждается, то выполняется следующая по порядку команда программы, иначе происходит переход.

Программа 4.1 осуществляет ожидание простого (двоичного) события и при возникновении этого события формирует простое (двоичное) управление. В программе каждый бит порта с адресом 03h ассоциируется с некоторым событием от внешнего устройства, например, соответствует состоянию некоторого концевого переключателя технологического процесса. Таким образом, в технологическом процессе задействованы 8 концевых переключателей с номерами 0, 1, …, 7. Так же в технологическом процессе задействованы 8 исполнительных механизмов с номерами 0, 1, …, 7, могущих принимать выключенное состояние или включенное состояние (0 или 1).

Порядок выполнения отчета по лабораторной работе


  1. Наименование и цель работы

  2. Программы временных задержек.

  3. Рассчитанные числа для задержки на 0.5, 1 и 10 сек.

  4. Программу 5.4 с пояснением содержимого регистра В.

  5. Ответы на контрольные вопросы


Образец отчета по лабораторной работе:
ЛАБОРАТОРНАЯ РАБОТА №6

Разработка и использование программ с подпрограммами

Учебные цели: Исследование особенностей записи подпрограмм и обращения к подпрограммам на языке Ассемблер в микропроцессорных системах

;

Учебные задачи:
2. Закрепление полученных теоретических знания по программированию микропроцессорных систем.

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

Выполнение работы
Задание №1:

Программа 5.1.
MOV B,C // Переслать данные из регистра C в регистр B. (тактов 5).

DLY: NOP // пустая операция. (тактов 4).

DCR B // декрементировать B. (тактов 5).

JNZ DLY // если B не ноль, то переход по метке. (тактов 10-если переход, 4-если не переход).

HLT // Останов. (тактов 7).
Эту программу можно условно разделить на несколько частей: команды которые повторяются только один раз, команды которые могут повторяться много раз. Каждая команда выполняется за определённое количество тактов, причём команда условного перехода JNZ DLY выполняется за 10 тактов если условие верно и осуществляется переход, и за 7 тактов – если условие не выполнено. Можно составить уравнение по подсчету нужного количества итераций цикла этой программы, оно имеет вид:

S = 5 + n·(4+5) + (n-1)·10 + 4 + 7,

где S – общее число тактов на выполнение программы, n – число итераций цикла.

Что бы найти количество итераций цикла для обеспечения нужного числа тактов программы, а следовательно задержки нужно формулу преобразовать:

С учётом того, что один такт равен 0,5·10-3 , чтобы получить задержку в 0,5 сек., подставляем в формулу значение S и получаем количество итераций цикла равным 52 в десятичной системе счисления, необходимо перевести это число в шестнадцатеричную систему счисления для того что бы процессор мог их корректно обработать. Оно равно 34h. Это число нужно записать в регистр C до начала выполнения программы.
Задание №2:

MVI A,02h

RET_:

OUT 90

RAL

RAL

CALL WAT_

JMP RET_

HLT
WAIT_:

MOV B,C

DLY:

NOP

DCR B

JNZ DLY

RET

HLT
Программа №5.4:

lxi sp,0bb0 записать в SP адрес стека

m1:in 80 получить число из входного устройства

cri ff содержит ли какой-нибудь разряд 0?

jz m1 если нет, то ждать

call m2 если да, то вызвать подпрограмму определения разряда

hit останов

m2:mvi b,ff

m3:inr b увеличить содержимое В

rrc сдвиг вправо

jc m3 если CY=1, то продолжать

ret возврат из подпрограммы
При наличии на входном устройстве числа FFh программа зацикливается на первой итерации.

При наличии одной единицы программа выполняется и в конце программы в регистре B остаётся число – номер первого разряда с нулём слева на право.

При наличии большего числа нулей в регистре B получается номер разряда самого левого из нулей.

Задание №3:

Программа №5.5:

push bc записать в стек содержимое регистра ВС

lxi bc,1218 занести в регистр ВС время задержки

call cnt обращение к подпрограмме

jmp done перейти в конец программы

cnt:dcx bc декремент содержимого ВС

jnz cnt если ВС0, идти на cnt

ret иначе возврат из подпрограммы

done:pop bc восстановить содержимое ВС

hlt останов программы

На опыте оказалось, что программа выполняется за 6 секунд, что на 4 секунды быстрее указанного времени.
Ответы на контрольные вопросы:

1.

2.

3.

4.

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

Программа 5.1 реализует алгоритм программной задержки, где занимает один байт: регистр С Для получения требуемой задержки организован цикл, поэтому величина может варьироваться от 00h до FFh (т. е. от 0 до 256), для вычисления временной задержки здесь может быть использована
Для получения задержки 0,5 сек в регистр С необходимо записать число 34h.

Программа 5.2 реализует алгоритм программной задержки, где занимает два байта: В и С. Для увеличения времени задержки организовано два цикла (цикл в цикле), поэтому величина может варьироваться от 0000h до FFFFh (т. е. от 0 до 65535), однако, для вычисления временной задержки здесь должна использоваться гораздо более сложная формула.

Число записанное в регистровой паре, рассчитанное по формуле, ВС =1218 дало временную задержку 6 сек. Чтобы получить 10 сек нужно число увеличить. Оно будет равно 1896
РАЗДЕЛ 1

1   2   3   4   5   6   7   8   9   ...   12

Похожие:

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconЗадания и методические указания к выполнению лабораторных работ по курсу
Методические указания предназначены для студентов экономического факультета, изучающих курсы «Документирование управленческой деятельности»...

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconМетодические материалы для подготовки студентов к промежуточной аттестации...
Мдк02. 02 Стропальное дело профессионального модуля пм. 02 Ремонтно-профилактическое обслуживание механизмов кранов металлургического...

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconМетодические указания по выполнению практических работ по модулю...
Настоящие методические рекомендации определяют общие требования по выполнению практических работ в соответствии с фгос по специальности...

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconЕ. П. Пегова Методические указания к выполнению лабораторных работ по дисциплине
Методические указания к выполнению лабораторных работ по дисциплине информатика для студентов I курса специальности 080507 IV курса...

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconМетодическое пособие по выполнению практических работ по междисциплинарному курсу
Методические указания предназначены для обучающихся по специальности 140448 Техническая эксплуатация и обслуживание электрического...

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconМетодические указания по выполнению практических и лабораторных работ...
Учебно-методическое пособие предназначенодля студентов 3 курса, обучающихся по профессии 23. 01. 03 Автомеханик. Пособие содержит...

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconМетодические указания по изучению раздела «субд ms access» ивыполнению...
Информационные технологии на транспорте: Методические указания по изучению раздела «субд ms access» и выполнению лабораторных работ....

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconМетодические указания к выполнению практических и лабораторных работы...
Методические указания к выполнению практических работ обучающимися по дисциплине оп. 05

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconМетодические указания по выполнению лабораторных работ по дисциплине «Сметное дело»
...

Методические указания по выполнению лабораторных работ по междисциплинарному курсу мдк02. 01 iconМетодические указания к выполнению лабораторных работ по курсу «Аналитическая...
Методические указания предназначены для выполнения лабораторного практикума в соответствии с программой курса «Аналитическая химия»...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск