Реферат

Реферат Программирование в двоичных кодах

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024



Санкт-Петербургский государственный технический университет

Кафедра системного анализа и управления
ЛАБОРАТОРНАЯ РАБОТА
Дисциплина: организация ЭВМ

Тема: организация микропроцессоров (МП К580)
                                     “__”___________2001г.
Санкт-Петербург

2001


 Цель работы.
                Практическое ознакомление с отдельными БИС микропроцессорного комплекта серии К580, методикой построение МП-систем на его основе и структурой программного обеспечения.

Описание рабочего стенда.
Лабораторный стенд ТУМ1 предназначен для изучения функциональных возможностей и внутренней структуры (организации) МП различных типов, а так же для изучения системы команд (микрокоманд) этих МП и принципов проектирования и отладки микроконтроллеров на основе МП.

Функционально структура лабораторного стенда (рис.1) представляет собой схему обычной МП-системы или микроЭВМ, включающей в себя центральный процессор (ЦП), память, устройство ввода (клавиатура для ввода исходных данных и программ) и устройство вывода (блок светодиодных индикаторов, позволяющий визуально контролировать вводимую информацию и результаты выполнения программ).

В стенде использованы два клавишных регистра входной информации. Первый клавишный регистр предназначен для ввода данных, а второй клавишный регистр выполняет функции регистра микрокоманд для микропроцессоров с микропрограммным управлением или функции регистра адреса для микропроцессоров с фиксированной разрядностью. Кроме того, на панели управления так же размещен ряд переключателей отдельными режимами работы. Светодиодные индикаторы выведены на вертикальную лицевую панель стенда. Независимо от типа исследуемого МП стенд может работать либо в пошаговом режиме, либо в автоматическом.

На плате памяти размещены БИС ОЗУ. Применение оперативных запоминающих устройств в качестве программной (микропрограммной) памяти определено спецификой использования стенда, предназначенного для решения разнообразных задач различных пользователей. В качестве памяти МП-системы на основе микропроцессора К580 использована БИС статического ОЗУ К565РУ2А емкостью 1024х1 бит. Параллельное включение восьми БИС этого типа позволило организовать программную память и память данных объемом 1024 восьми разрядных слов.

При исследовании модульных (секционных) МП используется плата памяти, основу которой составляет две секции по 5 параллельно включенных БИС ОЗУ типа К155РУ2 емкостью 16х4 бит. Использование десяти БИС ОЗУ обеспечило реализацию памяти микропрограмм объемом в 32 двацатиразрдных слова.

Управление режимами работы ОЗУ (Чтение, Запись или хранение информации) в стенде осуществляется с помощью управляющих клавиш ЗУ/КЛАВ и ЗАП, которые соединены с управляющими входами БИС ОЗУ «Выбор кристалла» и «Запись». В общем случае при работе с ЗУ необходимо переключить тумблер ЗУ/КЛАВ в положение ЗУ. При этом информация (данные, команда, микрокоманда), записанная по индицируемому адресу, автоматически считывается и высвечивается на соответствующих одноименных индикаторах. Для записи требуемой информации, предварительно набранной на клавишном регистре данных (микрокоманд), необходимо нажать на клавишу ЗАП. Алгоритм и органы управления памятью конкретных МП-устройств могут несколько отличатся от рассмотренных и будут представлены дополнительно при описании соответствующих режимов работы лабораторного стенда.
Рис.1
  В состав микроЭВМ (рис.2) на базе МПК входит:

-плата центрального процессора, включающая кроме БИС К580ИК80А (К580ВМ80А) ряд БИС и СИС, с помощью которых реализованы тактовый генератор двухфазных последовательностей импульсов Ф1и Ф2, системный контроллер, формирующий внешние сигналы управления обменной информации в МП-системе, и шинные формирователи адреса и данных, предназначенные для повышения нагрузочной способности шин адреса и данных;

-плата памяти, включающая оперативное ЗУ емкостью 1024 восьмиразрядных слова на основе БИС К565РУ2А, предназначенное для записи хранения учебных программ и данных, а так же результатов выполнения программ;

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

С помощью двух внешних разъемов, расположенных на торцевых стенках стенда, предусмотрена возможность подключения двух модулей программируемого параллельного интерфейса ввода-вывода К580ВВ55, обеспечивающий двунаправленный обмен с внешними устройствами.

Основным режимом работы микроЭВМ является режим ВЫПОЛНЕНИЕ ПРОГРАММЫ. Однако, прежде чем приступить к работе, микроЭВМ необходимо запрограммировать. Поэтому наряду с основным режимом микроЭВМ также предусмотрен режим записи и коррекции  программ (команд), который в соответствии с одноименным режимом работы МП КР580ВМ80 назван режимом ПРЯМОГО ДОСТУПА К ПАМЯТИ (ПДП).

Режим ПДП предназначен для записи информации в ОЗУ, а также использования системной шины другими внешними устройствами.

Режим ВЫПОЛНЕНИЯ ПРОГРАММЫ обеспечивает работу микроЭВМ по программе, предварительно записанной в память, в шаговом или автоматическом режиме.

Для организации указанных режимов работы на передней панели стенда устройства ввода размещен ряд элементов управления, назначение которых следующее:

ЗУ/КЛАВ – переключатель (тумблер), определяющий источник данных и команд. В положении ЗУ осуществляется чтение команд и данных из памяти или в память, в положении КЛАВ – с клавиатуры (без обращения к содержимому ЗУ);

ЗПД – тумблер, с помощью которого обеспечивается формирование сигнала «Запрос прямого доступа к памяти». Реагируя на этот сигнал, МП переходит в режим ПДП, при котором ША и ШД МП отключается от системных шин. Благодаря этому, появляется возможность непосредственного обращения к элементам ОЗУ микроЭВМ с помощью клавишных регистров адреса и данных. Установление режима ПДП необходимо контролировать по светодиодному индикатору ППД (подтверждение прямого доступа). Если при включенной клавише ЗПД индикатор ППД не горит, необходимо нажать кнопки НУ и ПУСК;

КЦ/МЦ – тумблер, задающий работу МП по командным или машинным циклам в пошаговом режиме.

Тумблер НЕПР/ШАГ и кнопка ПУСК обеспечивают работу МП в непрерывном или пошаговом режиме при выполнении программы. При этом зависимости от положения переключателя КЦ/МЦ в пошаговом режиме реализуется выполнение одного командного или машинного цикла.      

          

Рис. 2
Изучение простейших технических средств организации  интерфейса микропроцессорных систем выполняется на стенде ТУМ1 с помощью четырех- или шестиразрядного дисплеев на семи сегментных индикаторах (ДСИ).

В большинстве МП-систем обмен информации между МП и периферийными устройствами осуществляется через специальные схемы сопряжения (интерфейсные схемы), выполненные на основе интегральных схем малой степени интеграции или в виде специальных БИС. В простейшем случае роль промежуточного устройства сопряжения между МП и устройством ввода-вывода выполняет регистр часто называемый портом. Работу подобного порта можно изучить с помощью четырехразрядного дисплея, в состав ДСИ входят четыре восьмиразрядных регистра с соответствующими схемами управления и четыре семи сегментных индикатора. К системным шинам адреса, данных и управления МП-системами ДСИ подключается через внешний разъем. Семи сегментные индикаторы позволяют отображать все десятичные цифры и ряд букв русского и латинского алфавитов. Кодирование отображаемых символов осуществляется восьмиразрядным двоичным кодом: сегменту b0 соответствует установка в «1» разряда d0 аккумулятора, сегменту b1 – установка в «1» d1 и т.д. принцип кодирования показан на рис. 3.Вывод информации осуществляется по команде Out Port, т.е. вывода содержимого аккумулятора.

                                                                             

Рис. 3
В общем случае в качестве буферного устройства сопряжения между МП и устройствами ввода-вывода используют БИС программируемого параллельного интерфейса КР580ВВ55 (ППИ). Программируемое устройство ввода-вывода параллельной информации КР580ВВ55 представляет собой набор из трех 8-разрядных двунаправленных портов (каналов) А, В и С, предназначенных для подключения периферийных устройств к системным шинам (Рис. 4)

Структурная схема ППИ включает в себя двунаправленный буфер ШД, три информационных регистра каналов А, В, С и схему выбора канала и управления, содержащую регистр управляющего слова. Связь БИС с ШД МП-системы осуществляется через тристабильный 8-разрядный буфер ШД. Входы А0 и А1 подключаются к одноименным линиям шины адреса и используются для выбора внутреннего регистра ППИ   

Рис. 4


1.Выполнение типовых заданий 1-12 из методических указаний

           

Программа №1
Загрузка в регистры B и C данных 010 и 001
Адреса      Команды     Мнемоника команд  Комментарии

L=000       041         LXIH                    Загрузка начального

Адреса памяти.

001         200         B2                      мл. байт памяти.

002         000         В3                      ст. байт памяти.

003         001         LXIB                    Запись исходных данных

                                                в регистры В и С

004         001         В2                      В2à(С)

005         010         В3                      В3à(В)

006         160         MOV M,B                 Запоминание (В)

007         043         INX H                   Формирование следующего

адреса памяти.

010         161         MOV M,C                 Запоминание (С)

011         166         HLT                     Останов.




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

вид:
Адрес      Содержимое

200              001

201              010


Программа №2




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




Адреса      Команды     Мнемоника команд Комментарии

000         061         LXI SP                  Установка указателя

                                                стека.

001         202         В2                      мл.байт адреса.

002         000         В3                      ст.байт адреса.

003         001         LXI B                   Запись исходных данных

                                                в регистры В и С.

004         001         В2                     

005         010         В3                     

006         305         PUSH B                  Запоминание содержимого

                                                регистров В и С в стеке.

007         166         HLT                     Останов.




Содержимое ячеек после выполнения программы:
Адрес       Содержимое

200               001

201               010
Программа №3
Извлечение данных из стека, их изменение и занесение обратно в стек.

Запишем в стек (H=000, L=200 и H=000, L=201 ) числа 001 и 200 .
Адрес       Команды     Мнемоника команд  Комментарии

000         061         LXI SP                 

001         200         В2

002         000         В3

003         301         POP B                   Извлечение данных

из стека и загрузка их

в регистровую пару В и С

004         004         INR B                   Увеличение на единицу

регистра В

005         015         DCR C                   Уменьшение на единицу

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

006         305         PUSH B                  Запоминание в стеке

007         166         HLT




Содержимое ячеек до выполнения программы:

Адрес

Содержимое

200

001

201

200



Содержимое ячеек после выполнения программы:



Адрес

Содержимое

200

000

201

201




Программа №4
Сложение содержимого регистра с содержимым ячейки памяти




Адреса

Команды

Мнемоника команд

Комментарии

000

041

LXI H



001

200

B2



002

000

B3



003

076

MVI A

Непосредственная  загрузка А одним

одним из слагаемых

004

010

B2



005

206

ADD M

Сложение содержимого А с содержимым ячейки памяти

006

167

MOV M,A



007

166

HLT





Содержимое ячеек до выполнения программы:

Адрес

Содержимое

200

100



Содержимое ячеек после выполнения программы:

Адрес

Содержимое

200

110


Программа №4.1




Сложение двоично-десятичных чисел.



Адреса

Команды

Мнемоника команд

Комментарии

000

041

LXI H



001

200

B2



002

000

B3



003

076

MVI A



004

010

B2



005

206

ADD M

(A)+(M)à(A)

006

047

DAA

Десятичная коррекция

007

167

MOV M,A



010

166

HLT





Содержимое ячеек до выполнения программы:

Адрес

Содержимое

200

051 (29)



Содержимое ячеек после выполнения программы:

Адрес

Содержимое

200

067 (37)




Программа №4.2
Вычитание двоично-десятичных чисел




Адреса

Команды

Мнемоника команд

000

041

LXI H

001

200

B2

002

000

B3

003

006

MVI B

004



B2

005

076

MVI A

006

231

99

007

220

SUB B

010

074

INR A

011

206

ADD

012

047

DAA

013

167

MOV M,A

014

166

HLT



Содержимое ячеек до выполнения программы:

Адрес

Содержимое

200

045 (25)

Содержимое ячеек после выполнения программы:

Адрес

Содержимое

200

007 (07)




Программа №5
Логическая операция, сдвиг числа и запоминание слова состояния


Адреса

Команды

Мнемоника команд

Комментарии

000

006

MVI B



001

200

B2



002

076

MVI A



003

001

B2



004

250

XRA

Сложение по mod2 содержимого А и В.

005

027

RAL

Циклический сдвиг влево через перенос.

006

061

LXI SP



007

202

B2



010

000

B3



011

365

PUSH PSW

Запоминание в стеке Слова Состояния Программы.

012

166

HLT




Анализ значений Слова Состояния Программы




Мнемоника команды

Значение PSW



(A)

РгF

MVI B 200

xxxxxxxx

xx0x0x1x

MVI A 001

00000001

xx0x0x1x

XRA B

10000001

10000110

RAL

00000010

10000111

LXI SP 202 000

00000010

10000111

PUSH PSW

00000010

10000111

HLT

00000010

10000111



Содержимое ячеек после выполнения программы:

Адрес

Содержимое

200

207

201

002




Программа №6
Обнуление области памяти. Программа пересылает нулевое содержимое какого либо регистра в ячейку памяти.




Адреса

Команды

Мнемоника команд

Комментарий

000

227

SUB A

Обнуление А

001

041

LXI H



002

011

B2



003

000

B3



004

167

MOV M,A

Обнуление ячейки памяти по адресу HL

005

043

INX H

Адрес следующей ячейки

006

303

JMP

Безусловный переход по адресу

007

004

B2

мл.байт

010

000

B3

ст.байт



Содержимое ячеек до выполнения программы:

Адрес

Содержимое

011

Xxx

...

Xxx

040

Xxx



Содержимое ячеек после выполнения программы:

Адрес

Содержимое

011

000

...

000

040

000




Программа №7
Режим задания команд с клавиатуры


Адреса

Команды

Мнемоника команд

100 200

166

HLT

Задание с клавиатуры


Команды

Мнемоника команд

303

JMP

200

B2

100

B3



Программа №8
Условные переходы. Программа позволяет изучить действие условных переходов. По адресу H=000,L=200 запишем число 002(соответствует нулевому значению всех флагов в регистре признаков), а по адресу H=000,L=004 – число 302(код команды условного перехода по ненулевому результату JNZ).

  


Адреса

Команды

Мнемоника команд

Комментарии

000

061

LXI SP



001

200

B2



002

000

B3



003

361

POP PSW

Извлечение из стека ССП

004

*

*

(JNZ,JZ,JNC,JC,JPO,JPE,JP,JM)

005

000

B2



006

000

B3



007

166

HLT



200

**

-



201

000

-





Варианты выполнения программы


Признак

Данные по адресу 004

Данные по адресу 200

Переход к адресу 000



302 (JNZ)

002 (z=0)

Есть

ноль

302 (JNZ)

102 (z=1)

Нет



312 (JZ)

102 (z=1)

Есть



322 (JNC)

002 (c=0)

Есть

перенос

322 (JNC)

003 (c=1)

Нет



332 (JC)

003 (c=1)

Есть



342 (JPO)

002 (p=0)

Есть

Четность

342 (JPO)

006 (p=1)

Нет



352 (JPE)

006 (p=1)

Есть



362 (JP)

002 (s=0)

Есть

Знак

362 (JP)

202 (s=1)

Нет



372 (JM)

202 (s=1)

Есть





Программа №12




Выбор максимального элемента массива.



Адрес

Команда

Мнемоника команды

Комментарий

000

041

LXI H



001

100

B1



002

000

B2



003

016

MVI C

Загрузка переменной цикла

004

005

B2

005

176

MOV A,M

Загрузка в А первого элемента

006

043

INX H

Переход к следующему элементу

007

276

CMP M

Если А>М С=0

А<М С=1

010

332

JC

Если А<М меняем местами

011

014

B2

012

000

B3

013

176

MOV A,M

Перенос в А нового максимума

014

015

DCR C

Уменьшение переменной цикла

015

302

JNZ

Если переменная цикла не равна 0 то все сначала



016

006

B2

017

000

B3

020

062

STA

Сохранение результата в памяти

021

150

B2

022

000

B3

023

166

HLT

Конец


2.Выполнение индивидуальных заданий


Программа №1



            Упорядочить пятнадцать элементов массива по возрастанию.




Адрес

Команды

Мнемоника команды

Комментарии

000

016

MVI C

Число прохождений внешнего цикла 15-1=14=16(8)

001

016

B2

002

041

LXI H

Загрузка адреса первого элемента массива

003

100

B2

004

000

B3

005

026

MVI D

Число сравнений внутри главного цикла

006

016

B2

007

106

MOV B,M

Сохр. Первый из сравниваемых элементов в B

010

043

INX H

Формирование адреса второго ср-ого элемента

011

176

MOV A,M

Сохранение второго элемента в аккумуляторе

012

270

CMP B

Сравнение аккумулятора с регистром B.A>B => флаг C=0 и наоборот

013

322

JNC

Если C=1, то элементы расположены по возрастанию и выполнять перемену их местами не нужно(ком 016-021)

014

022

B2

След. Ячейка

015

000

B3

Делитель из памяти в В

016

160

MOV M,B

Перезапись первого элемента по адресу второго

017

053

DCX H

Сформировали адрес первого элемента

020

167

MOV M,A

Сохранили под адресом первого элемента второй

021

043

INX H

Адрес первого из сравниваемых в следующем цикле

022

025

DCR D

Уменьшение переменной внутреннего цикла

023

302

JNZ

Если переменная не равна нулю переход к следующей итерации

024

007

B2

025

000

B3

026

015

DCR C

Уменьшение переменной внешнего цикла

027

302

JNZ

Если переменная внешнего цикла не равна нулю то переходим к следующей итерации

030

002

B2

031

000

B3

032

166

HLT

Конец программы.


Программа №2.
Вывод с задержкой слов РЕПА И ГЕРБ на панель индикатора.


Адрес

Команда

Мнемоника команд

Комментарии

000

076

MVI A

Предварительная инициализация ППИ блока статической индикации

001

200

B2

002

323

OUT port

003

003

B2

004

323

OUT port

005

007

B2

006

004

INR B

Инициализация стека

007

002

STAX B

010

001

LXI B

011

220

B2

012

230

B3

013

007

RLC

014

006

MVI B

015

003

INX B

016

041

LXI H

Загрузка начального адреса в указатель памяти

017

200

B2



020

000

B3



021

176

MOV A,M

Вывод на блок статической индикации слова РЕПА

022

323

OUT port

023

000

B2

024

043

INX H

022

176

MOV A,M

023

323

OUT port

024

001

B2

025

043

INX H

026

176

MOV A,M

027

323

OUT port

030

002

B2

031

043

INX H

032

176

MOV A,M

033

323

OUT port

034

004

B2

035

315

CALL addr

Вызов подпрограммы

036

153

B2



037

000

B3



040

043

INX H

Вывод на блок статической индикации слова ГЕРБ

041

176

MOV A,M

042

323

OUT port

043

000

B2

044

043

INX H

045

176

MOV A,M

046

323

OUT port

047

001

B2

050

043

INX H

051

176

MOV A,M

052

323

OUT port

053

002

B2

054

043

INX H

055

176

MOV A,M

056

323

OUT port

057

004

B2

060

315

CALL addr

Вызов подпрограммы

061

153

B2



062

000

B3



063

303

JMP addr

Безусловный переход к команде по адресу, указанному в B2,B3

064

006

B2



065

000

B3





             Подпрограмма, организующая задержку.



Адрес

Команды

Мнемоника команды

Комментарии

153

001

LXI B

Запись исходных данных в регистры B и C

154

377

B2

B2à(C)

155

377

B3

B3à(B)

156

005

DCR B

Уменьшение переменной внутреннего цикла

157

302

JNZ addr

Если переменная цикла не равна нулю переход к следующей итерации

160

156

B2



161

000

B3



162

015

DCR C

Уменьшение переменной внешнего цикла

163

302

JNZ addr

Если переменная цикла не равна нулю переход к следующей итерации

164

156

B2



165

000

B3



166

311

RET

Безусловный возврат из подпрограммы



Коды букв для вывода на семи сегментный индикатор



А

167

Б

175

Г

061

Е

171

Р

163

П

067


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



1. Лекция на тему Экологический туризм и экологические походы
2. Реферат Булгаков
3. Реферат IX век до н. э.
4. Реферат Изучение торгового ассортимента безалкогольной продукции
5. Реферат на тему How Contemporary Art Owes The Renaissance Essay
6. Реферат Отчет по учебной практике
7. Кодекс и Законы Юридические лица как субъекты административных правонарушений
8. Диплом на тему Учет затрат в растениеводстве ОАО Ильичевское
9. Курсовая на тему Этнокультурные характеристики концепта management в американской и русской лингвокультурах
10. Реферат на тему Do You Have What It Takes A