Министерство общего и профессионального образования Российской Федерации Северо-Западный заочный политехнический институ...
27 downloads
161 Views
489KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство общего и профессионального образования Российской Федерации Северо-Западный заочный политехнический институт Кафедра автоматизации производственных процессов
МИКРОПРОЦЕССОРНЫЕ СРЕДСТВА И СИСТЕМЫ Методические указания к выполнению лабораторных работ
Факультет машиностроительный Специальность 2102 – Автоматизация технологических процессови производств
Санкт-Петербург, СЗПИ 1998
Утверждено редакционно-издательским Советом института УДК Микропроцессорные средства и системы: Методические указания к выполнению лабораторных работ – СПб: СЗПИ, 1998 – __ с Представлены методические указания к выполнению лабораторных работ, предусмотренных рабочей программой по дисциплине "Микропроцессорные средства и системы". Издание предназначено для студентов специальности 2102, занимающихся без отрыва от производства. Рассмотрено на заседании кафедры автоматизации производственных процессов __________ 1998г., одобрено методической комиссией машиностроительного факультета __________ 1998г. Рецензенты: кафедра автоматизации производственных процессов СЗПИ (зав.кафедрой – А.А.Сарвин, канд.техн.наук, доц.) В.В.Григорьев, д-р техн.наук, проф., зав.кафедрой автоматики и телемеханики СПИТМО Составитель: С.С.Михейкин, канд.техн.наук, доцент
©
Северо-Западный заочный политехнический институт
ЛАБОРАТОРНАЯ РАБОТА 1 ОЗНАКОМЛЕНИЕ С РАБОТОЙ УЧЕБНОГО МИКРОПРОЦЕССОРНОГО КОМПЛЕКСА (УМК) ЦЕЛЬ РАБОТЫ: ознакомление со структурой УМК, органами управления и режимами работы. Основные теоретические положения УМК представляет собой законченную микроЭВМ и предназначен: 1) для изучения основ проектирования и обслуживания микроЭВМ, построенных на базе микропроцессора К580ВМ80А; 2) для обучения основам программирования микропроцессора К580ВМ80А. Микропроцессор К580ВМ80А программно совместим с микропроцессорами U880, INTEL8080, INTEL8085, INTEL8086 и Z80, на базе которых реализован широкий перечень микропроцессорных систем. Технические характеристики:
Тип применяемого процессора Объем оперативного запоминающего устройства (ОЗУ) Объем постоянного запоминающего устройства (ПЗУ) в том числе ПЗУ пользователя Дисплей Клавиатура Уровни входных и выходных сигналов Потребляемая мощность, не более
К580ВМ80А 1 кбайт 2 кбайта 1 кбайт 6 семисегментных светодиодных матриц 8 функциональных и 16 информационных клавиш ТТЛ 50 ВА
Основой микроЭВМ является операционное устройство (ОУ), которое производит все операции по обработке информации. В ПЗУ записана программа “Монитор”, обеспечивающая ввод информации с клавиатуры пульта оператора и вывод ее на дисплей. Программа “Монитор” занимает 1 кбайт ПЗУ и использует последние 54 ячейки ОЗУ используются для хранения программ пользователя.
Постоянное запоминающее устройство (ПЗУ) имеет объем 2 кбайта. Первый килобайт ПЗУ занимает программа “Монитор”. Все операции, которые производятся на УМК при нажатии клавиатур пульта управления выполняются в результате обращения к подпрограммам системного монитора. Таким образом, в УМК реализовано программное выполнение управляющих директив (чтение и модификация содержимого ячеек памяти, регистров, перемещения массивов данных и т.д.). Второй Кбайт ПЗУ используется для хранения программ пользователя. Оперативное запоминающее устройство (ОЗУ) имеет объем 1 Кбайт и используется для хранения программ пользователя и исходных данных, необходимых для выполнения программы. Пульт оператора состоит из клавиатуры, шестиразрядного дисплея, световой индикации и управляющих кнопок сброса (СБ), прерывания (ПР), и шага (ШГ), а также переключателей работа/шаг (РБ/ШГ) и команда/цикл (КМ/ЦК). Устройство пошагового выполнения программ предназначено для отладки и переводит ОУ в состояние “Ожидание” после выполнения каждой команды (цикла). Описание лабораторной установки Ввод информации в микроЭВМ и вызов директив осуществляется с клавиатурой, расположенной на лицевой панели УМК. Отображение вводимой и выводимой информации в шестнадцатеричном коде происходит на шестиразрядном дисплее. Группы светодиодов с надписями АДРЕС, ДАННЫЕ и СОСТОЯНИЕ используются для вывода информации в двоичном коде с 16-разрядной магистрали адреса, 8-разрядной магистрали данных и регистра состояния, по которому формируются управляющие сигналы. Клавиатура УМК разбита на две группы клавиш. Директивные клавиши расположены в правой части пульта управления. Директивные клавиши служат для вывода и имеют следующие обозначения: “П” “РГ” “СТ” “ПМ” “КС”
чтение и изменение содержимого памяти; чтение и изменение содержимого регистров МП БИС; запуск программы пользователя; перемещение массива памяти в адресном пространстве; определение контрольной суммы массива;
заполнение массива памяти константой; клавиша пробела; служит для разделения нескольких переменных при вводе; “ВП” выполнить; означает конец директивы. Информационные клавиши служат для ввода в шестнадцатеричном коде и “ЗК” “_“
расположены справа от директивных клавиш. Клавиши с 4/РН по Р служат для вызова идентификаторов регистров МП БИС. При неправильной работе с клавиатурой в крайней правой позиции дисплея индицируется знак “?”. Команда, задаваемая пользователем, состоит из директивы и параметров и может быть представлена в общем виде ДИР [ПАР1 "_" ПАР2 "_" ПАР3] "ВП", где ДИР — соответствует нажатию одной из директивных клавиш; ПАР1, ПАР2, ПАР3 - числа, набираемые на информационной клавиатуре и являющиеся параметрами директив (возможно от одного до трех параметров в зависимости от директивы). Порядок выполнения лабораторной работы 1. Включить УМК, нажав кнопку "Вкл". После этого нажать управляющую клавишу "СБ", при этом в крайней левой позиции дисплея должен появится знак "–", свидетельствующий о том, что УМК готов к работе. 2. Чтение и изменение содержимого памяти. Адресное пространство памяти УМК ограничено 3 Кбайт. Первые два килобайта памяти отведены ПЗУ и не могут использоваться для записи данных и программ, вводимых с пульта. Таким образом, адресное пространство, доступное оперативному вмешательству пользователя ограничено областью 0800 - 0ВГГ. Адресация к ячейкам памяти а пределах адресного пространства осуществляется двухбайтовыми словами, представленными в шестнадцатеричном коде. Для входа в адресное пространство необходимо нажать директивную клавишу "П" и на информационных клавишах набрать начальный адрес. Общую последовательность действий можно представить в следующем виде П(А1 ÷А4)16 _ D1 _ D2 _…_Dn _ ВП , где (А1 ÷А4)16 – шестнадцатеричный адрес начальной ячейки памяти; D1, D2 ,... - данные, заносимые в ячейки памяти.
После нажатия клавиши "ВП" управление передается системному монитору. Нажать клавишу "П", а затем набрать шестнадцатеричный адрес ( 4 цифры) исследуемой ячейки памяти (ЯП) с помощью информационных клавиш. Нажать клавишу "_". При этом УМК высветит на дисплее адрес ЯП и ее содержимое. Занести их в табл. 1. Для изменения содержимого ЯП наберите ее новое содержимое (2 цифры) и нажмите клавишу "_". При этом индицируется содержимое следующей ЯП. Для перехода к следующей ЯП без изменений ее содержимого необходимо только нажать клавишу "_". Последовательно повторяя операции чтения и модификации содержимого ЯП несколько раз, создать массив информации. Завершить создание массива, нажать клавишу "ВП". Снова нажать клавишу "П" и начальный адрес массива. Убедиться, что содержимое исследуемой области памяти соответствует внесенным изменениям, последовательно нажимая клавишу "_" и записывая результаты в табл. 1. Нажать клавишу "ВП". 3. Перемещение массива памяти в адресном пространстве. Часто при программировании возникает задача перенести информацию из одной части адресного пространства в другую. Директивная клавиша “ПМ” позволяет выполнить эту процедуру. Для этого необходимо последовательно нажать следующие клавиши “ПМ” АДРЕС1 “_“ АДРЕС2 “_“ АДРЕС3 “ВП”, где АДРЕС1 и АДРЕС2 – соответственно начальный и конечный адрес исследуемого массива; АДРЕС3 – начальный адрес области памяти, куда требуется переместить массив. Убедиться, что содержимое массива находиться в новой области памяти, выполнив п.2 для адреса “АДРЕС3”. 4. Индикация и измерение содержимого регистров и микропроцессора. Блок регистров является важным элементом МП. В состав блока регистров входят 16-разрядные регистры адреса, команды, указатели стека, временного хранения, шесть 8-разрядных регистров общего назначения (B, C, D, E, H, L) и аккумулятор А. Регистры общего назначения могут использоваться и как три 16разрядных регистра (BC, DE, HL).
Особое значение имеет регистр А (аккумулятор), который представляет собой накопительный регистр. После выполнения операций результат вычислений заносится МП в аккумулятор. Для чтения информации из регистров и работы с ними используется директивная клавиша “РГ”. Для обследования содержимого регистров необходимо нажать клавишу “РГ”, а затем символ регистра на информационной клавиатуре. При этом индицируется содержимое указанного регистра. Для изменения этого содержимого наберите новое значение (2 цифры). Нажмите клавишу “_“ и символ следующего регистра. При необходимости перехода к следующему регистру без изменения содержимого, нажмите клавишу “_“ не набирая новых данных. Произвести таким образом просмотр и модификацию содержимого регистров A, B, C, D, E, H, L, F, SL, SH, PL, PH и свести данные в табл.2. Для завершения нажать клавишу “ВП”. Нажать клавишу “РГ” и произвести просмотр содержимого регистров, используя клавиши символов регистров и “_“. Данные записать в табл.2. Для завершения нажать клавишу “ВП”. В системе команд микропроцессора К580ВМ80А предусмотрено большое количество однобайтовых пересылок данных, с помощью которых производится обмен данными между внутренними регистрами, между регистрами и ячейками памяти. Внутренние межрегистровые пересылки осуществляются с помощью группы команд MOV R1,R, где R1,R – любые внутренние 8-разрядные регистры микропроцессора. При выполнении данной команды содержимое регистра R пересылается в регистр R1. Исследование межрегистровых пересылок позволяет простейшая программа. Программа 1
Адрес 0800 0801 0802 0803 0804
Мнемокод операции MVI A, D16-1 MVI B, D16-2 MOV B,A
Машинный код
Комментарий
3E 16-1 06 16-2 47
Загрузка числа 16-1 в регистр А Загрузка числа 16-2 в регистр В Пересылка содержимого А
вВ где 16-1, 16-2 – шестнадцатиричные коды произвольных чисел, заносятся в регистры. Ввести программу в ОЗУ в соответствии с п.2. Запустить выполнение программы написания директивные клавиши в следующей последовательности: СТ 0800 _ 0804 ВП. Прочесть содержимое регистров А и В и занести результаты в таблицу 3. Последовательно изменить содержимое памяти 0804 кодами 57 и 60, повторяя запуск программы. Посмотреть содержимое регистров общего назначения и определить, какие межрегистровые пересылки осуществляет микропроцессор. Занести в таблицу 3 текст программы, соответствующий проведенным экспериментам.
Таблица 1 №
Адрес
Старое содержимое
Новое содержимое
Таблица 2 Символ регистра A B C D E H L F SL SH PL PH
Старое содержимое
Новое содержимое
Таблица 3 Адрес
Результат
Содержимое программы
A= B= C= D= E= F=
Содержание отчета 1. Структурная схема УМК 2. Таблица результатов с пояснениями. 3. Выводы
Комментарий
ЛАБОРАТОРНАЯ РАБОТА 2 ИССЛЕДОВАНИЕ МАШИННЫХ ЦИКЛОВ МИКРОПРОЦЕССОРА К580ИК80А ЦЕЛЬ РАБОТЫ: ознакомление с принципами функционирования МП К580ИК80А и изучение процессов передачи информации в микроЭВМ. Основные теоретические положения
Микросхема К580ИК80А представляет собой однокристальное 8-разрядное процессорное устройство с фиксированной системой команд. Каждая команда выполняется в течении одного или нескольких машинных циклов, включающих в себя этапы выборки команд из памяти и ее исполнения. Команды К580ИК80А состоят из различного числа байтов, а, соответственно и длительность цикла выборки для разных команд различна. Кроме того, длительность исполнения команды зависит от ее типа и способа адресации операндов. В основном же длительность выполнения команды определяется числом обращений к памяти или внешнему устройству, т.е. числом машинных циклов (МЦ). Число МЦ изменяется 1 для 1-байтовых команд межрегистровых пересылок данных до 5 для 3-байтовых сложных команд. Для получения внешним устройством информации о текущем МЦ, процессор при наступлении очередного МЦ выдает на шину данных однобайтовое слово состояния. Назначение каждого разряда слова состояния приведено в табл. 1. В табл. 2 приведены типы машинных циклов и соответствующие им сигналы состояния. Таблица 1 Разряд Наименовани Действие сигнала состояни е я сигнала 0 INTA Подтверждение запроса прерываний 1 WO/ Данные выдаются из МП 2 STACK Означает наличие на шине адреса содержимого указателя стека 3 HLTA МП перешел в состояние “Останов” 4 OUT Вывод на внешнее устройство 5 MI МП принимает код команды 6 INP Ввод с внешнего устройства 7 MEMR МП читает содержимое памяти
Таблица 2 INTA
WO/
STACK HLTA
OUT
MI
INP
MEMR
Выборка кода команды
0
1
0
0
0
1
0
1
Чтение памяти
0
1
0
0
0
0
0
1
Запись в память
0
0
0
0
0
0
0
0
Чтение стека
0
1
1
0
0
0
0
1
Запись в стек
0
0
1
0
0
0
0
0
Чтение устройства
0
1
0
0
1
0
1
0
Запись в устройство
0
0
0
0
1
0
0
0
Прерывание
1
1
0
0
0
1
0
0
Останов
0
1
0
1
0
0
0
1
Прерывание в останов
1
1
0
1
0
1
0
0
Тип МЦ
Первым МЦ каждой команды является “Выборка кода команды”. В нем байт команды считывается с шины данных по текущему адресу. МЦ “Чтение памяти” отличается от предыдущего только тем, что отсутствует сигнал МI и байт информации заносится в один из внутренних регистров МП. МЦ “Запись в память” отличает от предыдущего только тем, что информация с шины данных заносится в ячейку, адрес которой поступает на шину адреса. МЦ “Чтение устройства” и “Запись в устройство” отличается от предыдущих наличием сигналов INP и OUT соответственно. МЦ “Прерывание” во многом аналогичен МЦ “Выборка кода команды”, за исключением того, что байт команды выставляется устройством, вызвавшем прерывание. МЦ “Останов” наступает только в результате выполнения команды МЦ “Прерывание в останове” является разновидностью МЦ “Прерывание” в случае, когда устройство выставляет ко команды HLT. Описание лабораторной установки
Исследование машинных циклов МП К580ИК80А проводится на учебном микропроцессорном комплексе (УМК). На пульте оператора УМК имеется световая индикация состояния МП, которая фиксирует содержимое регистра состояния в
начале каждого машинного цикла. Кроме того, УМК содержит устройство пошагового выполнения программы, которое переводит МП в состояние “Ожидание” после выполнения очередного шага. Возможны два пошаговых режима работы: покомандный и поцикловый. Вызов пошагового режима осуществляется переключателем “РБ/ШГ”, выбор величины шага – переключателем “КМ/ЦК”. Для последующего шага необходимо нажать кнопку “ШГ”, при этом после выполнения очередного шага на световой индикации отображается состояние адресной шины, шины данных и регистра состояния в двоичном коде. Поскольку содержимое регистра состояния полностью определяет тип текущего МЦ, в поцикловом режиме можно исследовать процессы выполнения отдельных команд программ. В настоящей лабораторной работе исследуется 3 программы, демонстрирующие различные способы использования команд (табл. 3). Таблица 3 Выполняемое действие
№ Адрес Содержимое Обозначение п/п ячейки ячейки команды 1 900 3А LDA 800 Загрузка аккумулятора содержимым 901 00 ячейки по адресу 800 902 08 903 36 HLT Останов 2 900 21 LXI H,800 Загрузка регистровой пары HL 901 00 числом 800 902 08 903 46 MOV A,M Загрузка аккумулятора 904 36 HLT Останов 3 900 21 LXI H,800 Загрузка регистровой пары HL 901 00 числом 800 902 08 903 F9 SPHL Установка указателя стека 904 F1 POP PSW Выдача из стека в аккумулятор 905 36 HLT Останов Во всех трех случаях результат выполнения программ одинаков: содержимое ячейки с адресом 800 загружается в аккумулятор. Различие составляют способ адресации и, следовательно, число команд. Программа 1 использует прямую адресацию, программа 2 — косвенно-регистровую, программа 3 — регистровую с использованием стека.
Для исследования программ в поцикловом режиме необходимо: 1. записать программу в память, начиная с адреса 900; 2. установить переключатель “РБ/ШГ” в положение “ШГ”, а переключатель “КМ/ЦК” — в положение “ЦК”; 3. запустить программу с адреса 900; 4. последовательно нажимая клавиши “ШГ” и записывая информацию, выводимую на световую индикацию в начале каждого МЦ, выполнить программу до точки останова (код команды — 36). Порядок выполнения лабораторной работы
1. Ознакомиться с принципом работы и органами управления УМК. 2. Изучить элементы световой индикации пульта оператора, соответствующие сигналам состояния (табл.1). 3. Провести исследование программ 1,2 и 3 (табл.3). 3.1.
Записать программу в память и убедиться в правильности ее работы (содержимое регистра А должно соответствовать содержимому ячейки по адресу 800 после выполнения программ).
3.2.
Выполнить программу в поцикловом режиме в соответствии с вышеизложенной методикой.
4. Для каждой программы экспериментальную информацию свести в табл.4. № цикла
Шина адреса
Шина данных
Таблица 4 Состояние
5. Определить число МЦ для каждой команды. 6. Составить алгоритмы работы программ 1,2 и 3 по циклам, используя табл.2. Содержание отчета
1. Описание сигналов состояния и типов МЦ. 2. Описание программ 1,2 и 3 и алгоритмов их работы по циклам. 3. Таблица экспериментальных данных. 4.
Сравнительный анализ команд, содержащихся в исследованных программах.
ЛАБОРАТОРНАЯ РАБОТА 3 ЗАПИСЬ И ВЫПОЛНЕНИЕ ПРОСТЫХ КОМАНД ЦЕЛЬ РАБОТЫ: ознакомление с системой команд микропроцессора К580ВМ80А, исследование выполнения отдельных команд и простых программ, исследование различных способов адресации. Основные теоретические положения
Микропроцессор К580ВМ80А имеет фиксированный набор команд. По формату команды делятся на одно-, двух- или трехбайтовые. Многобайтовая команда должна размещаться в последовательно расположенных ячейках памяти. В первом байте команды всегда указывается код операции. Формат команды в целом определяется выбранным способом адресации. В системе команд используются четыре способа адресации: • регистровая, при которой в первом байте команды указываются только коды регистров, являющихся источниками или приемниками информации (однобайтные команды MOVR, RI, ADDR, RCHI и т.д.); • косвенная регистровая, при которой в формате команды указаны регистры, содержание которых определяет адрес ячейки памяти с операндом (трехбайтовые команды MOVP,M; ADDM,DAXB и т.д.); • непосредственная адресация, при которой операнд содержится во втором и третьем байте команды (команды MVI R; ADI; ACI; LXI B и т.д.); • прямая адресация, при которой адрес ячейки памяти с операндом содержится во втором и третьем байтах команды (JNP,CALL, CTA, LDA и т.д.) Полная система команд микропроцессора К580ВМ2А представлена в приложении. Результатом программирования является подготовленная для записи в запоминающее устройство последовательность команд. Программа записывается на символическом языке, в котором команда, адреса и данные представлены с помощью алфавитно-цифровых символов. Типичный оператор символического языка записывается в виде строки, содержащей пометки, операции, операнда и
комментария. Метка команды (ее символический адрес) позволяет обращаться к данной команде из любой точки программы. Рассмотрим простейшую программу, извлекающую число из адреса памяти 0800, увеличивающую число на единицу с последующей записью по адресу 0803. Программа МСА
Адрес 0800
Метка Мнемокод Машинный код МСА
LDA 0800
Комментарий
3А
код команды LDA
0801
00
младший байт адреса
0802
0В
Старший байт адреса
0803
INRA
3С
код команды INR
0804
STA0B03
32
код команды STA
0805
STA0B03
03
младший байт адреса
0В
Старший байт адреса
0806
В представленной программе используется прямой способ адресации. При записи программы все числе представляются в шестнадцатеричной системе счисления. В программе использованы две трехбайтовые и одна однобайтовая команды, занимающие соответственно часть адресного пространства ОЗУ с0800 по 0806 ячейку памяти. В качестве дополнительного примера рассмотрим аналогичную программу с косвенным способом адресации данных.
Программа МСВ Адрес
Метка Мнемокод Машинный
Комментарий
код 0800
МСВ
21
Запись в регистры H и L числа
0801
00
0800
0802
0В
0803
XIH, 0B00
MOVA, M
7E
Загрузить в регистр А число с адресом, указанным в регистрах HиL
0804
INR A
3C
Увеличить содержимое регистра А на единицу
0805
INX M
23
Увеличить на единицу содержимое H и L
0806
MOVM, A
77
Записать число из А по адресу 0В01, хранящемуся в H и L
В представленной программе адрес операнда, подлежащего загрузке в аккумулятор и адрес последующей записи результата вычислений хранятся в регистрах общего назначения H и L.
Порядок выполнения лабораторной работы
1. Включить УМК и ввести в ОЗУ программу МСА в соответствии с методикой, изложенной в работе №1. 2. Занести в память УМИ произвольное число по адресу 0800. Запустить выполнение программы и исследовать содержимое ячейки памяти 0803. 3. Исследовать процесс выполнения команд по машинным циклам. При выполнении каждой команды проанализировать содержимое регистров, использованных в программе. Состояние шин адреса и данных занести в табл.1. 4. Заменить в программе МСА команду INRA на команды СМА(2F), DCRA (30), ADD A (87). Исследовать результат выполнения указанных операций и занести полученные данные в табл.2.
5. Модифицировать программу МСА в программу МСВ и повторить пункты 3 и 4. 6. В программе МСВ последовательно дополнить команду INRA командами MOV B, A; ADD B; INXB; SUB B постоянно расширяя программу. Исследовать результат выполнения программы по адресу 0В01. Данные занеси в табл.3. Таблица 1 Номер шага
Состояние шины адреса
Состояние шины данных
Таблица 2 Число по адресу 0800
Команда по адресу 0803
Число по адресу 0803
Таблица 3 Число по адресу 0800
Дополнение к команде INRA
Содержание отчета
1. Тексты базовых и модифицированных программ. 2. Таблица с результатами исследований. 3. Выводы.
Число по адресу 0801