Некоммерческое акционерное общество
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
Кафедра «Электроники»
ЦИФРОВЫЕ УСТРОЙСТВА И МИКРОПРОЦЕССОРЫ
Методические указания к лабораторным работам
для бакалавров специальности
5В100200 –Системы информационной безопасности
Алматы 2013
СОСТАВИТЕЛЬ: С.Н.Петрищенко. Цифровые устройства и микропроцессоры. Методические указания к лабораторным работам для бакалавров специальности 5В100200 – Системы информационной безопасности. - Алматы: АУЭС, 2013. – 33 с.
Методические указания содержат рабочие задания и методические указания к их выполнению по восьми лабораторным работам для экспериментального исследования работы логических элементов, триггеров, комбинационных и последовательностных устройств, а также по основам программирования на языке ассемблера 8-разрядного микропроцессора i8085. Приведен перечень рекомендуемой литературы и контрольные вопросы.
Методические указания предназначены для студентов специальности 5В100200 – Системы информационной безопасности
Ил. 37, табл. 18 , библиогр. – 8 назв.
Рецензент: канд.тех.наук, проф. А.С.Байкенов
Печатается по дополнительному плану издания некоммерческого акционерного общества «Алматинский университет энергетики и связи» на 2013 год
© НАО «Алматинский университет энергетики и связи», 2013 г.
Введение
Предлагаемое методическое руководство состоит из двух частей, одна из которых посвящена исследованию работы цифровых устройств малой и средней степени интеграции, а другая – архитектуре и программированию на языке ассемблера микропроцессора i8085.
При выполнении первой части студент проводит как практические измерения и наблюдения на стендах PU – 2000 фирмы Degem Systems, так и виртуальные эксперименты, выполняемые посредством моделирования исследуемых цифровых устройств в программной среде Electronics Workbench.
Вторая часть работы связана с изучением структуры микрокомпьютера, построенного на базе микропроцессора i8085 и использования его для решения простейших задач программирования на языке ассемблера. Для этой цели используется стендовое оборудование фирмы Degem Systems. В последней работе для исследования динамических процессов, происходящих в микропроцессоре при выполнении им команд программы, используется его симулятор.
Различные формы организации учебного исследования обеспечивают более глубокие знания студентов по теории изучаемых элементов и устройств цифровой электроники и способствуют формированию у них практических навыков по проведению практических и моделирующих экспериментов.
Выполнение учебных исследований как в виде практических, так и в виде виртуальных экспериментов создает возможность для организации лабораторных занятий в случае недостаточной обеспеченности лабораторным оборудованием. В этом случае одна половина студентов учебной группы может выполнять практическую часть эксперимента, а другая в это же время проводить виртуальные исследования, потом задания между группами меняются.
По выполненному учебному исследованию студенты должны подготовить отчет. Отчет должен содержать схемы исследования, измеренные и рассчитанные данные, графические построения, определенные (измеренные и рассчитанные) параметры исследуемого элемента или устройства, выводы по результатам выполненных экспериментов, краткие ответы на контрольные вопросы.
1 Лабораторная работа №1. Исследование работы комбинационных логических схем
Цель работы: исследование работы логических элементов разных типов, реализация простейших логических функций.
1.1 Порядок выполнения работы
1.1.1 Подготовить учебный стенд PU-2000 к работе, предварительно вставив печатную плату Е-131 (для пунктов 1.1.1–1.1.6) и Е-132 (для пунктов 1.1.7-1.1.12) .
1.1.2 Установить плату EB-131 на лабораторный стенд, собрать схему рисунка 1.1 и исследовать работу логического элемента И (логическое умножение), составив таблицу истинности для функции F1.
Рисунок 1.1 – Схема работы логического умножения
1.1.3 Собрать схему рисунка 1.2 и исследовать работу логического элемента ИЛИ (логическое сложение), составив таблицу истинности для функции F1.
Рисунок 1.2 - Схема работы логического сложения
1.1.4 Собрать схемы рисунков 1.3 и 1.4 и исследовать их работу, составив таблицы истинности для функций F2 .
Рисунок 1.3 - Схема работы логической функции F2
Рисунок 1.4 - Схема работы логической функции F2
1.1.5 Установить плату EB-132 на лабораторный стенд и исследовать логику работы логического элемента НЕ (NOT) и двухвходовых элементов И-НЕ (NAND ), ИЛИ-НЕ (NOR), как показано на рисунке 1.5.
Рисунок 1.5 - Схемы работы логических элементов И, И-НЕ, ИЛИ-НЕ
1.1.6 Исследуйте логику работы схемы, представленной на рисунке 1.6, составив таблицу истинности для функции F3.
Рисунок 1.6 - Схема работы логической функции F3
1.1.7 Исследуйте логику работы схемы, представленной на рисунке 1.7, составив таблицу истинности для функции F3.
Рисунок 1.7 - Схема работы логической функции F3
1.1.8 Исследуйте логику работы схемы, представленной на рисунке 1.8, составив таблицу истинности для функций F1 и F2.
Рисунок 1.8 - Схема работы логических функций F1 и F2
1.1.9 Исследуйте логику работы компаратора, представленного на рисунке 1.9, составив таблицу истинности для функций F1,F2,F3,F4 и F5.
Рисунок 1.9 - Схема работы компаратора
1.2 Контрольные вопросы
1.2.1 Сколько потребуется двухвходовых логических элементов И, чтобы реализовать логическую функцию F=A·B·C·D?
1.2.2 Сколько потребуется трехвходовых логических элементов ИЛИ, чтобы реализовать логическую функцию F=A+B+C+D+E+F+G+H?
1.2.3 Для логической функции, заданной в виде F=[(A+B)·B]+[(A+B)·C], составить таблицу истинности и минимизировать функцию F методом карт Карно или диаграмм Вейча.
1.2.4 Для логической функции, заданной в виде F=С·(А+В)+(А+В), составить таблицу истинности и минимизировать функцию F методом карт Карно или диаграмм Вейча.
1.2.5 Объясните логику работы одной из исследованных на стенде схем по заданию преподавателя.
1.2.6 Объясните возможности реализации функций элементов И-НЕ и ИЛИ-НЕ с помощью базовых логических элементов.
1.2.7 Объясните порядок синтеза схем комбинационных устройств.
1.2.8 Что такое основной и универсальные базисы?
2 Лабораторная работа №2. Исследование работы типовых комбинационных устройств
Цель работы: исследование работы дешифраторов и мультиплексоров в системе моделирования компьютерной программы Electronics Workbench.
2.1 Порядок выполнения работы
2.1.1 Загрузить компьютерную программу Electronics Workbench.
2.1.2 Исследуйте работу микросхемы дешифратора 74138 по схеме рисунка 2.1.
Как видно из рисунка 2.1, для создания источника логических уровней под названием «0_1» используется подсхема, представленная на рисунке 2.2.
Для подачи адресного кода дешифратора используется счетчик (count). Ввиду того что он является вспомогательным средством, был использован условный счетчик, а не конкретная микросхема.
Часть схемы, составленная с помощью элементов XOR и NOT, представляет собой устройство, которое формирует одиночный импульс на каждое нажатие клавиши.
Рисунок 2.1 – Исследование работы микросхемы дешифратора
Рисунок 2.2 – Подсхема формирования логических уровней «0_1»
2.1.3 Реализовать на микросхеме мультиплексора 74153 функцию двух переменных, представленную в таблице 2.1 и на рисунке 2.3.
Т а б л и ц а 2.1
|
Рисунок 2.3 – Схема реализации на мультиплексоре функции двух переменных |
2.1.4 Реализовать на микросхеме мультиплексора 74153 функцию трех переменных, представленную в таблице 2.2 и на рисунке 2.4.
Т а б л и ц а 2.2
|
Рисунок 2.4 – Схема реализации на мультиплексоре функции трех переменных |
2.1.5 Реализовать на микросхеме дешифратора 74138 логическое выражение , как показано на рисунке 2.5, предварительно преобразовав это выражение к виду .
Рисунок 2.5 – Схема реализации на дешифраторе заданного логического выражениия
2.2 Контрольные вопросы
2.2.1 Опишите работу дешифратора с организацией 2х8 с прямыми выходами.
2.2.2 Опишите работу дешифратора с организацией 2х8 с инверсными выходами.
2.2.3 Опишите работу мультиплексора с организацией от 4 к 1.
2.2.4 Синтезируйте полный дешифратор с прямыми выходами на три входа на логических элементах в основном базисе.
2.2.5 Синтезируйте полный дешифратор с прямыми выходами на три входа на логических элементах в базисе И-НЕ.
2.2.6 Синтезируйте мультиплексор на восемь каналов в основном базисе.
2.2.7 Синтезируйте мультиплексор на восемь каналов в базисе И-НЕ.
2.2.8 Опишите работу мультиплексора с организацией от 8 к 1.
3 Лабораторная работа №3. Исследование работы триггерных схем
Цель работы: исследование работы триггеров разных типов, счетчиков и регистров сдвига.
3.1 Порядок выполнения работы
3.1.1 Подготовить стенд PU-2000 к работе, предварительно вставив печатную плату Е-133.
3.1.2 Найти на плате нужную схему рисунка 3.1 и произвести исследование работы RS-триггера, составив для него таблицы переключений для двух типов триггера:
а) с прямыми входами, построенных на логике ИЛИ-НЕ;
б) с инверсными входами, построенных на логике И-НЕ.
Рисунок 3.1 – Схемы исследования работы триггеров двух типов
3.1.3 Произвести исследование работы JK-триггера, представленного на рисунка 3.2, составив для него таблицу переключений.
Рисунок 3.2 - Схема исследования работы JK- триггера
3.1.4 Найти на плате схему рисунка 3.3, на которой представлен асинхронный счетчик, построенный на базе JK-триггеров, работающих в режиме Т-триггера. Произвести исследование счетчика в режиме суммирования, вычитания и для Ксч = 5.
Рисунок 3.3 – Схема исследования работы счетчика для Ксч = 5
3.1.5 Произвести исследование работы D-триггера, представленного на рисунке 3.4, составив для него таблицу переключений.
Рисунок 3.4 - Схема исследования работы D-триггера
3.1.6 Используем схему рисунка 3.5 для исследования работы регистра сдвига, поставив предварительно перемычки в места А, С и CLK.
Порядок действий при проведении эксперимента следующий:
а) установите переключатель А= 0, а переключатели В и С в 1;
б) подайте несколько тактовых импульсов для приведения триггеров в состояние 0;
в) переключатель А= 1 и подать один тактовый импульс;
г) переключатель А= 0 и подать четыре тактовых импульса;
д) переключатель А= 1 и подать четыре тактовых импульса;
е) переключатель А= 0 и подать четыре тактовых импульса.
Рисунок 3.9 – Схема исследования работы регистра сдвига
3.2 Контрольные вопросы
3.2.1 На вход асинхронного RS-триггера с инверсными входами поданы сигналы S=R=0. Затем эти сигналы изменяются на S=R=1. В каком состоянии окажется триггер?
3.2.2 В чем различие статического и динамического управления триггерами?
3.2.3 Как из JK-триггера получить Т-триггер?
3.2.4 На вход асинхронного RS-триггера с прямыми входами поданы сигналы S=R=1. Затем эти сигналы изменяются на S=R=0. В каком состоянии окажется триггер?
3.2.5 Постройте схему асинхронного триггера с прямыми входами на элементах NAND.
3.2.6 Как из D-триггера получить Т-триггер?
3.2.7 Постройте схему асинхронного триггера с инверсными входами на элементах NOR.
3.2.8 Как из JK-триггера получить D-триггер?
4 Лабораторная работа № 4. Исследование работы конечных автоматов
Цель работы: построение RS-триггера на логических элементах NAND, исследование работы D-триггера в счетном режиме, а также микросхем счетчика и регистра сдвига.
4.1 Порядок выполнения работы
4.1.1 Загрузить компьютерную программу Electronics Workbench.
4.1.2 Построить и исследовать схему синхронного RS-триггера на логических элементах NAND, как показано на рисунке 4.1.
Рисунок 4.1 – Схема исследование работы синхронного RS-триггера
4.1.3 Собрать схему D–триггера в счетном режиме (Т-триггер), соединив его инверсный выход с информационным входом, как показано на рисунке 4.2. Проанализировать работу триггера с помощью логического анализатора, результат скопировать.
Рисунок 4.2 - Схема работы D–триггера в счетном режиме
4.1.4 Собрать схему счетчика, как показано на рисунке 4.3. Подавая тактовые сигналы с помощью клавиши С, исследуйте его работу. Проверьте назначение сигналов на выводах R01 и R02.
Рисунок 4.3 – Исследование схемы работы счетчика
4.1.6 Использовать в качестве источника данных в дальнейших экспериментах подсхему «Data», объединяющую счетчик с генератором, частотой 1 Hz, представленную на рисунке 4.4.
Рисунок 4.4 – Подсхема «Data»
4.1.7 Собрать схему для исследования режимов работы реверсивного счетчика 74169, как показано на рисунке 4.5. Проанализировать режимы его работы.
4.1.8 Собрать схему для исследования режимов работы универсального регистра 74194, представленного на рисунке 4.6. Проанализировать режимы.
Рисунок 4.5 - Схема исследования работы реверсивного счетчика
Рисунок 4.6 - Схема исследования работы универсального регистра
4.2 Контрольные вопросы
4.2.1 Принцип последовательного ввода информации в регистр.
4.2.2 Объясните принцип параллельного ввода информации в регистр.
4.2.3 Объясните принцип работы суммирующего счетчика.
4.2.4 Объясните принцип работы вычитающего счетчика
4.2.5 Объясните принцип работы реверсивного счетчика.
4.2.6 Для чего предназначены регистры сдвига?
4.2.7 Что такое коэффициент счета у счетчика?
4.2.8 Как построить двоичный счетчик с Ксч = 8? Построить временные диаграммы
5 Лабораторная работа №5. Изучение микрокомпьютера на базе микропроцессора Intel 8085
Цель работы: ознакомление и изучение работы компонентов микрокомпьютера, расположенного на плате ЕВ-151.
5.1 Порядок выполнения работы
5.1.1 Изучите схему рисунка 5.1, выделив на плате ЕВ-151 основные компоненты микрокомпьютера.
5.1.2 Для приведения платы ЕВ-151 в рабочее состояние необходимо произвести соединения, как показано на рисунке 5.1.
5.1.3 Для запуска нужной программы на плате ЕВ-151 необходимо:
а) установить номер нужной программы в двоичном коде на переключателях порта Ввода D6-D0;
б) переключатель D7 поставить в положение «1»;
в) нажать на кнопку RESET;
г) вернуть D7 в положение «0».
Рисунок 5.1 – Схема микрокомпьютера
5.1.4 Запустить программу №1 (код 0000001), согласно пункту 5.1.3. Этот запуск позволяет повторить положение переключателей D7-D0 порта Ввода 0 на светодиодах D7-D0 порта Вывода 0. Проверьте это, поменяв положения нескольких входных переключателей D0-D7.
5.1.5 Для того, чтобы получить обратный код положения переключателей D7-D0 порта ввода 0 на светодиодах D7-D0 порта Вывода 0, необходимо запустить программу №2 (код 0000010) и наблюдать полученный результат.
5.1.6 Запустить программу №3 (код 0000011). Эта программа позволяет считывать данные с переключателей порта Ввода 0 и циклически сдвигать их влево на четыре позиции. Проделайте этот эксперимент и заполните выходные данные таблицы 5.1.
Т а б л и ц а 5.1
Входные данные |
Выходные данные |
11110000 |
|
00001111 |
|
5.1.7 Запустить программу №4 (код 0000100). Эта программа решает логическую задачу, блок-схема решения которой представлена на рисунке 5.2.
|
|||
|
Рисунок 5.2 – Алгоритм решения логической задачи
Заполните таблицу истинности для различных комбинаций D0 и D1 и определите тип логического элемента, реализующего данную функцию.
5.1.8 Запустить программу №5 (код 0000101). Эта программа решает арифметическую задачу, согласно блок-схеме рисунка 5.3.
Рисунок 5.3 – Алгоритм решения арифметической задачи
Арифметически сложить вручную несколько двух четырехразрядных двоичных чисел, заданных преподавателем, ввести их поочередно в разряды порта ввода 0 и полученные результаты наблюдать на порте вывода 0.
5.1.9 Запустить программу №6 (код 0000110). Эта программа осуществляет обработку прерываний, то есть она приостанавливает передачу данных на две секунды.
Установите переключатели порта Ввода 0 в одно из положений, указанного преподавателем, согласно таблице 5.2. Убедиться, что данные передается на порт Вывода 2 через 2 секунды после вашего нажатия на кнопку прерывания.
Т а б л и ц а 5.2
№ эксперимента |
Входные данные 7654*3210 |
Выходные данные 7654*3210 |
1 |
1010*1010 |
1010*1010 |
2 |
0101*0101 |
0101*0101 |
3 |
1100*1100 |
1100*1100 |
4 |
0011*0011 |
0011*0011 |
5.1.10 Запустить программу №7 (код 0000111). Эта программа считывает положение переключателей порта Ввода 0 и использует этот двоичный сигнал для создания тонального звукового сигнала, согласно таблице 5.3.
Т а б л и ц а 5.3
№ эксперимента |
Входные данные |
Период, мкс |
Частота, кГц |
1 |
00000000 |
123 |
8,13 |
2 |
00000001 |
123 |
8,13 |
3 |
00000011 |
170 |
5,88 |
4 |
00000111 |
270 |
3,7 |
5 |
00001111 |
465 |
2,15 |
6 |
00011111 |
840 |
1,19 |
7 |
00111111 |
1600 |
0,6 |
8 |
01111111 |
3050 |
0,3 |
9 |
11111111 |
6300 |
0,2 |
Установите переключатели в указанные в таблице 5.3 положения и отметьте, что создаются различные тональные сигналы.
5.1.11 Запустить программу №8 (код 00001000). Эта программа считывает положение переключателей порта Ввода 0 и передает звуковому устройству (зуммеру) после получения трех прерываний.
Выберите любую комбинацию положений переключателей. Нажмите кнопку прерывания. Выберите вторую комбинацию переключателей. Нажмите кнопку прерывания. Выберите третью комбинацию переключателей. Нажмите кнопку прерывания. Теперь вы должны услышать созданную из трех тонов вашу мелодию.
Во избежание ошибок, при нажатии держите кнопку прерываний не дольше одной секунды. Следите также за значением порта Вывода, каждый раз, когда вы нажимаете кнопку.
Повторите действия для других значений переключателей.
5.2 Контрольные вопросы
5.2.1 Сколько соединительных проводников имеют шина данных и шина адресов?
5.2.2 Сколько адресов может быть выбрано адресной шиной?
5.2.3 Какая разница между внутренней и внешней памятью данных?
5.2.4 Какие основные функции выполняет микропроцессор?
5.2.5 Из каких основных частей состоит микрокомпьютер?
5.2.6 С какими устройствами соединен порт ввода: памятью, центральным процессором, портом вывода ?
5.2.7 С какими устройствами соединен порт вывода: памятью, центральным процессором, портом ввода, устройствами вывода (цифро-аналоговые преобразователи, светодиоды и реле) ?
5.2.8 Что сделать для того, чтобы порт ввода работал как порт 3 ?
5.2.9 Приведите алгоритм запуска программы, зашитой в постоянную память.
5.2.10 Из каких основных частей состоит микропроцессор i8085, их назначение?
5.2.11 Произведите арифметическое сложение двух восьмиразрядных двоичных чисел 100101000 и 11011001.
5.2.11 Призведите арифметическое вычитание двух восьмиразрядных двоичных чисел 100101000 и 01011101.
5.2.12 Определите тип логического элемента, имеющего следующую таблицу истинности:
X2 |
X1 |
Y |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
6 Лабораторная работа №6. Программные решения задач на ассемблере
Цель работы: освоить навыки подключения платы ЕВ-152 к плате ЕВ-151, научиться просматривать и изменять ячейки памяти и регистры микропроцессора i8085, выполнять простейшие программы на микрокомпьютере.
6.1 Порядок выполнения работы
6.1.1 Используя длинные провода соедините плату ЕВ-152 в следующем порядке:
a) +12 V. EB-152 - +12 V. PU-2000;
b) + 5 V. EB-152 - + 5 V. PU-2000;
c) -12 V. EB-152 - -12 V. PU-2000;
d) GND EB-152 - Ground PU-2000;
e) установите Sig.ANAL/KB+DISP переключатель (S1) в положение KB+DISP;
f) соедините клемму TX. EB-152 с клеммой RX.. EB-151;
g) соедините клемму RX. EB-152 с клеммой TX.. EB-151.
6.1.2 Убедитесь, что дисплей платы ЕВ-152 показывает EbHt.
6.1.3 Нажмите и отпустите кнопку Reset на плате ЕВ-151. Если все работ6ет правильно, то дисплей платы ЕВ-152 должен показывать Eb-151.
6.1.4 Просмотрите несколько адресов управляющей программы, которая входит в состав ПЗУ (постоянное запоминающее устройство), объемом 8 Кбайт. Для этого нажмите на клавишу MEM и введите адрес, например, 1000Н. После нажатия на клавишу ENTER слева от адреса появится содержимое ячейки 0ЕН. При повторном нажатии на клавишу ENTER появится содержимое следующей ячейки по адресу 1001Н и т.д.
Просмотрите и запишите несколько ячеек, адреса которых лежат в диапазоне (0000Н-1FFFH) и представлены в таблице 6.1.
Т а б л и ц а 6.1
Адреса ячеек памяти |
|||||||||
0889H |
088AH |
088BH |
088CH |
088DH |
1F27H |
0988H |
0B24H |
018CH |
009CH |
6.1.5 Запишите в ячейки памяти ОЗУ, адреса и данные которых показаны в таблице 6.2. Для этого нажмите клавишу МЕМ, введите нужный адрес, нажмите на ENTER и введите данные. Нажмите на ENTER и введите данные по следующему адресу и так далее.
Т а б л и ц а 6.2
Адрес |
2100Н |
2101Н |
2102Н |
2103Н |
2104Н |
21005Н |
Данные |
AA |
AB |
AC |
AD |
AE |
AF |
После записи данных в ОЗУ, просмотрите эти ячейки по алгоритму, описанному выше.
6.1.6 Запишите программу, представленную в таблице 6.3, для чего:
a) нажмите клавишу RESET на плате ЕВ-151;
b) нажмите на клавишу MEM на плате ЕВ-152;
c) введите адрес 2100Н;
d) нажмите клавишу ENTER.
Т а б л и ц а 6.3
Адрес |
Машинный код |
Мнемокод |
2100 |
3F |
MVI A, FFH |
2101 |
FF |
|
2102 |
FF |
RST 7 |
Для выполнения программы нажмите клавишу GO и без клавиши MEM введите адрес начала программы. Нажмите ENTER. Просмотрите в регистре А записанное туда число FFH, для чего надо нажать на клавиши REG и 1.
6.1.7 Введите и выполните программу, представленную в таблице 6.4, которая вычисляет обратный код числа и сохраняет результат вычисления.
Т а б л и ц а 6.4
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
3AH |
LDA |
2130H |
Загрузить данные из адреса 2130Н |
2101Н |
30H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
2FH |
CMA |
|
Обратный код числа |
2104Н |
32H |
STA |
2131H |
Сохранить по адресу 2131Н |
2105Н |
31H |
|
|
|
2106Н |
21H |
|
|
|
2107Н |
FFH |
RST7 |
|
Возврат в управляющую программу |
Исходные данные и результаты вводятся, согласно таблице 6.5.
Т а б л и ц а 6.5
2130Н |
00Н |
3EH |
C9H |
FAH |
1EH |
2131Н |
|
|
|
|
|
6.1.8 Введите и выполните программу, представленную в таблице 6.6 , используя исходные данные таблицы 6.5.
Т а б л и ц а 6.6
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
21H |
LXI H |
2130 |
Загрузить данные из адреса 2130Н |
2101Н |
30H |
|
|
|
Продолжение таблицы 6.6
2102Н |
21H |
|
|
|
2103Н |
7FH |
MOV A,M |
|
Считывание данных |
2104H |
2FH |
CMA |
|
Обратный код числа |
2101H |
23H |
INX H |
|
Увеличение на 1 числа в HL |
2102H |
77H |
MOV M,A |
|
Сохранение данных |
2103H |
FFH |
RST7 |
|
Возврат в управляющую программу |
6.1.9 Произвести сложение двух чисел по программе, представленной в таблице 6.7 и исходных данных таблицы 6.8.
Т а б л и ц а 6.7
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
21H |
LXI H |
2130H |
|
2101Н |
30H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
7EH |
MOV A,M |
|
Считать первое число |
2104Н |
23H |
INX H |
|
|
2105Н |
86H |
ADD M |
|
Прибавить второе число |
2106Н |
23H |
INX H |
|
|
2107Н |
77H |
MOV M,A |
|
Сохранение результата |
2108H |
FFH |
RST 7 |
|
|
Т а б л и ц а 6.8
2130Н |
32Н |
58H |
B8H |
2131Н |
15H |
43H |
7DH |
2132H |
|
|
|
6.1.10 Выполнить программу, представленную в таблице 6.9 и предназначенную для выполнения логической операции ANA M.
Т а б л и ц а 6.9
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
21H |
LXI H |
2130H |
|
2101Н |
30H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
7EH |
MOV A,M |
|
Считать первое число |
2104Н |
23H |
INX H |
|
|
2105Н |
A6H |
ANA M |
|
Логическое умножение со вторым числом |
2106Н |
23H |
INX H |
|
|
2107Н |
77H |
MOV M,A |
|
Сохранение результата |
2108H |
FFH |
RST 7 |
|
|
6.1.11 Выполнить программу, представленную в таблице 6.9 и предназначенную для выполнения логической операции ANA M.
Т а б л и ц а 6.10
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
21H |
LXI H |
2130H |
|
2101Н |
30H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
7EH |
MOV A,M |
|
Считать первое число |
2104Н |
23H |
INX H |
|
|
2105Н |
A6H |
ORA M |
|
Логическое сложение со вторым числом |
2106Н |
23H |
INX H |
|
|
2107Н |
77H |
MOV M,A |
|
Сохранение результата |
2108H |
FFH |
RST 7 |
|
|
6.2 Контрольные вопросы
6.2.1 Какое назначение у клавиши MEM?
6.2.2 Какое назначение у клавиши REG?
6.2.3 Какое назначение у команды RST 7?
6.2.4 При тактовой частоте микропроцессора 2 МГц вычислите время, необходимое при выполнении программы, представленной в таблице 6.4, если известно, что команда LDA содержит 13 тактов, команда CMA – 4 такта, команда STA – 13 тактов, а команда RST 7 – 12 тактов.
6.2.5 Дать комментарий действия логических команд ANA r, ANA M, ANI data?
6.2.6 Дать комментарий назначения и действия команд LDA adr, CMA и STA adr?
6.2.7 Дать комментарий назначения и действия команд LXI rp, data 16; INX rp и MOV r,M ?
6.2.8 Дать комментарий действия командам арифметической операции сложения: ADD r; ADI,data; ADD M, ADC r; ADC M и ACI data.
6.2.9 При тактовой частоте микропроцессора 3 МГц вычислите время, необходимое при выполнении программы, представленной в таблице 6.7, если известно, что команда LXI H содержит 10 тактов, команда MOV A,M – 4 такта, команда INX H – 5 тактов, команда ADD M – 7 тактов, а команда RST 7 – 12 тактов.
6.2.10 При тактовой частоте микропроцессора 2,5 МГц вычислите время, необходимое при выполнении программы, представленной в таблице 6.9, если известно, что команда LXI H содержит 10 тактов, команда MOV A,M – 7 тактов, команда INX H – 5 тактов, команда ANA M – 7 тактов, а команда RST 7 – 12 тактов.
7 Лабораторная работа №7. Микропроцессорная обработка массива данных
Цель работы: понимать и использовать команды i8085 для выполнения программы с массивами данных.
7.1 Порядок выполнения работы
7.1.1 Используя длинные провода соедините плату ЕВ-152 в следующем порядке:
a) +12 V. EB-152 - +12 V. PU-2000;
b) + 5 V. EB-152 - + 5 V. PU-2000;
c) -12 V. EB-152 - -12 V. PU-2000;
d) GND EB-152 - Ground PU-2000;
e) установите Sig.ANAL/KB+DISP переключатель (S1) в положение KB+DISP;
f) соедините клемму TX. EB-152 с клеммой RX.. EB-151;
g) соедините клемму RX. EB-152 с клеммой TX.. EB-151.
7.1.2 Убедитесь, что дисплей платы ЕВ-152 показывает EbHt.
7.1.3 Нажмите и отпустите кнопку Reset на плате ЕВ-151. Если все работ7ет правильно, то дисплей платы ЕВ-152 должен показывать Eb-151.
7.1.4 Введите программу счета, показанную в таблице 7.1. Эта программа считает до семи и затем сохраняет это число.
Т а б л и ц а 7.1
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
3EH |
MVI A |
00H |
Сброс сумматора на 0 |
2101Н |
00H |
|
|
|
2102Н |
3CH |
INR A |
|
Увеличение значения сумматора на 1 |
2103Н |
FEH |
CPI |
07H |
Проверка на окончание счета |
2104Н |
07H |
|
|
|
2105Н |
FFH |
RST 7 |
|
Точка прерывания |
2106Н |
CAH |
JZ |
210CH |
Переход, если сумматор = 7 |
2107Н |
0CH |
|
|
|
2108H |
21H |
|
|
|
2109H |
C3H |
JMP |
2102H |
Повтор операции |
210AH |
02H |
|
|
|
210BH |
21H |
|
|
|
210CH |
32H |
STA |
2115H |
Сохранение сумматора (7) |
210DH |
15H |
|
|
|
210EH |
21H |
|
|
|
210FH |
FFH |
RST 7 |
|
Конец программы |
Как видно из таблицы 7.1 адрес 2105Н содержит контрольную точку, чтобы при остановке в ней программы можно было просмотреть содержимое ячеек памяти или регистров.
Нажмите на клавиши REG и «1» и просмотрите содержимое аккумулятора.
Нажмите на клавиши REG и «8», просмотрите содержимое регистра признаков F. Убедитесь, что флаг нуля (шестой бит) равен нулю, показывая, что содержимое аккумулятора не равно 7.
Нажмите на клавиши GO и ENTER. По адресу 2106Н находится команда JZ (переходить, если нуль), которая переводит на адрес 2109Н, чтобы повторить программу.
Повторяйте выполнение программы до тех пор, пока содержимое аккумулятора не увеличится до 7. Адрес соответствующей контрольной точки – 2109Н, а результат (07) будет храниться в ячейке 2115Н.
7.1.5 В таблице 7.2 показана программа, которая помещает содержимое ячеек памяти 2160Н и 2161Н в порядке убывания, то есть большие элементы идут раньше.
Т а б л и ц а 7.2
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
3AH |
LDA |
2160H |
Считывание первого элемента |
2101Н |
60H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
47H |
MOV B,A |
07H |
Сохранение первого элемента |
2104Н |
3AH |
LDA |
2161H |
Сохранение второго элемента |
2105Н |
61H |
|
|
|
2106Н |
21H |
|
|
|
2107Н |
B8H |
CMP B |
|
Сравнение элементов |
2108H |
00H |
NOP |
|
Нет операции |
2109H |
DAH |
JC |
2113H |
Выход из программы |
210AH |
13H |
|
|
|
210BH |
21H |
|
|
|
210CH |
32H |
STA |
2160H |
Сохранение элементов массива |
210DH |
60H |
|
|
|
210EH |
21H |
|
|
|
210FН |
78H |
MOV A,B |
00H |
Перенос элемента |
2110Н |
32H |
STA |
2161H |
Сохранение второго элемента |
2111Н |
61H |
|
|
|
2112Н |
21H |
|
|
|
2113Н |
FFH |
RST 7 |
|
Возврат к УП |
Из таблицы 7.2 видно, что программа тестирует флаг переноса, используя команду JC. Причем, если флаг переноса установлен в положение 1, то выполнение программы возобновляется в адресе, определенном командой JC. Если флаг переноса сброшен на 0, то выполнение продолжается со следующей последовательной команды.
Команда может быть заменена RST 7 с целью просмотра регистров.
7.1.6 Изучите блок-схему рисунка 7.1, которая показывает алгоритм вычисления суммы всех элементов массива.
Наберите и запустите программу, представленную в таблице 7.3, которая реализует данный алгоритм, используя в качестве начальных данных значения из таблицы 7.4. Произведите вычисления и внесите в таблицу 7.4 недостающее значение
Рисунок 7.1 - Алгоритм вычисления суммы всех элементов массива
Т а б л и ц а 7.3
Адрес |
Машкод |
Мнемокод |
Операнд |
Комментарий |
2100Н |
06H |
MVI B |
05H |
Счетчик = 5 |
2101Н |
05H |
|
|
|
2102Н |
21H |
LXI H |
2160H |
Определение базового адреса |
2103Н |
60H |
|
|
|
2104Н |
21H |
|
|
|
2105Н |
97H |
SUB A |
|
Сброс значения суммы на 0 |
2106Н |
86H |
ADD M |
|
Сумма = Сумма + Данное |
2107Н |
32H |
STA |
2165H |
Сохранение данного |
2108H |
65H |
|
|
|
2109H |
21H |
|
|
|
210AH |
05H |
DCR B |
|
Уменьшение счетчика на 1 |
210BH |
97H |
SUB A |
|
Сброс сумматора |
210CH |
B8H |
CMP B |
2160H |
Проверка окончания счета |
Продолжение таблицы 7.3
210DH |
CAH |
JZ |
2117H |
Если да, закончить программу |
210EH |
17H |
|
|
|
210FН |
21H |
|
|
|
2110Н |
3AH |
LDA |
2165H |
Если нет, вычислить сумму |
2111Н |
65H |
|
|
|
2112Н |
21H |
|
|
|
2113Н |
23H |
INX H |
|
Увеличение указателя на 1 |
2114Н |
C3H |
JMP |
2106H |
|
2115Н |
06H |
|
|
|
2116Н |
21H |
|
|
|
2117Н |
FFH |
RST 7 |
|
Возврат к управляющей программе |
Т а б л и ц а 7.4
Адрес |
2160Н |
2161Н |
2162Н |
2163Н |
2164Н |
2165Н |
Данные |
A3H |
11H |
27H |
5BH |
32H |
|
7.2 Контрольные вопросы
7.2.1 Представить флаговые биты регистра F, объяснить их предназначение.
7.2.2 Дать комментарий действия команд управления JMP adr, JC adr и JZ adr.
7.2.3 Дать комментарий назначения и действия команд CMP B, NOP, MVI B и SUB A.
7.2.4 Составить алгоритм вычисления программы, представленной в таблице 7.1.
7.2.5 Какие параметры необходимы для обработки массива данных?
7.2.6 Укажите назначение регистров общего назначения H и L.
7.2.7 Укажите назначение аккумулятора и регистров общего назначения B, C, D и E.
7.2.8 Дать комментарий назначения и действия команд ORA r, ORA M и ORI data.
7.2.9 Дать комментарий назначения и действия команд ХRA r, ХRA M и ХRI data.
7.2.10 Составить алгоритм вычисления программы, представленной в таблице 7.2.
8 Лабораторная работа №8. Изучение работы программ с помощью эмулятора микропроцессора Intel 8085
Цель работы: приобретение навыков анализа работы простейших программ с помощью эмулятора микропроцессоров i8080 или i8085.
8.1 Порядок выполнения работы:
8.1.1 Найти в папке к580 файл эмулятора d580.exe и запустить его. На экране монитора появится меню.
8.1.2 С помощью клавиш F10 и два раза «Ввод» выбрать имя программы , представленной на рисунке 8.1, и загрузить ее в эмулятор.
LXI H,10H; Загрузка указателя памяти
MOV A,M; Пересылка байта из памяти в А
INX H; Увеличение содержимого Н на 1
ADD M; A А + M(HL)
DAA; Если АС=1,то А+06,если С=1,то ст.тетрада+06
INX H; Инкремент регистровой пары Н
MOV M,A; Пересылка байта из А в память
HLT; Команда останова программы
Рисунок 8.1 – Исследование работы фрагмента программы
8.1.3 Исследовать работу фрагмента программы , предварительно записав в ячейки памяти (Alt-M) с адресами 10h и 11h числа 37h и 48h. Запустить программу на выполнение в пошаговом режиме с помощью клавиши F7. При исследовании работы программы ответить на следующие вопросы:
1) сколько машинных тактов затрачено на выполнение программы ?
2) в какой ячейке памяти будет находится результат сложения чисел ?
3) какое число будет в аккумуляторе до выполнения команды десятичной коррекции DAA?
4) какие команды изменяют содержимое регистра признаков ?
Изменив исходные числа, прогнать программу в автоматическом режиме (клавиша F9).
По завершении исследования с помощью клавиши F10 выйти из программы и загрузить для исследования следующую программу.
8.2.3 В предыдущем примере использовалась только косвенная адресация при обращении к памяти. Исследовать работу программы, рисунка 8.2, использующей команды с прямой адресацией.
LXI H,10H; HL 0010H
LDA 11H; A M(0011H)
ADD M; A A + M(HL)
DAA; Десятичная коррекция аккумулятора
STA 12H; М(0012Н) А
HLT Останов
Рисунок 8.2 - Исследование работы фрагмента программы
8.2.4 Проверить работу программы, представленной на рисунке 8.3, записывающей в аккумулятор значение байтовой информации, снятой с 20 датчиков в ОЗУ пользователя, начиная с адреса 100Н.
LXI H,100H; Начальный адрес массива
MVI B,20; Число элементов
XRA A; Очистка аккумулятора
M1: CMP M; Если А=М,то Z=1;если А<М,то С=1
JNC M2; Переход,если А больше
MOV A,M; Обмен,если А меньше или равно
M2: INX H; Наращивание адреса
DCR B; Декремент счетчика числа элементов
JNZ M1; Цикл обработки массива
HLT;
Рисунок 8.3 - Исследование работы фрагмента программы
Заполнить ячейки памяти, представляющие небольшой массив с адресами 100h – 113h, произвольной информацией (не выше числа 99h), как показано в программе 3. Убедитесь, что после выполнения программы в автоматическом режиме, максимальное число попадет в аккумулятор.
8.2.5 Проверить работу программы, реализующей двоично-десятичный счетчик в аккумуляторе, скорость инкрементирования которого зависит от времени выполнения подпрограммы временной задержки DELAY.
LXI SP,20H; Загрузка указателя стека
M2: ADI 1; Инкремент аккумулятора
DAA; Десятичная коррекция
CALL DELAY; Вызов подпрограммы
JMP M2; Зацикливание программы
DELAY: MVI B,2; Установка счетчика
M1: DCR B; Декремент счетчика
JNZ M1; Если не нуль, повторить
RET Возврат из подпрограммы
Рисунок 8.4 - Исследование работы фрагмента программы
Прогоняя программу в пошаговом режиме, проследите за изменением содержимого аккумулятора, регистра В, указателя стека SP, стека, признаков нуля и четности.
8.2 Контрольные вопросы
8.2.1 Объясните алгоритм работы команды десятичной коррекции DAA.
8.2.2 Что такое указатель стека и как он работает?
8.2.3 Что сохраняется в стеке при вызове подпрограммы?
8.2.4 На сколько изменится содержимое указателя стека при вызове подпрограммы?
8.2.5 Что происходит при выполнении команды RET?
8.2.6 Что такое подпрограмма и как организовать ее вызов?
8.2.7 Какими командами можно обнулить аккумулятор?
8.2.8 Назвать достоинства и недостатки языка ассемблера по сравнению с языками высокого уровня.
8.2.9 Какие логические операции выполняются в аккумуляторе?
Список литературы
1. Нарышкин А.К. Цифровые устройства и микропроцессоры: Учеб.пособие для студ.высш.учеб.заведений. – М.: Издательский центр «Академия», 2006. – 320 с.
2. Бойко В.И., Гуржий А.Н., Жуйков В.Я. и др. Схемотехника электронных устройств. Цифровые устройства.- СПб.: БХВ – Петербург, 2004. – 512 с.
3. Бойко В.И., Гуржий А.Н., Жуйков В.Я. и др. Схемотехника электронных устройств. Микропроцессоры и микроконтроллеры.- СПб.: БХВ – Петербург, 2004. – 464 с.
4. Калабеков Б.А. Цифровые устройства и микропроцессорные системы. Учебник для техникумов связи.- М.: Горячая линия –Телеком, 2000. – 336 с.
5. Гольденберг Л.М. и др. Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учебное пособие. - М.: Радио и связь,1992 . - 256 с.
6. Петрищенко С.Н. Цифровые устройства и микропроцессоры. Конспект лекций для студентов специальности 050719 – Радиотехника, электроника и телекоммуникации дистанционной формы обучения. – Алматы: АИЭС, 2006. – 36 с.
Содержание
Введение 3
1 Лабораторная работа №1. Исследование работы комбинационных логических схем 4
2 Лабораторная работа №2. Исследование работы типовых комбинационных устройств 7
3 Лабораторная работа №3.Исследование работы триггерных схем 9
4 Лабораторная работа №4. Исследование работы конечных автоматов 14
5 Лабораторная работа №5. Изучение микрокомпьютера на базе микропроцессора Intel 8085 17
6 Лабораторная работа №6. Программные решения задач на ассемблере 21
7 Лабораторная работа №7. Микропроцессорная обработка массива данных 24
8 Лабораторная работа №8. Изучение работы программ с помощью эмулятора микропроцессора Intel 8085 28
Список литературы 30
Доп. план 2013 г., поз.7