Некоммерческое акционерное общество

АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ

Кафедра «Электроники»

 

 

ЦИФРОВЫЕ УСТРОЙСТВА И МИКРОПРОЦЕССОРЫ

Методические указания к лабораторным работам

для бакалавров специальности

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+BB]+[(A+BC], составить таблицу истинности и минимизировать функцию 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

 

A

B

F1

0

0

1

0

1

1

1

0

0

1

1

1

 

 

 

 

Рисунок 2.3 – Схема реализации на мультиплексоре функции двух переменных

2.1.4 Реализовать на микросхеме мультиплексора 74153 функцию трех  переменных, представленную  в таблице 2.2 и на рисунке 2.4.

 

Т а б л и ц а 2.2

A

B

C

F

0

0

0

1

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

1

Рисунок 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.

Блок-схема: решение: D = 0
и
D = 1
?

Считать с порта Ввода 0

 
 

 

 


D7 = 1

 
СС

 

Рисунок 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 adrJC 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;                      Зацикливание программы

DELAYMVI 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