
- •Московский государственный открытый университет
- •1. Назначение руководства по изучению дисциплины
- •2. Содержание руководства по изучению дисциплины
- •2.1. Краткое содержание дисциплины, методические указания по изучению тем:
- •Тема 1. Общая характеристика микропроцессорной техники.
- •Тема 2. Принципы организации микропроцессорных систем
- •Тема 3. Универсальные микропроцессоры, микроконтроллеры и их применение.
- •Тема 4. Основы программирования микропроцессоров, средства разработки и отладки программного обеспечения.
- •Тема 5. Примеры разработки программ на языке ассемблера.
- •Тема 6. Программирование микроконтроллеров на языках высокого уровня (тема изучается студентами самостоятельно).
- •Тема 7. Мультипроцессорные системы, транспьютеры.
- •Тема 8. Промышленные логические контроллеры.
- •2.2. Контрольные вопросы для самопроверки.
- •2.3. График изучения дисциплины и прохождения контроля усвоения материала.
- •2.4.2. Перечень дополнительной литературы:
- •2.4.3. Перечень лабораторных стендов:
- •2.5. Требования к объёму знаний при итоговом контроле
- •2.6. Перечень лабораторных работ и указания по их выполнению.
- •2.7. Задания на контрольную работу.
- •2.8. Задания на курсовой проект.
- •2.8. Организация оперативной связи студента с преподавателем.
2.7. Задания на контрольную работу.
Контрольная работа выполняется студентами только заочной формы обучения. Выполненная и защищенная контрольная работа является допуском к экзамену при условии, что выполнен и защищен курсовой проект. Контрольная работа содержит по 2 задачи, заключающихся в написании программ на языке Ассемблера или описании действий микропроцессора, вызываемых обработкой тех или иных команд. Студент выбирает задания попарно по последней цифре своего шифра. Например, цифре 1 соответствуют задачи №1 и №11, цифре 2 - №2 и № 12 и т д. Цифре 0 соответствует пара задач №10 и №20. Решения задач следует сопроводить необходимыми пояснениями.
Задача № 1
В результате сложения двух чисел аккумулятор содержит число 2С16 , разряд признака переноса СF содержит 1, признака АС- 0. Определить содержимое аккумулятора после выполнения команды DAA.
Задача № 2
Регистр А содержит число 6D16, ячейка памяти с адресом 01CF16 - число А516, регистр B - число 0116, а регистр C – число CF16. Определить содержимое регистра А после выполнения команды LDX A,BC.
Задача №3
Написать программу, по которой, не изменяя значения остальных разрядов, изменить на противоположное значение 6-ого разряда содержимого ячейки памяти с адресом CF2A16.
Задача № 4
Последняя заполненная стековая ячейка имеет адрес А3F016. Что будет записано в стек, в счетчик команд и в указатель стека непосредственно после выполнения команды CALL 7AECH, адрес которой ECEE16?
Задача № 5
После выполнения трехбайтовой команды с адресом ECEE16 микропроцессор переходит в режим прерывания и выполняет команду RST 6. Что будет записано в стек, в счетчик команд и в указатель стека после выполнения этой команды, если ранее в указателе стека было число 2F0116?
Задача № 6
Написать программу, по которой содержимое регистровой пары DE последовательно уменьшается на единицу до тех пор, пока не станет равным 0, после чего осуществить переход к выполнению дальнейшей программы. Первоначальные значения регистровой пары ввести через порты ввода 1 и 2.
Задача № 7
Регистр А содержит число 8716, регистр В - число 8916. Что будет содержать регистр А после выполнения команд ADD А,B и DAA?
Задача № 8
Написать программу, по которой содержимое регистровой пары HL сдвигается влево (в сторону старших разрядов) на четыре разряда.
Задача №9
Написать программу вычитания содержимого ячейки памяти с адресом D0A616 из содержимого регистра D. Если результат окажется отрицательным, перейти к команде с меткой FOR1, если результат окажется положительным - к команде с меткой FOR2. Рассмотреть два случая написания программы: в первом случае вычитаемое и вычитатель положительные и представлены в прямых кодах, во втором случае – знакопеременные и представлены в дополнительных кодах.
Задача №10
Написать программу, по которой проверяется байт в ячейки памяти с адресом CD7A16. Если число единиц этого байта чётно осуществляется переход к команде с меткой МЕТ1, в противном случае – к команде с меткой МЕТ3.
Задача № 11
Написать программу сложения значений, опрошенных через порты ввода 1 и 2. Результат должен размещаться в ячейках памяти A8CD16 и A8CE16. При этом старшая ячейка должна формироваться значением переноса, если он возник при сложении.
Задача № 12
Написать программу, по которой подсчитывается число единиц в двух байтах, хранящихся в ячейках памяти А8CD16 и А8CE16.
Задача №13
Написать программу, по которой сравниваются два числа, хранящихся в ячейках памяти с адресом CEF916 и CEFA16. Большее из этих чисел вывести в порт вывода 5. Считать, что содержимое ячеек памяти положительное и представлено в прямых кодах.
Задача №14
Написать программу, по которой постоянно проверяется значение шестого разряда байта на входе порта ввода 5. Если значение этого разряда изменилось, в порт вывода 8 выводится число 0F16, если нет – число 0016.
Задача №15
Написать программу, обнуляющую 500 ячеек памяти в сторону увеличения их адресов, начиная с ячейки памяти с адресом С28Е16.
Задача №16
К порту ввода 1 подсоединены кнопки, из которых может быть одновременно нажата только одна. Написать программу, по которой постоянно производится опрос порта ввода и выводится в порт вывода 2 двоичный код номера нажатой кнопки. При отсутствии нажатой кнопки в порт вывода выводится 0.
Задача №17
Написать программу, по которой подсчитать сумму 32 опросов порта ввода 1. Сумму представить двухбайтовым кодом, размещенным в ячейках памяти 800116 и 800216.
Задача №18
На вход порта ввода 1 поступают двоичные коды чисел от 1 до 8. Написать программу, постоянно опрашивающую порт ввода 1 и выводящую единицу в тот разряд порта вывода 4, номер которого соответствует значению числа на входе порта 1.
Задача №19
Время такта равно 1мкс. Написать подпрограмму временной задержки величиной в 1с.
Задача №20
Написать программу, по которой будет подсчитываться количество поступивших единичных импульсов на вход прерывания по 5-й линии. Подсчет прекратить, когда поступит 150 импульсов. По окончании этого подсчета в порт вывода 7 вывести единицу. Считать, что прерывание формирует код команды RST n микропроцессора i8080.