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

1 Развернутое техническое задание



ВВЕДЕНИЕ …………………………………………………………..…...………

 

1 Развернутое техническое задание………………………………………….........

 

3 Разработка схемы электрической структурной ………………………………

 

4 Построение алгоритма решения поставленной задачи ……...………………

 

5 Разработка программы на языке ассемблера и в машинных кодах…………

 

ЗАКЛЮЧЕНИЕ …………………………………………………………….……..

 

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ………………………………….

 

 

 

 

 

СОДЕРЖАНИЕ


ВВЕДЕНИЕ

Первая микросхема была спроектирована и изготовлена в компании Texas Instruments под руководством Джека Килби (Jack Kilby) в 1958 году. Независимо от Килби приблизительно в то же время Роберт Нойс (Robert Noyce) в основанной им вместе c Гордоном Муром (Gordon Moore) и еще шестью коллегами компании Fairchild Semiconductor объединил полупроводниковые элементы на едином кристалле кремния. Именно Fairchild первой в Кремниевой долине наладила успешное коммерческое производство микрочипов в 1961 году. А спустя десятилетие основанная Нойсом и Муром компания Intel выпустила первый микропроцессор.

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

К наиболее распространенным встроенным устройствам относятся устройства памяти и порты ввода/вывода (I/O), интерфейсы связи, таймеры, системные часы. Устройства памяти включают оперативную память (RAM), постоянные запоминающие устройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемую ROM (EEPROM). Таймеры включают и часы реального времени, и таймеры прерываний. Средства I/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD). Встроенные устройства обладают повышенной надежностью, поскольку они не требуют никаких внешних электрических цепей.

Микроконтроллеры можно встретить в огромном количестве современных промышленных и бытовых приборов: станках, автомобилях, телефонах, телевизорах, холодильниках, стиральных машинах... и даже кофеварках. Среди производителей микроконтроллеров можно назвать Intel, Motorola, Hitachi, Microchip, Atmel, Philips, Texas Instruments, Infineon Technologies (бывшая Siemens Semiconductor Group) и многих других. Для производства современных микросхем требуются сверхчистые помещения.



Основным классификационным признаком микроконтроллеров является разрядность данных, обрабатываемых арифметико-логическим устройством (АЛУ). По этому признаку они делятся на 4-, 8-, 16-, 32- и 64-разрядные. Сегодня наибольшая доля мирового рынка микроконтроллеров принадлежит восьмиразрядным устройствам (около 50 % в стоимостном выражении). За ними следуют 16-разрядные и DSP-микроконтроллеры (DSP - Digital Signal Processor - цифровой сигнальный процессор), ориентированные на использование в системах обработки сигналов (каждая из групп занимает примерно по 20 % рынка). Внутри каждой группы микроконтроллеры делятся на CISC- и RISC-устройства. Наиболее многочисленной группой являются CISC-микроконтроллеры, но в последние годы среди новых чипов наметилась явная тенденция роста доли RISC-архитектуры.

Тактовая частота, или, более точно, скорость шины, определяет, сколько вычислений может быть выполнено за единицу времени. В основном производительность микроконтроллера и потребляемая им мощность увеличиваются с повышением тактовой частоты. Производительность микроконтроллера измеряют в MIPS (Million Instruсtions per Second - миллион инструкций в секунду). [1]

 

1 Развернутое техническое задание

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

Данный комплект выбран в связи с тем, что он имеет некоторые преимущества над более старым зарубежным аналогом Intel8008 (КР580 выпускался по новой технологии что позволило ускорить работу микропроцессора почти в 10 раз, так же была значительно расширена система команд, и также был заменен стек с внутреннего на внешний).

Микропроцессорныйкомплект серии КР580 — набор микросхем(таблица 1), аналогичных набору микросхем Intel 82xx. Использовался в отечественных компьютерах, таких как Радио 86РК, ЮТ-88, Микроша, и т. д. Представляет собой 8-разрядный комплект на основе n-МОП технологии. Система команд СМ1800, ОСТ 11305.910-80. [2]

Таблица 1– Микропроцессорный комплект серии КР580

Обозначение

Аналог

Описание

КР580ВМ80А

8080A

8-битный центральный процессор

КР580ВМ1

 

8-битный центральный процессор

КР580ВА86

 

8-битный шинный формирователь с инверсией

КР580ВА87

 

8-битный шинный формирователь без инверсии

КР580ВА93

 

приемопередатчик системы микропроцессор-канал общего пользования

КР580ВБ89

 

арбитр шины

КР580ВВ51А

8251A

контроллер последовательного ввода/вывода

КР580ВВ55А

8255A

программируемый контроллер параллельного ввода/вывода

КР580ВВ79

 

программируемый контроллер клавиатуры и индикации

КР580ВВ79Д

8279-5

программируемый контроллер клавиатуры и индикации

КР580ВГ18

 

контроллер шины

КР580ВГ75

 

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

КР580ВГ76

 

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

КР580ВГ92

 

контроллер интерфейса системы микропроцессор-канал общего пользования

КР580ВИ53

 

программируемый интервальный 3-канальный таймер/счетчик (2,0 МГц)

КР580ВИ53Д

8253-5

программируемый интервальный 3-канальный таймер/счетчик (2,5 МГц)

КР580ВК28

 

системный контроллер и шинный формирователь

КР580ВК38

 

системный контроллер и шинный формирователь

КР580ВК91А

8291A

интерфейс системы микропроцессор-канал общего пользования

КР580ВН59

 

программируемый контроллер прерываний

КР580ВР43

 

расширитель ввода/вывода

КР580ВТ42

 

адресный мультиплексор и счетчик регенерации динамического ОЗУ

КР580ВТ57

 

программируемый контроллер прямого доступа к памяти (ПДП)

КР580ГФ1

 

генератор сигналов специальной формы

КР580ГФ24

 

генератор тактовых импульсов

КР580ИР82

 

8-битный регистр-защелка без инверсии

КР580ИР83

 

8-битный регистр-защелка с инверсией

 

КР580ВМ80А — 8-разрядный микропроцессор, полный аналог микропроцессора Intel i8080 (1974 год). Является основным элементом микропроцессорного комплекта серии КР580. В различных вариантах выпускался с конца 1970-х годов (наиболее раннее из упоминаний — использован в прототипе компьютера СМ1800, 1979 год) до середины 1990-х годов. Изначально выпускался под названием К580ИК80, представляя собой клон i8080 в 44-выводном планарном металлокерамическом корпусе. Впоследствии был выпущен вариант для широкого применения, КР580ИК80А, являющийся полным клоном i8080A — в стандартном пластиковом корпусе PDIP40, с цоколёвкой, соответствующей оригинальному i8080A. В 1986 году, после изменения советской системы обозначений микросхем, получил название КР580ВМ80А, получившее наибольшую известность. [2]

Штатная тактовая частота для процессора К580ИК80А — 2 МГц, для КР580ИК80А и КР580ВМ80А — до 2,5 МГц (теоретически позволял работать на более высокой частоте). Каждая команда выполняется за 1..5 машинных циклов, каждый из которых состоит из 3..5 тактов. Таким образом средняя производительность оценивается на уровне 200..300 тыс. оп/c на частоте 2 МГц. Процессор содержал 4500 транзисторов по технологии 6 мкм n-МДП (данные для i8080, но для КР580ВМ80А вероятно должны быть аналогичными). Микропроцессор имел раздельные 16-разрядную шину адреса и 8-разрядную шину данных. 16-разрядная шина адреса обеспечивает прямую адресацию внешней памяти объемом до 64 Кбайт и 256 устройств ввода/вывода.

Помимо процессора КР580ВМ80А, ориентированного на широкое применение, выпускался военный вариант — 580ВМ80. Он отличался исполнением в металлокерамическом корпусе CDIP40, и являлся клоном i8080 (тактовая частота — 2 МГц).

КР580ВМ80А имеет 12 недокументированных команд (аналогично 8080). Опкоды #08, #10, #18, #20, #28, #30, #38 являются аналогами операции NOP; опкод #CB является аналогом JMP; опкоды #DD, #ED, #FD являются аналогами CALL; опкод #D9 является аналогом RET. Существует информация, что КР580ВМ80А отличался от зарубежного оригинала i8080 наличием двух дополнительных недокументированных команд (тем не менее задействованных в некоторых компьютерах на базе этого чипа, в частности в ПК Вектор-06Ц). Однако, помимо перечисленных выше кодов операций, все остальные операции задокументированы, больше свободных кодов нет.

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

В состав микропроцессора входят:

- 8-разрядное арифметико-логическое устройство АЛУ (ALU);

- регистр признаков RS, фиксирующий признаки, вырабатываемые АЛУ в процессе выполнения команды;

- аккумулятор (А);

- регистр аккумулятора (RGa);

- регистр временного хранения операндов (RGb);

- десятичный корректор (DAA), выполняющий перевод информации из двоичной в двоично-десятичную форму;

- регистр команд (IR), предназначенный для хранения первого байта команды, содержащего код операции;

- дешифратор команд (DCU);

- блок регистров для приема, выдачи и временного хранения информации в процессе выполнения программ;

- схема управления и синхронизации (CU), формирующая последовательности управляющих сигналов для работы ALU и регистров;

- однонаправленный 16-разрядный буферный регистр адреса (ВА);

- двунаправленный 8-разрядный буферный регистр данных (BD);

- двунаправленный мультиплексор (MUX) для обмена информацией между ALU и блоком регистров по внутренней шине данных (Internal Data Bus.

Как и у большинства микроконтроллеров, у КР580ВМ80А имеется память про­грамм, представляющая из себя некоторое количество ячеек (от ты­сячи до десятка тысяч и более). Она находится внутри самой микро­схемы. Каждая ячейка имеет свой поряд­ковый номер, или, как говорят программисты, адрес. В этих ячейках хранятся числа, могущие принимать значения от 0 до 255. Упомяну­тые числа и есть та самая программа, которую выполняет микрокон­троллер, если мы подадим на него питание.

Программа — это последо­вательность выполняемых микроконтроллером команд. Каждой ко­манде в памяти программ соответствует свой код. При включении питания микроконтроллера один за другим считывает эти коды, осуществляет их дешифрацию, а затем исполняет одну за другой эти дешифрированные команды. В КР580ВМ80А первой выполняется команда, код которой расположен в самой первой ячейке памяти программ с адресом 0.

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

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

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

Блок регистров включает:

- программный счетчик (РС), предназначенный для хранения адреса очередной команды (при выполнении линейных программ этот адрес автоматически увеличивается на 1, 2, 3 в зависимости от длины выполняемой команды - 1, 2 или 3 байта соответственно);

- указатель стека (SP);

- регистр адреса (RGA);

- шесть 8-разрядных регистров общего назначения B, C, D, E, H, L, которые могут объединяться в парные 16-разрядные регистры BC, DE, HL;

- вспомогательные разрядные регистры W, Z. [5],[6]

Рисунок 1– Пример содержимого последовательно расположенных восьми ячеек памяти программ микроконтроллера.

 

 

2 Разработка схемы электрической структурной

Рисунок 2 – Электрическая структурная схема микропроцессорного устройства на микропроцессорном комплекте КР580.

На рисунке 2 представлена структурная схема микропроцессорного устройства на микропроцессорном комплекте КР580.

Генератор тактовых импульсов (ГТИ) формирует две импульсные последовательности Ф1 и Ф2, не­обходимые для тактирования работы микропроцессора (рис. 3.4). Импульсы двух последовательностей не должны перекрываться во времени, должны иметь амплитуду 12 В.

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

Буферы данных и буферы адреса обеспечивают связь цент­рального процессора с внешними шинами данных и адреса. Особен­ность буферов состоит в том, что в каждом разряде они используют ло­гические элементы с тремя состояниями. В них, кроме состояний лог. 0 и лог. 1, предусмотрено еще третье состояние, в котором они имеют практически бесконечное выходное сопротивление и оказываются отключенными от соответствующих шин. Использование таких буферов позволяет процессору отключаться от внешних шин устройств, а также позволяет использовать одну и ту же шину данных как для приема данных (т. е. в качестве входной шины), так и для выдачи данных (т. е. в качестве выходной шины). Такое использование шины данных позволяет сократить число выводов микросхемы. [5],[7]

 

3 Построение алгоритма решения поставленной задачи

Исходные данные для проектирования: входной сигнал длина входного сигнала 1 байт; длина выходного сигнала 2 байта.

Таким образом для входа сигнала будут использованы два порта ввода-вывода, и один порт ввода вывода будет использован для вывода выходного сигнала .

Беззнаковое число длинной 1 байт в десятичном виде может принимать значение от 0 до 255. Таким образом, если не ввести ограничения на входные сигналы то значение выходного сигнала M(t) может превысить 2 байта (в десятичном виде два байта представляют собой диапазон чисел от 0 до 65355). Также очевидно что в результате вычислений может получится не целое число с дробной частью равной 0,5.

Из выше сказанного следует, что в выходном сигнале должно хранится значение остатка (для этого необходимо в выходном сигнале выделить 1 бит под хранение остатка), и следует ограничить значение входных сигналов.

Под значение наличия остатка 0,5 в результате выделим старший бит старшего байта выходного сигнала. Таким образом для хранения целой части результата останется 15 бит(в десятичном виде – диапазон от 0 до 32767).

Вычислим ограничение на входной сигнал для случая, когда допустимые диапазоны входных сигналов для x(t) и y(t) одинаковые.

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

Решим уравнение для случая строгого равенства и округлим полученный результат до ближайшего целого значения

Таким образом получили, что значение входных сигналов не должно превышать 77.

Составим аналитически общий алгоритм решения поставленной задачи.

В программе будут использоваться 4 ячейки памяти ОЗУ, три из них – для хранения значения регистров(адреса 1000H, 1001H, 1002H), и одна – для хранения значения остатка(адрес 1003H).

В начале в программе должны осуществляться инициализация портов ввода вывода и вспомогательных ячеек(для этого используется директива EQU).

Далее на стеке организуется очередь для опережающего входного сигнала y(t) (y(t) будет хранится в очереди).

Затем последовательно осуществляется ввод входных сигналов x(t), z(t). Входной сигнал x(t) будем хранить в регистровой паре DE, а входной сигнал z(t) сразу же будет использован для вычислений.

Далее последовательно находим значения , (для этого вычисляем значения , и складываем их между собой).

При вычислении проверяем наличие остатка (в случае наличия остатка значений ячейки ОЗУ с адресом 1003H изменяем на 1).

Далее вычисляем значение выходного сигнала .

Затем формируем выходные байты, в Старшем байте, если значение ячейки ОЗУ с адресом 1003H равно 1, то присваиваем старшему биту значение 1, в противном случае оставляем его без изменения; и последовательно выводим старший и младшие байты выходного сигнала (блок схема алгоритма приведена в графическом материале).

Также в программе используется подпрограмма выполнения умножения двухбайтовых чисел (подпрограмма MUL). Для умножения в регистровую пару HL заносится множимое, в регистр A- множитель и вызывается подпрограмма MUL. Регистровая пара DE используется для хранения частичной суммы, а регистр B используется как счетчик (перед вызовом подпрограммы MUL необходимо сохранить значение регистра В в ОЗУ по адресу 1002H, регистровая пара DE сохраняется в самой подпрограмме).

Рисунок 3 – Блок-схема алгоритма

 

4 Разработка программы на языке ассемблера и в машинных кодах

 

В таблице 2 приведен текст программы на ассемблере и машинных кодах с подробными комментариями, составлены по алгоритму, разработанному нами ранее.

Таблица 2

Адрес

Машин-ный код

Метка

Мнемо-ника

Операнд

Комментарии

Блок начальных директив

 

 

 

ORG

0000H

Директива начального адреса

 

 

PORTX

EQU

01H

Инициализация портов ввода переменных x(t), y(t), z(t) и вывода V(t)

 

 

PORTY

EQU

02H

 

 

PORTZ

EQU

04H

 

 

PORTV

EQU

08H

 

 

SAVEH

EQU

1000H

Инициализация вспомогательных констант

 

 

SAVEB

EQU

1002H

 

 

OST

EQU

1003H

 

C3 00 01

 

JMP

START

 

 

 

 

ORG

0100H

Директива начального адреса программы

 

3E 00

START:

MVI

A

Обнуление флага наличия в результате остатка 0,5

(Флаг по адресу 1003H)

 

32 03 10

 

STA

OST

 

OE 02

 

MVI

C,02H

 

 

DB 02

REP:

IN

PORTY

Организация очереди на стеке. И заполнение ее опережающим сигналом.

   

 

NOP

 

010A

 

 

NOP

 

010B

 

 

NOP

 

010C

 

 

NOP

 

010D

FE 42

 

CPI

4DH

010F

DA 07 01

 

JC

REP

   

 

MOV

H,A

 

E5

 

PUSH

H

 

0D

 

DCR

C

 

C2 07 01

 

JNZ

REP

 

0E 01

 

MVI

C,01H

Ввод переменной y(t)

011A

DB 02

REPP:

IN

PORTY

Ввод y(t); параметр в аккумуляторе

011C

 

 

NOP

 

Пустые операции для увеличения длительности такта ввода

011D

 

 

NOP

 

011E

 

 

NOP

 

011F

 

 

NOP

 

 

FE 42

 

CPI

4DH

Проверка на не превышение допустимого входного сигнала

 

F2 1A 01

 

JM

REPP

   

 

MOV

H,A

Запись y(t) в очередь.

 

E5

 

PUSH

H

 

0D

 

DCR

C

 

C2 30 01

 

JNZ

SHAG

012B

31 FD FF

 

LXI

SP,FFFD

012E

0E 03

 

MVI

C,03H

Ввод переменной x(t)

 

DB 01

SHAG:

IN

PORTX

Ввод x(t); параметр в аккумуляторе

   

 

NOP

 

Пустые операции для увеличения длительности такта ввода

   

 

NOP

 

   

 

NOP

 

   

 

NOP

 

 

FE 42

 

CPI

4DH

Проверка на не превышение допустимого входного сигнала

 

F2 1A 01

 

JM

REPP

013B

5F

 

MOV

E,A

Сохранение x(t) в регистровой паре DE

013C

16 00

 

MVI

D,00H

Ввод переменной z(t)

013E

DB 04

 

IN

PORTZ

Ввод z(t); параметр в аккумуляторе

   

 

NOP

 

Пустые операции для увеличения длительности такта ввода

   

 

NOP

 

   

 

NOP

 

   

 

NOP

 

 

FE 42

 

CPI

4DH

Проверка на не превышение допустимого входного сигнала

 

F2 1A 01

 

JM

REPP

Вычисление значения

 

EB

 

XCHG

 

Помещение множимого в HL

014A

CD 87 01

 

CALL

MUL

Вызов подпрограммы умножения

 

014D

 

 

MOV

D,H

Помещение результата в регистровую пару DE

014E

6B

 

MOV

E,L

Вычисление значения

014F

3E 07

 

MVI

A,05H

Помещение множителя 05H в аккумулятор

 

CD 87 01

 

CALL

MULL

Вызов подпрограммы умножения

 

A7

 

ANA

A

Сброс флага перенос

 

7A

 

MOV

A,D

Старший байт в аккумуляторе

 

1F

 

RAR

 

Сдвиг аккумулятора без переноса, младший бит старшего байта в аккумуляторе

   

 

MOV

D,A

Аккумулятор в регистр H

 

7B

 

MOV

A,E

Младший байт в аккумуляторе

 

1F

 

RAR

 

Сдвиг аккумулятора без переноса, младший бит старшего байта становится старшим битом младшего байта, младший бит младшего байта в аккумуляторе(Остаток)

015A

5F

 

MOV

E,A

Аккумулятор в регистр L

В регистровой паре HL

 

015B

D2 47 01

 

JNC

STEP

Проверка на наличие остатка, если есть остаток то в ОЗУ по адресу 1003H заносится 01H

015E

3E 01

 

MVI

A,01H

 

32 03 10

 

STA

OST

   

STEP:

DAD

D

Вычисление

 

EB

 

XCHG

 

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

Вычисление значения

 

E1

 

POP

H

y(t) из очереди в регистровую пару HL

 

6C

 

MOV

L,H

 

26 00

 

MVI

H,00H

 

3B

 

DCX

SP

016A

3B

 

DCX

SP

016B

3B

 

DCX

SP

016C

3B

 

DCX

SP

016D

0D

 

DCR

C

016E

 

 

DAD

D

в регистровой паре HL

Вывод результата V(t)

 

3A 03 10

 

LDA

OST

Загрузка значения флага остатка из ОЗУ в аккумулятор

 

FE 01

 

CPI

01H

Проверка на наличие остатка

 

C2 7D 01

 

JNZ

ASTEP

В случае наличия остатка выполняется присвоение старшему биту результата 1

 

1F

 

RAR

 

 

7C

 

MOV

A,H

017A

 

 

RAL

 

017B

0F

 

RRS

 

017C

 

 

MOV

H,A

017D

7D

ASTEP:

MOV

A,L

Вывод младшего байта результата

 

017E

D3 08

 

OUT

PORTV

 

7C

 

MOV

A,H

Вывод старшего байта результата

 

 

D3 08

 

OUT

PORTW

 

C3 1A 01

 

JMP

REPP

Безусловный переход к новому циклу

 

   

 

HLT

 

Остановка программы

Подпрограмма умножения

 

EB

MUL:

XCHG

 

Начало подпрограммы умножения. Сохранение регистровой пары HL в ОЗУ

 

22 00 10

 

SHLD

SAVEH

018B

EB

 

XCHG

 

018C

16 00

 

MVI

D,00H

Обнуление частичной суммы

018E

1E 00

 

MVI

E,00H

 

06 08

 

MVI

B,08H

Установка счетчика циклов

 

0F

REPT:

RRC

 

Сдвиг следующего разряда множителя в флаг переноса

 

D2 99 01

 

JNC

ZERO

Если следующий разряд не ноль то прибавляем к частичной сумме множимое

 

EB

 

XCHG

 

   

 

DAD

D

 

EB

 

XCHG

 

   

ZERO:

DAD

H

Удвоение регистровой пары HL

019A

 

 

DCR

B

Уменьшение счетчика циклов

019B

C2 92 01

 

JNZ

REPT

Переход если вычисления не закончены

019E

2A 00 10

 

LHLD

SAVEH

Загрузка значений регистровой пары HL из ОЗУ

 

EB

 

XCHG

 

 

3A 02 10

 

LDA

SAVEB

Загрузка значения регистра B из ОЗУ

   

 

MOV

B,A

 

C9

 

RET

 

Выход из подпрограммы

 

 

 

END

 

Директива достижения конца программы

 

 

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсовой работы нами было спроектировано микропроцессорное устройство обработки информации на микропроцессорном комплекте КР580. Устройство питается от двухполярного источника питания +12В, -12В. Рабочая тактовая частота до 2МГц. Микроконтроллер может функционировать при температурном режиме от -65 С до 150 С. Потребляемая мощность 1,5Вт.

В пояснительной записке содержится описание его электрических функциональной и структурной схемы, текст программы на ассемблере и машинных кодах; приведены описания основных принципов устройства и работы микропроцессорного комплекта КР580. Был произведен выбор элементной базы. В графическом материале содержится схема электрическая принципиальная МПУОИ.

 

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

 

 

1. Системы на микроконтроллерах и БИС программируемой логики. – М.: ЭКОМ, 2002.

2. Сектор электронных компонентов. Россия-99. – М.: ДОДЭКА, 1999.

3. Проектирование импульсных и цифровых устройств радиотехнических систем: учеб. пособие для радиотехнич. спец. вузов / под ред. Ю.М. Казаринова. – М.: Высшая школа, 1985. – 319 с.

4. Калабеков, Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов: учеб. пособие для вузов / Б.А. Калабеков. – М.: Радио и связь, 1988. – 368 с.

5. Абель, П. Язык ассемблера для IBM PC и программирования /П. Абель; пер. с англ. Ю.В. Сальникова. – М.: Высшая школа, 1992. – 447 с.

6. Пухальский, Г.И. Цифровые устройства: учеб. пособие для втузов / Г.И. Пухальский, Т.Я. Новосельцева. – СПб.: Политехника, 1996. – 885 с.

7. Угрюмов, Е.П. Цифровая схемотехника / Е.П. Угрюмов. – СПб.: БХВ – Санкт Петербург, 2000. – 518 с.

 


Дата добавления: 2015-11-04; просмотров: 21 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
1 Расчет переходных процессов с применением классического метода | Расписание богослужений на октябрь 2015 Г.

mybiblioteka.su - 2015-2024 год. (0.202 сек.)