- •Основы микропроцессорной техники
- •Введение
- •1. Цель работы
- •2. Теоретическая часть
- •2.3 Двоичная арифметика.
- •2.4 Синтез логических схем на элементах комбинационного типа.
- •Основные теоремы алгебры логики
- •Теоремы для двух переменных и более
- •Не и и-или-не
- •Х2 х2
- •2.6 Система команд однокристального микропроцессора
- •3 Материалы, приборы, оборудование
- •4 Указания по технике безопасности
- •5 Порядок проведения лабораторного практикума
3 Материалы, приборы, оборудование
Лабораторный практикум проводится с применением персонального компьютера.
4 Указания по технике безопасности
При выполнении лабораторного практикума выполнять требования по охране труда согласно инструкции №328 «Требования по охране труда при работе с компьютерной техникой».
5 Порядок проведения лабораторного практикума
5.1 Преобразовать заданную последовательность (см. таблицу 5.1):
десятичных цифр в двоичный код, двоичных цифр в десятичный код,
восьмеричных цифр в двоичный код, двоичных – в восьмеричный,
шестнадцатеричных цифр в двоичный код, двоичных – в шестнадцатеричный.
5.2 Выполнить арифметические операции над заданными числами в двоичной, восьмеричной и шестнадцатеричной форме:
В1+В2;
Q1+Q2;
Н1+Н2;
Таблица 5.1 – Варианты задания.
№ варианта |
Числа в десятичной форме D1 D2 |
Числа в двоичной форме
В1 В2 |
Числа в восьмеричной форме Q1 Q2 |
Числа в шестнадцатеричной форме Н1 Н2 |
1 |
126; 51 |
00101101; 01100100 |
1222; 1757 |
1АВ2; А23С |
2 |
72; 48 |
01011001; 10111001 |
7650; 6531 |
FA31; 35EF |
3 |
39; 91 |
10001111; 01010101 |
4657; 1747 |
7DF1; 65FF |
4 |
88; 66 |
00111101; 11001010 |
1534; 5431 |
ABCD; CDEF |
5 |
67; 44 |
11100011; 00011011 |
1573; 5551 |
ACBD; AD7E |
6 |
29; 54 |
00110011; 10110011 |
2345; 7726 |
6AB1; A5C7 |
7 |
41; 55 |
01010101; 01010111 |
1122; 6666 |
6CFE; BCEF |
8 |
62; 19 |
10010011; 01001111 |
1776; 4343 |
30AC; 6E3C |
9 |
59; 54 |
00011111; 01111001 |
2161; 3167 |
E71F; FEEF |
10 |
70; 33 |
11001100; 00101101 |
2764; 3367 |
312C; 4516 |
11 |
50; 30 |
01111011; 01010001 |
2456; 7105 |
3892; 2CC7 |
12 |
32; 122 |
10111101; 00101011 |
1606; 6022 |
13С8; 7C5D |
13 |
70; 111 |
00011111; 10100111 |
1530; 4776 |
3AB2; 2BC3 |
14 |
49; 47 |
00101011; 10011101 |
3331; 2777 |
45AB; 36EF |
15 |
98; 51 |
10001111; 01101010 |
3633; 2627 |
3A6E; 2781 |
16 |
81; 55 |
01110110; 01010010 |
1065; 5321 |
9210; 4AA4 |
17 |
101; 33 |
11001101; 00101011 |
2110; 3631 |
817C; DF41 |
18 |
78; 94 |
00111110; 01001111 |
4162; 4630 |
87AE; CA52 |
19 |
79; 70 |
10001111; 01011111 |
1712; 2632 |
7B5A; 54E3 |
20 |
122; 64 |
01110111; 00011101 |
2671; 5173 |
BC6E; A58C |
21 |
25; 176 |
10001101; 00111111 |
2277; 4325 |
31AD; F765 |
22 |
81; 91 |
00011101; 01010101 |
5124; 3275 |
7FB4; 563A |
23 |
111; 77 |
10011110; 00110111 |
1745; 4027 |
96EC; D6D7 |
24 |
142; 43 |
00110100; 10011011 |
1457; 3675 |
8FC4; 59A7 |
25 |
128; 44 |
10101011; 00100111 |
3257; 4356 |
1BEF; 4A7E |
5.3 По заданной таблице истинности (таблица 5.2) разработать логическое выражение функции в СДНФ;
Таблица 5.2 - Варианты задания функций
Х1 |
Х2 |
Х3 |
У1 |
У2 |
У3 |
У4 |
У5 |
У6 |
У7 |
У8 |
У9 |
У10 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
Произвести минимизацию логического выражения, используя теоремы алгебры логики;
По полученному выражению разработать схему соединения ЛЭ;
Проверить правильность преобразований путем анализа комбинаций аргументов в получении заданной функции с применением компьютера для разработанной схемы соединений ЛЭ:
запустить программу kmаp445.exe;
произвести выбор варианта карты Карно для заданного количества аргументов путем инициализации соответствующего значка панели, отображающего сетку карты Карно;
задать варианты функций на панели программы следующим образом:
в таблице окна с перечнем наборов произвести выбор заданных
наборов аргументов согласно заданию для всех необходимых
вариантов функций, отметив манипулятором в соответствующих
окнах программы или установить в соответствующие клетки карты
Карно манипулятором значки в соответствии со значениями
вариантов функций;
сверить результат вычислений, выполненный согласно программе kmаp445.exe с полученным ранее;
разработать логическое выражение функции в КНФ.
5.3 Запустить программу Sim8080, в появившемся окне отражается модель микропроцессорной системы с составе программной модели микропроцессора, оперативной памяти М, стека, регистров портов ввода-вывода. В левой части окна размещена зона для программирования (введения команд); в правой части аккумулятор, регистры РОН, регистр флагов, портов, указателя стека; в нижней части отображена оперативная память М микропроцессора и ячейки стека. Данные в регистрах A, B, C, D, E, H, L, указателе стека, регистрах портов отображаются в двоичной системе счисления – индекс b, шестнадцатеричной – индекс h, десятеричной – индекс d. Данные в оперативной памяти и стеке отражаются в шестнадцатеричной системе.
Выполнить операции, задаваемые соответствующим набором команд (набор на клавиатуре большими буквами) согласно приложению А:
передача 8-разрядных данных в регистры A, B, C, D, E, H, L;
передача 16-разрядных данных в регистровые пары BC, DE, HL;
обмен данными между регистровыми парами HL и DE;
передача данных из регистра B в регистр А;
изучение методов адресации: непосредственной, косвенной;
последовательный ввод содержимого регистров BC, DE, HL в стек;
выдача данных из стека в регистры BC, DE, HL;
сложение содержимого регистров B или C или D или E или H или L с содержимым регистра А;
сложение содержимого ячейки памяти и содержимого аккумулятора с выдачей результата в аккумуляторе;
сложение числа (байта) с содержимым аккумулятора с выдачей результата в аккумуляторе;
вычитание содержимого регистра Н из аккумулятора с выдачей результата в аккумуляторе;
вычитание содержимого ячейки памяти из содержимого аккумулятора с записью результата в аккумуляторе;
поразрядное логическое умножение содержимого регистра (В) и аккумулятора, ячейки оперативной памяти и аккумулятора, содержимого аккумулятора и байта;
поразрядное логическое сложение содержимого аккумулятора и байта;
реализация логической функции «сложение по модулю 2»
Проверять правильность выполнения команд по данным в приложении А.
Выполнить вычисления с применением команд микропроцессора.
6 СОДЕРЖАНИЕ ОТЧЕТА
1 Преобразования последовательностей цифр и арифметические операции в
двоичной, восьмеричной и шестнадцатеричной системе счисления.
2 Материалы по минимизации заданной логической функции согласно
варианту задания в таблице 5.2. Синтезированная схема соединений ЛЭ.
Выводы, логическое выражение функции в ДНФ и КНФ
3 Результаты вычислений, программу вычислений с применением команд
микропроцессора.
7 КОНТРОЛЬНЫЕ ВОПРОСЫ ДЛЯ САМОСТОЯТЕЛЬНОЙ ПРОВЕРКИ И КОНТРОЛЯ ПОДГОТОВКИ СТУДЕНТОВ К РАБОТЕ
Сформулируйте определение позиционной системы счисления.
Представьте число в виде геометрической прогрессии, определите разряды числа и веса каждого разряда.
Представьте определение основания системы счисления.
Поясните правила перевода чисел из двоичной системы счисления в 8-ричную, в 16-ричную.
Поясните правила перевода чисел из десятичной системы счисления в 2-ичную и выполнение обратного перевода.
Представьте таблицу двоичного сложения, умножения.
Какая цель применения обратного и дополнительных кодов при выполнении арифметических операций.
Поясните сущность основных функций алгебры логики для одного и двух аргументов.
Перечислите системы булевых функций, обладающих функциональной полнотой.
Каковы способы задания булевых функций?
В чем заключается задача минимизации булевых функций?
Поясните сущность ДНФ и СДНФ, КНФ и СКНФ.
Укажите способы выражения произвольной функции для элементов КЦУ.
Представьте карту Карно для 2, 3, 4 аргументов.
Поясните принципы представления функций и способ минимизации с применением карты Карно.
16.Перечислите программно доступные элементы микропроцессора, их назначение и применение.
17. Принцип построения команды, ее характеристики.
18. Принципы функционального разделения команд по группам.
19. Как работает стековая память?
20. Какая информация передается через шины МП?
21. Какие способы адресации используются в командах?
22. Что означает разрядность микропроцессора?
23. Назовите основные элементы структурной схемы МП.
ЛИТЕРАТУРА:
1 Цифровая и вычислительная техника. Учебник. Под ред. Э. В. Евреинова.
- М., Радио и связь, 1991. – 464 с.
2 Вычислительные системы, сети и телекоммуникации. Под ред.
А. П. Пятибратова. Учебник, - М., Финансы и статистика, 2005. – 560 с.
3 Автоматизированные системы управления. Под ред. В. Н. Четверикова. Лабораторный практикум по техническим средствам. Уч. пособие. - М., Высшая школа, 1986. –279 с.
4 Микропроцессоры. Под ред. Преснухина. В 3 книгах, - М., Высшая школа,
1986.
5 Гилмор Ч. Введение в микропроцессорную технику. - М., Мир, 1984.
– 334 с.
6 Б. М. Каган, В. В. Сташин. Микропроцессоры в цифровых системах. - М.,
Энергия, 1979.
ПРИЛОЖЕНИЕ А
Команды микропроцессора
Таблица А.1 - Передача 8-разрядных данных в регистры A, B, C, D, E, H, L
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MVI |
A |
16 |
Передача байта (число 16) в регистр А |
MVI |
B |
40 |
Передача байта (число 40) в регистр В |
MVI |
C |
45 |
Передача байта (число 45) в регистр С |
MVI |
D |
70 |
Передача байта (число 70) в регистр D |
MVI |
E |
160 |
Передача байта (число 160) в регистр Е |
MVI |
H |
200 |
Передача байта (число 200) в регистр Н |
MVI |
L |
255 |
Передача байта (число 255) в регистр L |
Таблица А.2 - Передача 16-разрядных данных в регистры BC, DE, HL
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
LXI |
BC |
500 |
Передача 16-разрядных данних (число 500)в регистр ВС |
LXI |
DE |
1600 |
Передача 16-разрядных данных (число 1600)в регистр DE |
LXI |
HL |
65535 |
Передача 16-разрядных данных (число 65535)в регистр HL |
Таблица А.3 – Обмен данными между парами регистров HL і DE
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
XCHG |
|
|
Обмен данными между парами регистров HL і DE. До выполнения команды в регистрах: в DE – число 1600, в HL – число 65535, после выполнения команды в регистрах: в DE - число 65535, в HL – число 1600. Начальные цифры были введены в ппредыдущей операции (таблица А.2) |
Таблица А.4 – Передача данных с регистра В в регистр А
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MOV |
A |
B |
Передача данных одного из регистров : В или С или D или E или H или L в регистр А. Обозначение соответствующего регистра выполняется в графе „Операнд 2” |
Таблица А.5 – Методы адресации (непосредственная адресация)
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
STA |
1 |
|
Передача данных с регистра А в память с адресом ячейки -1 |
SHLD |
7 |
|
Передача данных з регистров HL в память с адресом ячейки -7 |
Таблица А.6 – Методы адресации (регистровая непрямая адресация). Передача данных из регистра А в память М по адресу, указанному в регистрах HL или DE или BC
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
LXI |
HL |
6 |
Занесение в регистры HL номера ячейки памяті (в данном случае – №6) |
MOV |
M |
A |
Передача данных из регистра А в память М (в данном случае ячейка №6), что указана в регистрах HL |
LXI |
DE |
3 |
Занесение в регистры DE номера ячейки памяти (в данном случае – №3) |
STAX |
DE |
|
Передача данных из регистра А в память М ячейка №3, что указана в регистрах DE |
LXI |
BC |
4 |
Занесение в регистры BC номера ячейки памяті (в данном случае – №4) |
STAX |
BC |
|
Передача данных из регистра А в память М (в данном случае ячейка №4), что указана в регистрах BC |
Таблица А.7 - Методы адресации (непосредственная адресация). Передача данных из памяти М в регистр A и HL
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
LDA |
8 |
|
Загрузка регистра А данными из памяти М (в данном случае ячейка №8) |
LHLD |
1 |
|
Загрузка регистров HL данными из памяти М (в данном случае ячейка №1) |
Таблица А.8 - Методы адресации (непрямая адресация). Передача данных из памяти М в регистр А (вариант 1)
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
LXI |
HL |
7 |
Занесение в регистры HL номера ячейки памяти (в данном случае №7), из которой загружаются данные |
MOV |
A |
M |
Загрузка регистра А данными из памяти М (в данном случае ячейка №7) |
Таблица А.9 - Методы адресации (непрямая адресация). Передача данных из памяти М в регистр А (вариант 2)
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
LXI |
DE |
8 |
Занесение в регистры DE номера ячейки памяти (в данном случае №8), из которой загружаются данные |
LDAX |
DE |
|
Загрузка регистра А данными из памяти М (в данном случае ячейка №8) |
Таблица А.10 - Методы адресации (непряма адресація). Передача даних з памяти М в регистр А (вариант 3)
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
LXI |
BC |
7 |
Занесення в регістри BC номера ячейки пам’яті (в даному випадку №7), из которой загружаются данные |
LDAX |
BC |
|
Загрузка регистра А данными из памяти М (в данном случае ячейка №7) |
Таблица А.11 –Последовательное введение данных регистров BC, DE, HL в стек
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
LXI |
BC |
160 |
Загрузка числа 160 в регистры BC |
LXI |
DE |
1600 |
Загрузка числа 1600 в регистры DE |
LXI |
HL |
65535 |
Загрузка числа 65535 в регистры HL |
PUSH |
BC |
|
Занесение данных из регистров BC в стек |
PUSH |
DE |
|
Занесение данных из регистров DE в стек |
PUSH |
HL |
|
Занесение данных из регистров HL в стек |
Таблица А.12 –Выведение данных из стека в регистры
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
POP |
BC |
|
Видача данных в регистр ВС |
POP |
DE |
|
Видача данных в регистр DE |
POP |
HL |
|
Видача данных в регистр HL |
Таблица А.13 – Сложение числа, что находится в регистре B или C или D или E или H или L с числом, что находится в аккумуляторе A.
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MVI |
A |
40 |
Загрузка регистра А (число 40) |
MVI |
H |
10 |
Загрузка регистра Н (число 10) |
ADD |
H |
|
Виполнение сложения данных регистров с выдачей результата в аккумуляторе (в данном случае число 50). Изменяя численное значение операндов 1 и 2 анализировать изменения в регистре признаков (флагов). |
Таблица А.14 – Сложение числа, что находится в ячейке памяти М с числом, что находится в аккумуляторе A.
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MVI |
H |
5 |
Занесение в регистры Н номера ячейки памяті (в данном случае №5) |
MVI |
M |
72 |
Загрузка данных в память (в данном случае в ячейки №5 числа 72) |
MVI |
A |
88 |
Загрузка акумулятора (в даному случае число 88) |
ADD |
M |
|
Выполнение сложения данных ячейки №5 и аккумулятора с выдачей результата в аккумуляторе (в данном случае результат - 160) |
Таблица А.15 – Сложение байта и числа, что находится в аккумуляторе
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
ADI |
40 |
|
Виполнение сложения байта (число 40) и аккумулятора (160 – результат предыдущей операции) с выдачей результата в аккумуляторе (в данном случае результат - 200) |
Таблица А.16 – Поразрядное логичное умножение (логичный элемент «И») содержимого регистра В и аккумулятора
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MVI |
A |
1 |
Загрузка регистра А (число 1) |
MVI |
B |
1 |
Загрузка регистра В (число 1) |
ANA |
B |
|
Порозрядное логичное умножение (А•В) с выдачей результата в аккумуляторе. Изменить один из операндов на „0” и проверить правильность результата: 1х1=1; 1х0=0; 0х1=0;0х0=0. |
Таблица А.17 – Поразрядное логичное умножение (логичный элемент «И») содержания ячейки памяти и аккумулятора
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MVI |
A |
1 |
Загрузка регистра А (число 1) |
MVI |
H |
3 |
Загрузка в регистр Н номера ячейки памяти (в данном случае ячейка №3) |
MOV |
M |
A |
Передача данных из регистра А в память М (в данном случае ячейка №3), |
MVI |
A |
1 |
Загрузка регистра А (число 1) |
ANA |
M |
|
Порозрядное логичное умножение (А•М) с выдачей результата в аккумуляторе. Изменить один из операндов на „0” и проверить правильность результата: 1х1=1; 1х0=0; 0х1=0;0х0=0. |
Таблица А.18 – Поразрядное логичное умножение (функция «И») содержимого байта и аккумулятора
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MVI |
A |
1 |
Загрузка числа в аккумулятор (число1) |
ANI |
1 |
|
Порозрядное логичное умножение с выдачей результата в аккумуляторе. Изменить один из операндов на „0” и проверить правильность результата: 1х1=1; 1х0=0; 0х1=0;0х0=0. |
Таблица А.19 – Поразрядное логичное сложение (функция «ИЛИ») содержимого аккумулятора и байта
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MVI |
A |
1 |
Загрузка числа в аккумулятор (число 1) |
ORI |
1 |
|
Порозрядное логичное сложение с видачей результата в аккумуляторе. Изменить один из операндов на „0” и проверить правильность результата: 1х1=1; 1х0=0; 0х1=0;0х0=0. |
Таблица А.20 - Поразрядное исключающее „ИЛИ” относительно содержимого байта и аккумулятора
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MVI |
A |
0 |
Загрузка числа в аккумулятор (число 0) |
XRI |
1 |
|
Порозрядное логичное исключающее „ИЛИ” с выдачей результата в аккумуляторе. Изменить один из операндов на 0 или 1 и проверить правильность результата: 1х1=0; 1х0=1; 0х1=1;0х0=0. |
Таблица А.21 – Вычитание чисел
Мнемоника |
Операнд 1 |
Операнд 2 |
Комментарий |
MVI |
A |
50 |
Загрузка числа в аккумулятор (число 50) |
MVI |
H |
20 |
Загрузка числа в регистр Н (число 20) |
SUB |
H |
|
Вычитание числа, что находится в регистре Н от числа в аккумуляторе с видачей результата в аккумуляторе (в данном случае число 30). |