Студопедия — Пример выполнения контрольной работы
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Пример выполнения контрольной работы






Алгоритм работы устройства управления объектом приведен на рис.3.

Изучение предложенного алгоритма позволяет представить микропроцессорное устройство управления (МУУ) следующими функциями.

МУУ считывает из памяти параметр PAROU (блок 1), Увеличивает значение переменной PAROU на единицу (блок 2) и сравнивает его с допуском DOP, значение которого задано (блок 3). Если PAROU < DOP, то алгоритмом функционирования предусмотрен возврат к блоку 2. Если PAROU > DOP, то значение параметра PAROU уменьшается на 25 (блок 4) и результат выдается в порт PRT1 на объект управления (блок 5). После чего МУУ переходит к считыванию очередного значения параметра PAROU (блок 1).

 

Рисунок 3. Алгоритм работы устройства управления

Процесс управления заканчивается при достижении ситуации, когда PAROU = DOP.

При разработке структурной схемы МУУ в качестве основы используют структурную схему, показанную на рис.1.

Далее студенту следует описать назначение каждого блока структурной схемы и на основании принципов функционирования МУУ и системы команд составить машинный алгоритм работы устройства управления.

Машинный алгоритм показан на рис.4.

Блоком 1 алгоритма осуществляется загрузка пары регистров HL адресом ячейки памяти, в которой хранится параметр PAROU. Блок 2 пересылает содержимое ячейки памяти (параметр PAROU), адрес которой указан в паре регистров HL в регистр аккумулятор. Блок 3 осуществляет инкремент содержимого регистра аккумулятора. Далее в регистровую пару HL заносится адрес ячейки памяти, в которой хранится параметр DOP (блок 4).

 

Рисунок 4. Машинный алгоритм функционирования МУУ

Блок 5 осуществляет сравнение содержимого регистра аккумулятора A и содержимого ячейки памяти M, адресуемой парой регистров HL. В ячейке памяти хранится параметр DOP, а в регистре аккумуляторе – параметр PAROU. В результате сравнения содержимого аккумулятора с содержимым ячейки памяти устанавливаются флаги C и Z. Если (A) < (M), то флаг переноса C = 1 и осуществляется переход к блоку 3. Если (A) = (M), то разность (A) – (M) = 0 и устанавливается флаг Z =1 и осуществляется переход к блоку СТОП. Если не выполняется ни одно из рассмотренных условий, осуществляется переход к блоку 6. В результате выполнения операции сравнения содержимое регистра аккумулятора, где хранится параметр PAROU, не изменяется.

Блок 6 осуществляет операцию уменьшения содержимого регистра аккумулятора, т.е. уменьшение значения PAROU на десятичную константу 25 (десятичное число 25 в шестнадцатеричной системе счисления 19H) и результат заносится в аккумулятор. Далее блоком 7 содержимое аккумулятора передается в выходной порт PRT1, и управление передается на блок 1 алгоритма.

В соответствии с рассмотренным алгоритмом составим программу для МУУ (табл.1).

Таблица 1. Программа функционирования МУУ

Машинные коды Ассемблер
Адрес Код Метка Команда Комментарий
    BEGIN LXI H, 0148H ;загрузить в пару регистров HL адрес ячейки памяти, в которой хранится параметр PAROU
       
       
  7E   MOV A, M ;переслать содержимое ячейки памяти, адрес которой находится в паре регистров HL в регистр аккумулятор
  3C LET1 INR A ;увеличение PAROU на 1
      LXI 0149H ;загрузка в пару регистров HL адреса ячейки памяти, в которой хранится значение допуска DOP
       
       
  BE   CMP M ;сравнение содержимого регистра аккумулятора с содержимым ячейки памяти, адрес которой указан в паре регистров HL
013A CA   JZ STOP ;переход по адресу STOP при равенстве сравниваемых величин
013B      
013C      
013D DA   JC LET1 ;переход по адресу LET1 при отрицательном результате сравнения
013E      
013F      
  D6   SUI 19H ; уменьшение параметра PAROU на 25
  19H    
  D3   OUT PORT1 ;вывод параметра PAROU в порт PRT1
  F0    
  C3   JMP BEGIN ;передача управления команде по адресу BEGIN
       
       
    STOP HLT ;останов
    PAROU EQU 59H ;параметр PAROU
    DOP EQU 54H ;параметр DOP

Таким образом, программа функционирования МУУ размещается в 25 ячейках памяти. Ячейка памяти с адресом 0148H используется для хранения параметра PAROU, равного 59H, ячейка с адресом 0149H – для хранения допуска DOP, равного 54H. Адресное пространство памяти, занимаемое программой, определяется адресами 0131H ÷ 0149H. Порту PRT1 присвоен адрес F0H.

 

ПРИЛОЖЕНИЕ 1

ВАРИАНТЫ ЗАДАНИЯ АЛГОРИТМОВ ФУНКЦИОНИРОВАНИЯ

Вариант 0

 

 

 

 

Вариант 1

 

 

 

 

Вариант 2

 

 

 

 

Вариант 3

 

 

 

Вариант 4

 

 

 

 

Вариант 5

 

 

 

 

Вариант 6

 

 

 

Вариант 7

 

 

 

 

Вариант 8

 

 

 

 

Вариант 9

 

 

 

ПРИЛОЖЕНИЕ 2

СИСТЕМА КОМАНД МИКРОПРОЦЕССОРА К580 ВМ80А

Наименование Число тактов/циклов Двоичный код Название и описание
Команды передачи данных
MOV R1, R2 5/1 01DDDSSS Передача между регистрами. (R1) (R2). Содержимое регистра R2 передается в регистр R1. Содержимое регистра R2 не меняется.
MOV R, M 7/1 01DDD110 Передача из памяти. (R) (M). Содержимое ячейки памяти, адрес которой находится в паре регистров HL, передается в регистр R.
MOV M, R 7/1 01110SSS Передача в память. (M) (R). Содержимое регистра R передается в ячейку памяти, адрес которой находится в паре регистров HL.
MVI R, data 7/2 00DDD110 Непосредственная передача в регистр. (R) (байт2). Содержимое байта 2 команды передается в регистр R.
MVI M, data 10/2   Непосредственная передача в память. (M) (байт2). Содержимое байта 2 команды передается в ячейку памяти, адрес которой указан в паре регистров HL.
  Загрузка
LXI RP, data 10/3 00RP0001 Непосредственная загрузка пары регистров. (RH) (байт3);(RL) (байт2). Байт 3 команды передается в старший регистр (RH) регистровой пары RP, а байт 2 в младший регистр (RL) этой же пары.
LDA addr 13/3   Прямая загрузка аккумулятора. (A) ((байт3)(байт2)). Содержимое ячейки памяти, адрес которой определен байтами 2 и 3 команды, передается в аккумулятор.
LHLD addr 16/3   Прямая загрузка пары регистров. L ((байт3)(байт2)); H ((байт3)(байт2)+1). Содержимое ячейки памяти, адрес которой определяется байтами 2 и 3 команды передается в регистр L. Содержимое следующей ячейки памяти передается в регистр H.
LDAX RP 7/1 00RP1010 Косвенная загрузка аккумулятора. (A) (M). Содержимое ячейки памяти, адрес которой определяется парой регистров RP, передается в аккумулятор. Могут использоваться только пары RP=B (регистры B и C) или RP=D (регистры D и E).  
Наименование Число тактов/циклов Двоичный код Название и описание
XCHG 4/1   Обмен. (H) «(D); (L) «(E). Содержимое регистров H и L обмениваются с содержимым регистров D и E.
STA addr 13/3   Прямое размещение содержимого аккумулятора. ((байт3)(байт2)) (A). Содержимое аккумулятора передается в ячейку памяти, адрес которой указан байтами 2 и 3 команды.
SHLD addr 16/3   Прямое размещение содержимого регистров. ((байт3)(байт2)) (L); ((байт3)(байт2)+1) (H). Содержимое регистра L передается в ячейку памяти, адрес которой определяется байтами 2 и 3 команды, одержимое регистра H передается в следующую ячейку памяти.
STAX RP 7/1 00RP0010 Косвенная загрузка аккумулятора. (M) (A). Содержимое аккумулятора передается в ячейку памяти, адрес которой содержится в паре регистров RP. Могут использоваться только пары RP=B (регистры B и C) или RP=D (регистры D и E).
Арифметические команды
ADD R 4/1 10000SSS Сложение содержимого регистра. (A) (A)+(R). Содержимое регистра R складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.
ADD M 7/2   Сложение содержимого ячейки памяти. (A) (A)+((H)(L)). Содержимое ячейки памяти, адрес которой указан в паре регистров HL, складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.
ADI data 7/2   Непосредственное сложение. (A) (A)+(байт2). Содержимое байта 2 команды складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.
ADC R 4/1 10001SSS Сложение содержимого регистра и переноса. (A) (A)+(R)+(C). Содержимое регистра R и флага переноса C (бит переполнения) складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.  
Наименование Число тактов/циклов Двоичный код Название и описание
ADC M 7/2   Сложение содержимого ячейки памяти и переноса. (A) (A)+((H)(L))+(C). Содержимое ячейки памяти, адрес которой указан в паре регистров HL, и флага переноса C складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.
ACI data 7/2   Непосредственное сложение с учетом переноса. (A) (A)+(байт2)+(C). Содержимое байта 2 команды и флага переноса C складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.
DAD RP 10/3 00RP1101 Сложение содержимого пары регистров с содержимым пары регистров HL. (H)(L) (H)(L)+(RH)(RL). Содержимое пары регистров RP складывается с содержимым пары регистров HL. Устанавливается флаг C. C=1, если есть перенос при сложении с удвоенной точностью, C=0, если нет переноса.
DAA 4/1   Десятичная коррекция аккумулятора: 1. Если (A3…A0) > 9 или AC = 1, то (A)+6; 2. Если (A7…A4) > 9 или C = 1, то (A7…A4)+6
SUB R 4/1 10010SSS Вычитание содержимого регистра (A) (A)-(R). Содержимое регистра R вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.
SUB M 7/2   Вычитание содержимого ячейки памяти. (A) (A)-(M). Содержимое ячейки памяти, адрес которой указан в паре регистров HL, вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.
SUI data 7/2   Непосредственное вычитание. (A) (A)-(байт2). Содержимое байта 2 команды вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.
SBB R 4/1 10011SSS Вычитание содержимого регистра и переноса (A) (A)-(R)-(C). Содержимое регистра R и флага переноса C вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги; Z, S, C, P, AC .
Наименование Число тактов/циклов Двоичный код Название и описание
SBB M 7/2   Вычитание содержимого ячейки памяти и переноса. (A) (A)-(M)-(C). Содержимое ячейки памяти, адрес которой указан в паре регистров HL, и флага переноса C вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC
SBI data 7/2   Непосредственное вычитание данных и переноса. (A) (A)-(байт2)-(C). Содержимое байта 2 команды и индикатора переноса C вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, C, P, AC.
INR R 5/1 00DDD100 Инкремент содержимого регистра. (R) (R)+1. Содержимое регистра увеличивается на 1. Устанавливаются флаги – Z, S, P, AC.
INR M 10/3   Инкремент содержимого ячейки памяти. (M) ((H)(L))+1. Содержимое ячейки памяти, адрес которой указан в паре регистров HL, увеличивается на 1. Устанавливаются флаги – Z, S, P, AC
INX RP 5/1 00RP0011 Инкремент содержимого пары регистров. (RH)(RL) (RH)(RL)+1. Содержимое пары регистров RP увеличивается на 1
DCR R 5/1 00DDD101 Декремент содержимого регистра. (R) (R)-1. Содержимое регистра уменьшается на 1. Устанавливаются флаги – Z, S, P, AC.
DCR M 10/3   Декремент содержимого ячейки памяти (M) (M)-1. Содержимое ячейки памяти, адрес которой указан в паре регистров HL, уменьшается на 1. Устанавливаются флаги – Z, S, P, AC.
DCX RP 5/1 00RP1011 Декремент содержимого пары регистров (RH)(RL) (RH)(RL)-1. Содержимое пары регистров RP уменьшается на 1.
Логические команды
ANA R 4/1 10100SSS «И» с содержимым регистра. (A) (A)Ù(R). Содержимое регистра R и содержимое аккумулятора логически умножается. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, P, AC. C=0    
Наименование Число тактов/циклов Двоичный код Название и описание
ANA M 7/2   «И» с содержимым ячейки памяти. (A) (A)Ù(M). Содержимое ячейки памяти, адрес которой указан в паре регистров HL и содержимое аккумулятора логически умножается. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, P, AC. C = 0
ANI data 7/2   «И» непосредственно с данными. (A) (A)Ù(байт2). Содержимое байта 2 команды и содержимое аккумулятора логически умножается. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, P, AC. C = 0.
XRA R 4/1 10101SSS «Исключающее ИЛИ» с содержимым регистра (A) (A)Å(R). Исключающее ИЛИ выполняется с содержимым регистра R и содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, P. AC=0, C=0.
XRA M 7/2   «Исключающее ИЛИ» с содержимым ячейки памяти. (A) (A)Å(M). Исключающее ИЛИ выполняется с содержимым ячейки памяти, адрес которой указан в паре регистров HL и содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, P. AC=0, C=0.
XRI data 7/2   «Исключающее ИЛИ» непосредственно с данными. (A) (A)Å(байт2). Исключающее ИЛИ выполняется с содержимым байта 2 команды и содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, P. AC=0, C=0.
ORA R 4/1 10110SS «ИЛИ» с содержимым регистра. (A) (A)Ú(R). Содержимое регистра R логически складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, P. AC=0, C=0.
ORA M 7/2   «ИЛИ» с содержимым ячейки памяти. (A) (A)Ú(M). Содержимое ячейки памяти, адрес которой указан в паре регистров HL логически складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, P. AC=0, C=0.
Наименование Число тактов/циклов Двоичный код Название и описание
ORI data 7/2   «ИЛИ» непосредственно с данными. (A) (A)Ú(байт2). Содержимое байта 2 команды логически складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Устанавливаются флаги – Z, S, P. AC=0, C=0.
CMP R 4/1 10111SSS Сравнить содержимое регистра. (A)-(R). Содержимое регистра R вычитается из содержимого аккумулятора. Содержимое аккумулятора не изменяется. Флаги – Z=1, если (A)=(R), C=1, если (A)<(R).
CMP M 7/2   Сравнить содержимое ячейки памяти. (A)-(M). Содержимое ячейки памяти, адрес которой указан парой регистров HL, вычитается из содержимого аккумулятора. Содержимое аккумулятора не изменяется. Флаги – Z=1, если (A)=(M), C=1, если (A)<(M).
CPI data 7/2   Непосредственно сравнить данные. (A)-(байт2). Содержимое байта 2 команды вычитается из содержимого аккумулятора. Содержимое аккумулятора не изменяется. Флаги – Z=1, если (A)=(байт2), C=1, если (A)<(байт2).
RLC 4/1   Сдвиг влево. (A) (2A). Содержимое аккумулятора сдвигается на один разряд влево (A0 A7, C A7, An+1 An). Устанавливается флаг C.
RRC 4/1   Сдвиг вправо. (A) (A/2). Содержимое аккумулятора сдвигается на один разряд вправо (A7 A0, C A0, An An+1). Устанавливается флаг C.
RAL 4/1   Циклический сдвиг влево. Содержимое аккумулятора сдвигается влево вместе с C (C A7, A0 C An+1 An). Устанавливается флаг C.
RAR 4/1   Циклический сдвиг вправо Содержимое аккумулятора сдвигается вправо вместе с C (A7C, C A0, An An+1). Устанавливается флаг C.
CMA 4/1   Инвертировать содержимое аккумулятора. .Содержимое аккумулятора инвертируется.
CMC 4/1   Инвертировать флаг переноса. . Инвертируется флаг переноса.
STC 4/1   Установить перенос. (C) 1. Флаг переноса устанавливается в 1.    
Наименование Число тактов/циклов Двоичный код Название и описание
Команды ветвлений и переходов
JMP addr 10/3   Ветвление. (PC) (байт3)(байт2). Управление передается команде, адрес которой указан в байтах 3 и 2 текущей команды.
Jcnd addr 10/3 11cnd010 Условное ветвление. Если (cnd), то (PC) ((байт3)(байт2). Если условие выполняется, то управление передается команде, адрес которой указан в байтах 2 и 3 текущей команды, иначе – выполняется следующая команда программы.
CALL addr 17/5   Вызов подпрограммы. (M0) (PCH), (адрес (M0) содержится в (SP)-1); (M1) (PCL), (адрес (M1) содержится в (SP)-2); (SP) ((SP)-2); (PC) (байт3)байт2).
Ccnd addr 17/5 11cnd100 Условный вызов подпрограммы. Если условие выполняется, то действия те же, что и в команде CALL, иначе – выполняется следующая команда программы.
RET 10/3   Возврат из полпрограммы. (M0) (PCL) (адрес (M0) содержится в (SP)); (M1) (PCH) (адрес (M1) содержится в (SP)+1); (SP) (SP)+2.
Rcnd 11/3 11cnd000 Условный возврат из подпрограммы. Если условие выполняется, то действия те же, что и в RET, иначе – выполняется следующая команда программы
RST N 11/3 11NNN111 Рестарт. (M0) (PCH), (адрес (M0) содержится в (SP)-1); (M1) (PCL), (адрес (M1) содержится в (SP)-2); (SP) ((SP)-2); (PC) (NNN´8).
PCHL 5/1   Косвенный переход по адресу, указанному в паре регистров HL. (PCH) (H); (PCL) (L).
Команды ввода/вывода, управления и работы со стеком
IN port 10/3   Ввести данные. (A) (port). Данные из порта, адрес которого указан в байте 2 команды записываются в аккумулятор.
OUT port 10/3   Вывести данные. (port) (A). Данные из аккумулятора записываются в порт, адрес которого указан в байте 2 команды.
PUSH RP 11/3 11RP0101 Загрузить в стек содержимое пары регистров. (M0) (RH), (адрес (M0) содержится в (SP)-1); (M1) (RL), (адрес (M1) содержится в (SP)-2)); (SP) ((SP)-2).    
Наименование Число тактов/циклов Двоичный код Название и описание
PUSH PSW 11/3   Загрузить в стек содержимое регистра флагов. (M0) (A); (адрес (M0) содержится в (SP)-1); (M1) PSW; (адрес (M1) содержится в (SP)-2)); (SP) ((SP)-2).
POP RP 10/3 11RP0001 Считать из стека содержимое пары регистров. (RL) (M0); (адрес (M0) содержится в (SP)); (RH) (M1); (адрес (M1) содержится в (SP)+1)); (SP) ((SP)+2).
POP PSW 10/3   Считать из стека содержимое регистра флагов. (PSW) (M0); (адрес (M0) содержится в (SP)); (A) (M1); (адрес (M1) содержится в (SP)+1)); (SP) ((SP)+2).
XTHL 18/5   Обмен содержимым верхушки стека и пары регистров HL. (L) «(M0); (адрес (M0) содержится в (SP)); (H) «(M1); (адрес (M1) содержится в (SP)+1));
SPHL 5/1   Пересылка содержимого регистров HL в указатель стека. (SP) (HL).
EI 4/1   Разрешение прерываний после выполнения следующей команды.
DI 4/1   Запрещение прерываний после выполнения следующей команды.
HLT 7/1   Останов. Процессор останавливается.
NOP 4/1   Нет операций. Не выполняется никаких операций.
                 

 

АДРЕСА РЕГИСТРОВ АДРЕСА ПАРЫ РЕГИСТРОВ

Адрес (R) Регистр   Адрес (RP) Пара регистров
  A B C D E H L     BC DE HL SP

 

КОДЫ УСЛОВИЙ (cnd), используемых в командах условного перехода, вызова подпрограмм и возврата из них

Коды Мнемоника Условия
  NZ Z NC C P0 PE P M Не ноль (Z = 0) Ноль (Z = 1) Нет переноса (C = 0) Есть перенос (C = 1) Нечетный результат (P = 0) Четный результат (P = 1) Результат положительный (S = 0) Результат отрицательный (S = 1)

 

 







Дата добавления: 2015-09-19; просмотров: 1109. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

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

ТЕОРИЯ ЗАЩИТНЫХ МЕХАНИЗМОВ ЛИЧНОСТИ В современной психологической литературе встречаются различные термины, касающиеся феноменов защиты...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия