Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовой проект / Микропроцессоры.doc
Скачиваний:
41
Добавлен:
21.02.2014
Размер:
81.41 Кб
Скачать

Описание мп

Микросхема КР580ВМ80А — функцио­нально законченный однокристальный парал­лельный 8-разрядный микропроцессор с фиксированной системой команд, применяется в качестве центрального процессора в устрой­ствах обработки данных и управления.

Микропроцессор имеет раздельные 16-раз­рядный канал адреса и 8-разрядный канал данных. Канал адреса обеспечивает прямую адресацию внешней памяти объемом до 65536 байт, 256 устройств ввода и 256 устройств вывода.

Условное графическое обозначение микро­схемы приведено на рис.4, назначение выводов в табл.1, структурная схема пока­зана на рис.5.

Восьмиразрядное арифметико-логическое устройство микропроцессора обеспечивает выполнение арифметических и логических операций над двоичными данными, представ­ленными в дополнительном коде, а также об­работку двоично-десятичных упакованных чисел.

В состав блока регистров входят: 16-раз­рядный регистр адреса команды (IР), 16-раз­рядный регистр указателя стека (SР), 16-раз­рядный регистр временного хранения (WZ), 16-разрядная схема инкремента-декремента и шесть 8-разрядных регистров общего назна­чения (В, С, D, Е, H, L), которые могут ис­пользоваться и как три 16-разрядных регист­ра (ВС, DE, HL).

Рис.4 Условное графическое обозначение КР580ВМ80А

Рис.5. Структурная схема КР580ВМ80А

Микропроцессор выполняет команды по машинным циклам. Число циклов, необходи­мое для выполнения команды, зависит от ее типа и может быть от одного до пяти. Ма­шинные циклы выполняются по машинным тактам. Число тактов в цикле определяется кодом выполняемой команды и может быть от трех до пяти. Длительность такта равна периоду тактовой частоты и при частоте 2,0 МГц составляет 500 нс.

В начале каждого машинного цикла мик­ропроцессор вырабатывает сигнал синхрони­зации SYN, который в сочетании с другими сигналами может быть использован для орга­низации различных режимов работы.

На рис.6 изображена диаграмма состояний типичного машинного цикла, показывающая последовательность переходу от такта к такту в машинном цикле и влияние внеш­них сигналов RDY, HLD, INT на выполне­ние машинного цикла.

Вывод

Обозначение

Тип вывода

Функциональное назначение вывода

1, 25-27, 29-40

А10, А0-А2, А3-А9, А15, А12-А14, А11

Выходы

Канал адреса

2

GND

-

Общий

3-10

D4-D7, D3-D0

Входы/выходы

Канал данных

11

UIO

U источника смещения-5В

12

SR

Вход

Установка в исходное состояние

13

HLD

Вход

Захват

14

INT

Вход

Запрос прерывания

15, 22

C2, C1

Выход

Тактовые сигналы

16

INTE

Выход

Разрешение прерывания

17

RC

Выход

Прием информации

18

TR

Выход

Выдача информации

19

SYN

Выход

Сигнал синхронизации

20

UCC1

-

Напряжение питания +5В

21

HLDA

Выход

Подтверждение захвата

23

RDY

Вход

Сигнал «готовность»

24

WI

Выход

Сигнал «ожидание»

28

UCC2

-

Напряжение питания +12В

Таблица 1

После подачи на вывод SR сигнала высо­кого уровня микропроцессор устанавливается в исходное состояние. В такте Т1 микропро­цессор выдает на адресный канал адрес ячейки, в которой хранится команда программы, а через канал данных — информацию состоя­ния. В такте Т2 анализируются состояния сиг­налов на входе RDY. «Подтверждение оста­нова» и в зависимости от состояния этих сиг­налов МП переходит в состояние ожидания, останова или к выполнению такта ТЗ. В такте ТЗ при наличии сигнала высокого уров­ня на входе RDY МП принимает информацию по каналу данных; анализирует состояние сиг­нала на входе HLD и если этот сигнал высо­кого уровня, то после окончания такта ТЗ пе­реходит в состояние захвата. В зависимости от кода выполняемой команды машинный цикл завершается после выполнения тактов ТЗ, Т4 или T5.

В конце машинного цикла снова анализи­руется состояние сигнала на входу HLD. При низком уровне сигнала проверяется, оконче­но ли выполнение команды. Если команда не закончена, то микропроцессор выполняет сле­дующий машинный цикл команды, начиная с такта Т1. В конце каждой команды микро­процессор анализирует состояние сигнала на входе INT. Если сигнал высокого уровня и прерывание было ранее разрешено командой EI, то микропроцессор переходит к выполне­нию машинного цикла «Прерывание», начи­ная с такта Т1. В противном случае выполня­ется первый машинный цикл новой команды с такта Т1.

Действия, выполняемые микропроцессором в конкретном машинном цикле, определяются 8-разрядной информацией состояния, которая выдается через канал данных в такте Т1 каж­дого машинного цикла. Эта информация мо­жет использоваться для выработки сигналов обращения к ЗУ, УВВ и для организации раз­личных режимов работы микропроцессора.

В зависимости от сочетания сигналов сос­тояния, выдаваемых в конкретном цикле, ма­шинные циклы можно разделить на 10 ти­пов:

1. Цикл М1 — прием первого байта коман­ды в регистр команд.

2. Цикл чтения ЗУ — чтений ЗУ по со­держимому программного счетчика или содер­жимому одного из регистров ВС, DE, HL.

3. Цикл записи в ЗУ — запись в ЗУ по содержимому одного из регистров ВС, DE, HL.

4. Цикл чтения стека — чтение ЗУ по со­держимому указателя стека.

5. Цикл записи в стек — запись в ЗУ по содержимому указателя стека.

6. Цикл ввода — ввод информации в ре­гистр результата (аккумулятор) из внешнего устройства.

7. Цикл вывода—вывод информации из ре­гистра результата во внешнее устройство.

8. Цикл прерыванияприем кода команды RST или CALL, из контроллера прерыва­ний.

9. Цикл останова.

10. Цикл прерывания при останове — при­ем кода команды RST или CALL при выводе микропроцессора из режима «Останов» по прерыванию.

.

При выполнении команд микропроцессор может переходить в одно из трех состояний: «ожидание», «захват» и «останов», длитель­ность которых определяется внешними управ­ляющими сигналами.

Система команд микропроцессора состоит из 78 базовых команд, которые можно разде­лить на пять групп:

команды передачи данных — используются для передачи данных из регистра в регистр, из памяти в регистр, из регистра в память;

арифметические команды — используются для сложения, вычитания, инкремента или декремента содержимого регистров или ячейки памяти;

логические команды: И, ИЛИ, исключающее ИЛИ, сравнение, сдвиги;

команды переходов—используются для ус­ловных и безусловных переходов, вызова под­программ и возврата из них;

команды управления, ввода/вывода и ра­боты со стеком — используются для управле­ния прерыванием, регистром признаков, ввода и вывода информации.

В микропроцессоре КР580ВМ80А принят формат информационного слова, представляю­щего собой 8-разрядное двоичное слово (байт). Формат команды зависит от типа операция и может быть одно- двух- или трехбайтовым. Байты двух- и трехбайтовых команд должны храниться в ячейках памяти, следующих одна за другой. Адрес первого байта всегда являет­ся адресом кода операции. Формат команд микропроцессора:

Режимы работы МП-системы. МП-система — это, в ко­нечном счете, цифровой автомат, который выполняет опе­рации с цифровой информацией в соответствии с храня­щейся в памяти программой. Поэтому работа по про­грамме и является основным режимом работы такой системы.

После начального запуска (сброса) в программном счетчике (регистр РС) устанавливается число 0000Н. Буква Н в конце числа указывает, что число пред­ставлено в шестнадцатеричном коде, т. е. отношение ве­сов данного и соседнего младшего разрядов числа рав­но 16 (в шестнадцатеричном коде используются цифры 0—9, а также буквы А—F латинского алфавита, соответ­ствующие десятичным числам 10—15). Установка в со­стояние 0000Н регистра РС приведет к тому, что на ад­ресную шину будет выдан адрес 0000Н и ЦПУ произ­ведет чтение байта информации, хранящегося в ячейке памяти, расположенной по этому адресу.

Содержимое этого байта будет расшифровано в ЦПУ как код соответствующей операции. Получив код опера­ции (КО), ЦПУ определяет число байт, которое должно содержать полный код команды. В рассматриваемом микропроцессоре команды бывают одно-, двух- и трех­байтные, причем по содержанию кода операции МП од­нозначно устанавливает длину кода команды. Если команда описывается двумя или тремя байтами, то ЦПУ считывает недостающие один или два байта из последу­ющих ячеек памяти. Пусть, например, КО, считанный из ячейки 0000Н, указывает на то, что команда трехбайт­ная. Тогда в следующих циклах будут считаны слова из ячеек с номерами 0001Н и 0002Н. Считав, таким образом, полный код команды, ЦПУ ее выполняет. Далее ЦПУ считывает слово из следующей ячейки (по адресу 0003Н) и расшифровывает его как код операции. После этого повторяются те же действия, что и при выполнении первой команды. Таким же путем будет продолжаться работа по программе до тех пор, пока не встретится команда перехода. Такая команда нарушает монотонное нарастание числа, хранящегося в программном счетчике РС. Это число изменяется скачком в соответствии с со­держанием команды перехода, а далее снова код, выда­ваемый на адресную шину, будет увеличиваться на еди­ницу после каждого чтения из памяти.

Таким образом, однобайтные слова, хранящиеся в па­мяти системы (ПЗУ и ОЗУ), могут представлять собой как коды операций, так и восьмиразрядные двоичные числа, являющиеся для процессора простыми числовыми константами. Содержание самого слова не позволяет определить его принадлежность. И только просматривая команды от начала программы, можно установить, яв­ляется ли данное слово кодом операции или числом, представляющим, например, второй или третий байт команды.

В процессе выполнения программы МП-система мо­жет перейти в режим ожидания. Дело в том, что при ра­боте с запоминающим устройством или устройством вво­да—вывода (УВВ) микропроцессор должен получить на шине управления сигнал RDY, подтверждающий готов­ность этих устройств к обмену информацией с ЦПУ. Ес­ли же RDY=0, то МП-система будет находиться в ре­жиме ожидания. При последующем появлении этого сиг­нала работа системы возобновляется.

Остановить работу МП-системы можно также про­граммным путем с помощью специальной команды оста­нова HLT (код операции 76Н). Дальнейшая работа по­сле останова может быть осуществлена путем сброса или подачи сигнала прерывания.

Режим прерывания — это такой режим работы МП-си­стемы, в котором по сигналу от некоторого внешнего устройства производится выполнение специальной под­программы. Если система в момент прихода этого сиг­нала работала по программе, то вначале завершаются действия, предусмотренные текущей командой, а затем выполнение основной программы прерывается. ЦПУ за­прашивает адрес ячейки, в которой хранится КО первой команды подпрограммы обработки прерывания. Этот адрес называют вектором прерывания. Получив вектор прерывания, МП-система далее выполняет команды, счи­тываемые из области памяти, начало которой соответст­вует вектору прерывания. Последней командой подпро­граммы обработки прерывания обычно предписывается системе возврат к выполнению основной программы. Для того чтобы это оказалось возможным, требуется, как пра­вило, в начале подпрограммы обработки прерывания за­помнить в стеке состояния всех регистров ЦПУ, а в кон­це подпрограммы снова восстановить эти состояния.

В МП системе могут действовать несколько входов прерывания со своими векторами, возможно установле­ние различных режимов и приоритетов прерываний.

Еще один режим работы МП-системы—это режим прямого доступа к памяти (ПДП). В обычных условиях при работе по программе обмен информацией между, например, одним из внешних устройств, подсоединенных через адаптер ввода—вывода (АВВ), и устройством па­мяти (ОЗУ или ПЗУ) осуществляется через ЦПУ. Ин­формация от источника вначале считывается в ЦПУ, а затем из ЦПУ переписывается в приемник информации. Если речь идет о пересылке больших массивов информа­ции, то, естественно, возникает желание упростить и ус­корить процедуру обмена за счет исключения из нее промежуточного звена в виде ЦПУ. Именно такая пере­сылка информации из источника в приемник и осуществ­ляется в режиме ПДП. При этом ЦПУ отключается от шин данных и адреса: буфера этих шин переходят в высокоимпендансное состояние. Происходит так называе­мый захват шин контроллером ПДП—специальным мо­дулем, составленным из одной или нескольких специаль­ных БИС. Этот модуль управ­ляет работой шин и организует обмен информацией в ре­жиме ПДП.

Режим ПДП не часто реализуется в микропроцессор­ных измерительных устройствах. Но поскольку МП при­меняются в устройствах различного назначения, в том числе и в микро-ЭВМ, то входы управления, позволяю­щие осуществить режим ПДП, имеют практически все МП.

Описание управляющей программы.

При включении питания ЭМС происходит сброс про­цессора и ППА. С адреса 0000H начинается отработка программы: настройка портов и таймеров для работы в соответствующих режимах и заполнение ячеек ОЗУ последовательностью кодов от 31H до 36Н. Это необ­ходимо для исключения «молчащих» клавиш, которые могут появиться при случайной установке кодой и ОЗУ после подачи питания (рис. 3).

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

Рис. 3. Алгоритм работы ЭМС: А — код клавиши (со­стояние порта А ППА в модуле клавиатуры и стробов); В—код строб-сигнала (состояние порта В ППА); L — номер канала синтеза; М (L) — ячейка ОЗУ, соответствующая каналу с номером L; Т (L) — регистр данных таймера, соответствующий каналу с номером L.

Это достигается вводом номера свободною канала из ПЗУ модуля клавиатуры и стробов, загрузкой кода клавиши в ячейку ОЗУ, соответствующую этому каналу, выбо­ром из таблицы и загрузкой в таймер двухбайтного кода, определяющего частоту тонального сигнала и установкой активного уровня канального строб-сигнала. Далее осуществляется переход к опросу следующей кла­виши. После опроса всех 48 клавиш устанавливаются строб-сигналы всех каналов в соответствии с состоянием клавиш. После этого алгоритм повторяется с опроса нулевой клавиши. Если сигнал Программа при­нимает активный уровень, то после очередного прохода выполняется программа смены звучания, состоящая в поиске нажатой клавиши и загрузке ППА модуля за­дания параметров синтеза соответствующими ей кода­ми из таблицы.