- •Рецензент
- •Зерноград, 2005
- •I. Импульсная и цифровая техника
- •Общие сведения
- •Требования по технике безопасности
- •Лабораторная работа № 1
- •Мультивибратор на оу
- •3.2.3 Одновибратор (ждущий мультивибратор)
- •3.2.4 Схемы генераторов на базе логических имс
- •Программа выполнения работы
- •Описание лабораторной установки
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •4 Лабораторная работа n 2
- •4.2.2 Элемент "и"
- •4.2.3 Элемент "или"
- •Элемент "не"
- •4.2.5 Исключающее или (неравнозначность)
- •Порядок выполнения логических операций
- •Схемная реализация логических элементов
- •Диодно-резисторные схемы
- •4.3.2 Диод-транзисторные схемы
- •4.3.3 Транзисторно-транзисторные схемы
- •4.3.4 Асинхронный r-s триггер на логических элементах
- •Программа выполнения работы
- •4.5 Описание лабораторной установки и методика выполнения работы
- •4.5.1 Описание лабораторной установки
- •4.5.2 Методика выполнения работы
- •4.6 Содержание отчета
- •Контрольные вопросы
- •5 Лабораторная работа № 3 исследование триггеров в интегральном
- •5.2.2 Синхронный r-s триггер
- •5.3 Программа выполнения работы
- •5.4 Описание лабораторной установки и методика выполнения работы
- •5.5 Содержание отчета
- •5.6 Контрольные вопросы
- •6 Лабораторная работа № 4
- •6.2.2 Двоичный счетчик с последовательным переносом
- •6.2.3 Двоичный счетчик с параллельным переносом
- •6.2.4 Реверсивный двоичный счетчик
- •6.2.5 Двоично-десятичные счетчики
- •Программа работы
- •6.4 Методика выполнения работы
- •6.4.1 Описание работы лабораторного стенда
- •6.4.3 Исследование работы двоичного счетчика
- •6.4.2 Исследование работы двоично-десятичного счетчика
- •6.5 Содержание отчета
- •Контрольные вопросы
- •7.4.2 Методика выполнения работы
- •9. Лабораторная работа № 6 системы счисления и арифметические операции над числами
- •9.1. Цель работы
- •9.2. Теоретическая часть
- •9.3. Порядок выполнения работы
- •Контрольные вопросы
- •9.5. Указание по оформлению отчета
- •9.6. Варианты заданий
- •10. Лабораторная работа № 7
- •Учебный микропроцессорный комплекс умк
- •Цель работы
- •10.2. Общие сведения
- •10.3. Порядок выполнения работы
- •10.4. Контрольные вопросы
- •Указания о содержании отчета
- •11. Лабораторная работа .№ 8
- •Составление и выполнение простых программ
- •11.1. Цель работы
- •11.2. Общая часть
- •Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •11.6. Указания по оформлению отчета
- •Порядок выполнения работы
- •Контрольные вопросы
- •Указание по оформлению отчета
- •12.6. Варианты заданий
- •Выполнение разветвляющихся программ
- •Порядок выполнения работы
- •Порядок оформления отчета
- •Варианты заданий
- •Контрольные вопросы
- •Приложение а
- •1. Команды пересылок мп кр580вм80а
- •2. Арифметические и логические команды
- •2. Арифметические и логические команды мп кр58рм80а (продолжение)
- •3. Команды управления мп кр580вм80а
- •4. Признаки условий
- •14. Литература
- •15. Содержание
10.3. Порядок выполнения работы
10.3.1.Включить УМК в сеть, для этого выполнить следующие операции:
подключить вилку УМК в сеть переменного тока 220В;
~
нажать клавишу ;
СБ
- нажать клавишу , при этом в левой позиции шестиразрядного дисплея должен появиться знак минус, Если этого не произойдет, то нужно обратиться к преподавателю, предварительно отключив УМК от сети отжатием клавиши.
~
10.3.2.Просмотреть содержимое ПЗУ, имеющее адрес 0000…03FF,. воспользовавшись пунктом 10.2.1. общей части,
10.3.3.Записать в ОЗУ по адресу 0800 любое число, воспользовавшись пунктом 10.2.2. общей части.
10.3.4.Записать константу АА в массив памяти 0810...082F. Убедиться в том, что константа действительно записана в массив. Использовать пункты 10.2.4. и 10.2.1.
10.3.5.Вычислить контрольную сумму массива памяти по адресу 0000…2000. Воспользоваться пунктом 10.2.6. общей части.
1
~
0.3.6.Поочередно вывести на дисплей значении всех регистров микропроцессора и записать их значения в таблицу. Воспользоваться пунктом 10.2.3.10.3.7. Отключить УМК из сети, отжав клавишу .
10.4. Контрольные вопросы
10.4.1. Перечислить названия директивных клавиш.
10.4.2. Что такое РОН ?
10.4.3. Что такое монитор ?
10.4.4. В каких режимах может работать УМК, как установить эти режимы ?
10.4.5. Как запустить программу на выполнение ?
10.4.6. Как осуществить отладку программы пользователя ?
10.4.7. Как занести программу в память МП?
10.4.8. Какие индикаторы выведены на панель УМК ?
10.4.9. Какие информационные клавиши УМК вы знаете ?
10.4.10. Какие команды монитора вы знаете ?
Указания о содержании отчета
Отчет должен содержать название лабораторной работы, её цель, ответы на контрольные вопросы и результаты выполнения пунктов 10.3.3.5 и 10.3.3.6.
11. Лабораторная работа .№ 8
Составление и выполнение простых программ
11.1. Цель работы
Научиться настраивать микросхему К580ВВ55А на ввод-вывод и оставлять простейшие программы на языке ассемблера.
11.2. Общая часть
Порядок составления программ для микропроцессора УМК тот же, что изучался в курсе "Вычислительная техника и программирование":
- на основе анализа производится выбор решения поставленной задачи;
- составляется алгоритм решения;
- в соответствии с алгоритмом записывается программа да языке ассемблера;
- производится перевод программы в машинные коды ( в шестнадцатеричной системе счисления);
- выполняется ввод программы в УМК и производится её отладка;
- программа запускается на выполнение.
Элементарное действие, выполняемое микропроцессором называется командой. Команда, записанная в строке программы, называется оператором. Микропроцессор, K580ВМ80А работает в двоичной системе счисления, шина данных у него является восьмиразрядной (один байт), поэтому максимальное число команд МП составит 28 = 256 команд. Человеку трудно запомнить такое число двоичных чисел, вместо этого каждой комбинации нулей и единиц (двоичному числу) поставлено в соответствие сокращение английских слов, которое называется мнемоническим кодом.
Например, чтобы переслать содержимое регистра А в регистр
В нужно выполнить команду- 01000111. В мнемоническом коде эта команда будет выглядеть так MOV А,В (от англ. глагола move- двигать).
Все команды микропроцессора можно разделить на 3 основные группы:
- команды пересылок;
- арифметические и логические команды;
- команды управления.
Назначение каждой команды приведено в приложении А, более подробно о них узнать в 14.11. Команды могут быть однобайтные, двухбайтные и трехбайтные. т.е. занимать в ОЗУ одну, две или три ячейки памяти.
В любой команде сначала записывается код операции, который всегда занимает один байт. Если в команде задаются данные, то для записи восьмиразрядных данных требуется один байт, а для шестнадцатиразрядных - два байта. Так как нумерация адресов шестнадцатиразрядная, то команды управления занимают три байта, причем при записи адреса сначала записывается младший байт адреса, а затем старший байт адреса.
Для полного использования возможностей микропроцессора все программы пишутся, как правило, на языке ассемблера (используется мнемонический код). Для этого в каждой строке программы пишут один оператор. а вся программа разбивается на 4 поля:
поле метки, поле мнемокода, поле операнда и поле комментария.
Метка - условное обозначение адреса перехода в программе. Меткой может быть последовательность пяти буквенно-цифровых символов, причем первым символом может быть только буква. Метка отделяется от поля мнемокода символом двоеточие, например:
МI:, М34:, S210:, и т.д.
Поле мнемокода - содержит код операции, например MOV, LDA и т.д.
Поле операндов - содержит дополнительную информацию, необходимую для выполнения команды. Например, указатель регистра или регистровой пары, адрес памяти, данные и т.д.
Существует четыре типа операндов:
- регистр;
- регистровая пара;
- непоcредственные данные (одно- или двухбайтовые);
- адрес памяти (двухбайтовый).
Поле комментария - отделяется от поля операнда символом точка с запятой. Комментарий служит для пояснения работы программы, он помогает выявить ошибки в программе . Первоначально нужно указать по какому адресу будет располагаться программа . Для этого служит директива ORG. В УМК пользователю для программ отведена область ОЗУ с адресами 0800н…0ВFFн. Приводим пример программы на языке ассемблера
OBFFн
Поле метки |
Поле мнемокода |
Поле операнда |
Поле комментария |
|
ORG |
0800 |
; начальный адрес программы |
MI: |
MVI |
A,80 |
; настройка УВВ |
|
OUT |
93 |
; настройка УВВ |
|
MVI |
A,AA |
; запись числа в регистр А |
|
OUT |
90 |
; вывод в порт светодиодов |
|
JMP |
MI |
; возврат на начало программы |
Как правило, последним оператором программы является команда остановки HLT , После написания программы ее нужно перевести в машинные коды. Для УМК эта операция делается вручную, а для сложных и длинных программ нужно использовать персональную ЭВМ со специальной программой, которая называется кросс- ассемблер.
Она позволяет производить отладку и перевод программы в шестнадцатеричные коды с использованием дисплея персональной ЭВМ.
При ручном переводе необходимо из приложения А выписать двоичные коды команд на мнемонике, подставив в них коды регистров, регистровых пар, проверок условий и т.д. Затем двоичные числа переводят в шестнадцатеричные и заносят их по ячейкам памяти, Этот перевод необходим, чтобы ускорить ввод программы. Приведенная ранее программа будет иметь вид:
Адрес |
Код |
При переводе следует помнить, что нумерация адресов ячеек памяти - шестнадцатеричная, а при записи адресов перехода вначале указывается младший байт адреса, а затем старший байт адреса. Поэтому, после команды JMP-СЗ в ячейку с адресом 0809 записан вначале младший байт адреса 00 метки MI с адресом 0800 а в ячейку с адресом 080А записан старший байт метки MI-08. |
0800 |
3Е |
|
0801 |
80 |
|
0802 |
D3 |
|
0803 |
93 |
|
0804 |
3Е |
|
0805 |
АА |
|
0806 |
D3 |
|
0807 |
90 |
|
0808 |
C3 |
|
0809 |
00 |
|
080A |
08 |
В любой реальной программе для управления каким-либо технологическим процессом всегда осуществляется ввод и вывод информации (например, ввод информации от датчиков, обработка полученных -сигналов и вывод информации). Поток информации поступает через порты ввода и вывода микросхемы К560ВВ55А с помощью команд IN и OUT . Она имеет три восьмиразрядных порта А,В,С, которые могут работать как на ввод, так и на вывод информации в различных режимах и регистр управляющего слова (РУС). Восьмиразрядный порт С можно использовать как два четырехразрядных: С старший (D4 … D7) и порт С младший (D0 … D3). Для того, чтобы настроить микросхему на требуемый режим необходимо записать определенное восьмиразрядное число в шестнадцатеричной форме в так называемый регистр управляющего слова (РУС).
Для этого число нужно составить, перевести его в шестнадцатиричную форму, записать в аккумулятор (регистр А микропроцессора) с помощью команды MVI и вывести в РУС с помощью команды OUT. В УМК тумблеры и светодиоды макетной панели подключены к портам в соответствии с таблицей 11.1.
Таблица 11.1
Нагрузка |
Порт |
Адрес |
Светодиоды |
А |
90Н |
Тумблеры |
В |
91Н |
Свободный |
С |
92Н |
- |
РУС |
93Н |
Само число имеет восемь разрядов (D7…D0). Чтобы составить число, которое нужно загрузить в РУС, нужно воспользоваться следующей информацией:
D7 D6 D5 D4 D3 D2 D1 D0
1 |
|
|
|
|
|
|
|
Порт
С младший:
1 – ввод
0 – вывод
Порт В:
1 – ввод
0 – вывод
Режим работы портов В и С мл.:
0 – режим 0;
1 – режим 1.
Порт С старший:
1 – ввод,
0 – вывод.
Порт А:
1 – ввод, 0 – вывод.
Режим работы портов А и С старшего:
00 - режим 0,
01- режим 1,
1* - режим 2.
В этом разряде всегда должна быть «1»
В УМК мы будем пользоваться режимом работы портов А,В,С, - 0, что означает простой ввод-вывод.
Если какой-либо порт не используется, то в соответствующие разряды вписывают нули.
Знак * означает, что число может быть любое ( 0 или 1).
Например, нужно настроить порт А на ввод, а порт В на вывод. В этом случае число, записанное в РУС будет иметь вид:
10010000
В шестнадцатеричной форме число будет 90Н. Чтобы настроить микросхему К580ВВ55А нужно выполнить две команды:
MVI A,90H; запись составленного числа в аккумулятор
OUT 93H; вывод числа в РУС.
