Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPLAB.DOC
Скачиваний:
6
Добавлен:
18.09.2019
Размер:
1.41 Mб
Скачать

- 15-

и что число на дисплее уже не является истинным содержимым памяти по указанному адресу. Убедиться что последующий ввод чисел осуществляется в младший разряд, а цифра младшего разряда перемещается в старший. Запись в ячейку набранного числа осуществляется нажатием на клавишу ЗпУВ. (Если будет нажата любая другая клавиша в информация в ячейке памяти не изменится).

Задание: а) записать любые числа в две первые ячейки ОЗУ и занести данные в табл. 1.2 ; б) произвести запись информации по адресам 002А Н и FFE5 Н, занести данные в табл. 1.2 и объяснить результат записи информации по данным адресам.

Таблица 1.2

адрес ячейк» памяти

содержимое до записи

записываемые данные

содержимое после записи

примечание

4. Просмотр и запись данных 6 программно- доступные регистры

Нажать клавишу ОтРг. На дисплей будет выведено содержимое регистра А. Используя клавиши ЗпУВ и Ум просмотреть содержимое всех регистров. Изменить данные в регистре можно с помощью цифровых клавиш.

Задание: а) изменить данные в регистрах А и В и занести результаты в табл. 1.2; б) определить и записать адрес начала стека и его содержимое; в) определить состояние программного счетчика.

5. Запуск и выполнение программ пользователя

5.1. Ввод программы с клавиатуры

Ввести в последовательные ячейки ОЗУ следующую программу

Адрес

Мнемокод

Код команды

комментарий

0800

MVI В, #FFH

06

Занести в регистр В

0801

FF

число FF (11111111)

0802

DCR A

3D

Уменьшить на 1 число в per. А

0803

СМР В

B8

Сравнить числа в per. А и В

-16-

0804

CZ 0809 H

CC

Если А-В=0 то перепрыгнуть

0805

09

на адрес

0806

08

0809 Н

0807

OUT 04 H

D3

Вывести бит Аккумулятора в порт

0808

04

04 Н (звуковой сигнал)

0809

JMP 0802 H

C3

Перепрыгнуть на

080A

02

на адрес

080B

08

0802 Н

5.2. Выполнение программы в пошаговом режиме и ее исследование

Записать в табл. 1.3 состояние регистров А, В, F, PC. Установить программный счетчик на адрес 0800 Н и нажать на клавишу ШК. После этого убедиться, что адрес в программном счетчике инкрементирован, и, просмотрев содержимое регистров, занести их состояние в таблицу 1.3. В таблице должно быть не менее 10 шагов программы.

Таблица 1.3

адрес кода команды

содержимое регистра А

содержимое регистра PC

содержимое регистра FL

содержимое регистра В

5.3. Запуск программы в реальном времени

Установить программный счетчик на адрес 0800 Н и нажать на клавишу П. Дисплей Д должен погаснуть. В результате действия программы должен появиться звуковой сигнал частотой около 300 Гц. Останов выполнения программы можно вызвать клавишей Ст.

5.4. Исследование работы программы в поцикловом' режиме.

Установить программный счетчик на адрес 0800 Н и нажать на клавишу ШЦ. Дисплей Д должен погаснуть. Занести в таблицу 1. 4 информацию о состоянии основных магистралей в данном цикле и снова нажать клавишу ШЦ. Производить исследование программы до тех пор, пока в магистрали управления сигнал IOWR не станет равным 1. Останов выполне-

-21 -

нам A,B,C,D,E,Н,L, регистровые пары BC, DE, HL и PSW (образованна аккумулятором А и регистром признаков F), SP- указатель стека и СР -счетчик команд. Операндfми могут являться адреса (ADR) и однобайтные (#D8) или двухбайтные (#D16) данные.

Например, приведенная выше однобайтовая команда в мнемонике будет иметь такой вид: MOV А,С (от английского MOVE-передвигатъ, перемешать). Мнемоника команд МП БИС КР580ВМ80 приведена в Приложении 2. При записи программы все числа и адреса представляются в шестнадцатиричной системе счисления. Поэтому шестнадцатеричный (гексадецимальный) код данной команды будет записан как 79 Н.

Рассмотрим простейшую программу (Программа 1) извлечения числа из ячейки памяти с адресом 0810 Н, инвертирования его и записи в ячейку с адресом 0811 Н, которая состоит из команд LDA ADR, CMA, STA ADR, RST 1

Программа 1 (в мнемокодах)

Мнемокод

Комментарий

LDA 0810

Получить число из ячейки с адресом 0810

СМА

Инвертировать число

STA 0811

Записать результат в ячейку ЗУ с адресом 0811

RST 1

Прервать выполнение программы

Для записи программы в память микро-ЭВМ необходимо перевести мнемокоды команд в машинные коды. Для этого нужно использовать Приложение 3. В горизонтальном ряду находим второе число кода , а в вертикальном - первое, соответствующее мнемокоду команды. Все коды команд программы записываются в ячейки памяти, расположенные последовательно друг за другом: Двух- и трехбайтовые команды занимают соответственно два или три последовательных адреса.

Программа 1 (размещение по адресам памяти)

Адрес

Коды

Комментарий

0800

ЗА

Код команды LDA

0801

10

Младший байт адреса

0802

08

Старший байт адреса

0803

2F

Код команды СМА

0804

32

Код команды STA

0805

11

Младший байт адреса

0806

08

Старший байт адреса

0807

CF

Код команды RST 1

-20,-

Пояснение к работе:

Внутренняя структура микропроцессора К580ВМ80А представлена на рис.2.1. С помощью магистралей адреса SA и данных SD микропроцессор может обмениваться цифровой информацией с памятью и внешними устройствами, а также обрабатывать эту информацию и управлять процессом этой обработки. Для того чтобы заставить МП выполнять операции над двоичными числами, необходимо создать программу и записать ее в память микроЭВМ. Программа представляет собой список команд, расположенных в последовательных ячейках памяти. Каждая команда представляет собой комбинацию 8-разрядных двоичных чисел (байт), назначение и размер которого определяется системой команд данного микропроцессора.

Каждая команда содержит операцию и операнд. Операция указывает, какое действие необходимо выполнить микропроцессору, а операнд - на что направлено, или с чем произвести это действие. Например, для того чтобы переслать содержимое регистра С в регистр А (аккумулятор), необходимо по шине данных ввести в процессор двоичный (бинарный) код 01111001 команды из соответствующей ячейки памяти. Операнды располагаются в команде следующим образом. Три младших разряда кода команд указывают номер регистра-приемника (R1) информации. Регистры В, С, D, Е, Н, L, кодируются двоичными числами соответственно от 000 до 100. Код 110 обозначает ячейку ЗУ, адрес которой сказан в регистровой паре HL, состоящей из регистров Н nL, а код 1 II является кодом аккумулятора. Два старших разряда кода команды являются операцией и указывают на то, что эта команда является однобайтовой (по размеру) командой пересылки (по содержанию).

Команды, также, могут быть двух- или трехбайтовыми. Например, для того чтобы к содержимому аккумулятора прибавить число 0000 1010 с учетом переноса при переполнении старшего разряда и результат занести в аккумулятор, необходима команда, код которой 1100 1110 0000 1010- эта команда является двухбайтовой.

Двоичным кодом первого байта можно представить 256 двоичных комбинаций. Почти столько же команд имеет и МП БИС КР580ВМ80 (некоторые комбинации не используются). Естественно, что запомнить более 200 кодов команд, представленных в виде набора единиц и нулей, почти невозможно. Поэтому каждому коду команды ставиться в соответствие мнемоническое название (мнемоника) команды, которая является сокращением от английских слов, описывающих ее действие. Если операндами являются регистры, то они кодируются по своим име-

-17-

ния программы в поцикловом режиме можно вызвать клавишей Ст.

Таблица 1.4

Цикл

' Магистраль адресов (двоичный код)

Магистраль данных (двоичный код)

Магистраль упр. (двоичный код)

Разобраться во всей последовательности действий по выполнению программы микропроцессором.

Содержание отчета.: работе должен Отчет по выполненной содержать:

1. Наименование и цель работы.

2. Структурную схему учебной микро-ЭВМ.

3. Карту памяти учебной микро-ЭВМ.

4. Заполненные таблицы 1.1 - 1.4.

5. Исходный текст исследуемой программы.

6. Описание режимов и назначение клавиш управления микро-ЭВМ.

Контрольные вопросы:

1. Какие функциональные узлы входят в состав микро-ЭВМ?

2. Поясните назначение основных функциональных блоков учебной микро-ЭВМ.

3. Какие функции выполняет микро-ЭВМ в режиме ожидания?

4. Для чего необходима карта памяти ЭВМ? Какие адреса занимает ПЗУ и ОЗУ учебной микро-ЭВМ?

5. В каких режимах может работать учебная микро-ЭВМ?

6. Как записать информацию в заданную ячейку памяти или внутренний регистр МП?

7. Каково назначение каждой из 26 клавиш клавиатуры учебной микро-ЭВМ?

8. В каком режиме, и на каких индикаторах можно посмотреть состояние магистралей учебной микро-ЭВМ?

-

-18-

Лабораторная работа N2

ПРОГРАММИРОВАНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ, РАБОТА С ВНЕШНИМИ ПОРТАМИ ВВОДА-ВЫВОДА И ИССЛЕДОВАНИЕ ЦИКЛОВ МИКРОПРОЦЕССОРА.

Цель работы: изучить принципы работы, выполнения отдельных команд МП, и простых программ с различными методами адресации с вводом и выводом данных через внешний порт.

Задание:

1. Изучить методы программирования в машинных кодах для МП БИС КР580ВМ80.

2. Исследовать заданные программы и внести изменения в исследуемые программы.

3. Самостоятельно разработать программы и исследовать их.

Предбауительная подготовка к выполнению лабораторной работы

1. Изучить Л.2 CTp.lS-37, 47-59, Л.4 стр.170-186.

2. Изучить систему команд МП БИС КР580ВМ80.

3. Нарисовать внутреннюю структуру и условное графическое обозначение МП БИС КР580ВМ80.

4. Рассмотреть правила выполнения команд INR А (30), DCR А (3D), ADD А (87), ORA А(В7), СМР A (BF), DAA (27), IN, OUT.

5. Видоизменить и записать программу 2 так, чтобы при ее выполнении исследуемое число первоначально записывалось по адресу 081F: (Программа 4)

6. Разработать программы:

а) увеличения числа записанного по адресу 081А на 5 и записи результата по адресу 081B (Программа 4);

б) сложения чисел, записанных по адресу 081C и в регистре внешнего порта, и записи результата во внешний порт (Программа 5 должна выполнять десятичную коррекцию результата).

в) сравнение чисел записанных по адресам 081F и в регистре внешнего порта, и записи большего в регистр внешнего порта (Программа 6):

г) используя принцип программы выдачи звука в лабораторной работе №1 написать программу, имитирующую работу аварийных сигналов. В порт вывода должны записываться 1 в самый младший и самый старший разряд с частотой около 2 герц (Программа 7).

19-

Регистр адреса Буфер

RA (16) шины

С адреса

INT х PC (16)

е

м Дешиф- SP (16)

INTE а

ратор B (8) C (8)

у A0 - A15

HLD п выбора D (8) E (8)

р Дешиф-

а ратор регистра H (8) L (8)

HLDA в команд D0 - D7

л W (8) Z (8)

е

н Мультиплексор

SR и

я

Регистр

команд Буфер

и шины

C1 RC(8) Внутренняя шина данных (8) данных

c

и

C2 н

х

р Регистр флагов Аккумулятор Схема WR

о F (8) A(8) управ-

RDY н ления

и обме-

з Арифметико- ном RC

WI а Схема логическое

ц десятичной устройство

и коррекции (АЛУ)

SYN и

Рис. 2.1 Внутренняя структура микропроцессора 8080 (К580ВМ80А).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]