|
ВВЕДЕНИЕ …………………………………………………………..…...……… | |
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 Г. |