
ВВЕДЕНИЕ …………………………………………………………..…...……… |
5 |
1 Развернутое техническое задание…………………………………………......... |
7 |
3 Разработка схемы электрической структурной ……………………………… |
13 |
4 Построение алгоритма решения поставленной задачи ……...……………… |
14 |
5 Разработка программы на языке ассемблера и в машинных кодах………… |
16 |
ЗАКЛЮЧЕНИЕ …………………………………………………………….…….. |
19 |
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ…………………………………. |
24 |
|
|
|
|
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
Первая микросхема была спроектирована и изготовлена в компании 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 |
8286 |
8-битный шинный формирователь с инверсией |
КР580ВА87 |
8287 |
8-битный шинный формирователь без инверсии |
КР580ВА93 |
8293 |
приемопередатчик системы микропроцессор-канал общего пользования |
КР580ВБ89 |
8289 |
арбитр шины |
КР580ВВ51А |
8251A |
контроллер последовательного ввода/вывода |
КР580ВВ55А |
8255A |
программируемый контроллер параллельного ввода/вывода |
КР580ВВ79 |
8279 |
программируемый контроллер клавиатуры и индикации |
КР580ВВ79Д |
8279-5 |
программируемый контроллер клавиатуры и индикации |
КР580ВГ18 |
8218 |
контроллер шины |
КР580ВГ75 |
8275 |
программируемый контроллер дисплея |
КР580ВГ76 |
8276 |
программируемый контроллер дисплея |
КР580ВГ92 |
8292 |
контроллер интерфейса системы микропроцессор-канал общего пользования |
КР580ВИ53 |
8253 |
программируемый интервальный 3-канальный таймер/счетчик (2,0 МГц) |
КР580ВИ53Д |
8253-5 |
программируемый интервальный 3-канальный таймер/счетчик (2,5 МГц) |
КР580ВК28 |
8228 |
системный контроллер и шинный формирователь |
КР580ВК38 |
8238 |
системный контроллер и шинный формирователь |
КР580ВК91А |
8291A |
интерфейс системы микропроцессор-канал общего пользования |
КР580ВН59 |
8259 |
программируемый контроллер прерываний |
КР580ВР43 |
8243 |
расширитель ввода/вывода |
КР580ВТ42 |
8242 |
адресный мультиплексор и счетчик регенерации динамического ОЗУ |
КР580ВТ57 |
8257 |
программируемый контроллер прямого доступа к памяти (ПДП) |
КР580ГФ1 |
|
генератор сигналов специальной формы |
КР580ГФ24 |
8224 |
генератор тактовых импульсов |
КР580ИР82 |
8282 |
8-битный регистр-защелка без инверсии |
КР580ИР83 |
8283 |
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– Пример содержимого последовательно расположенных восьми ячеек памяти программ микроконтроллера.