асвт .курсач


МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ РАДИОТЕХНИКИ ЭЛЕКТРОНИКИ И АВТОМАТИКИ (технический университет)
Курсовая работа по дисциплине
«Аппаратные средства
вычислительной техники»
на тему: «База данных художников»
Преподаватель: Жемчужникова Т.Н.
Выполнил: Строев Е.В.
Группа: ВИ-1-07
МОСКВА 2011 год.
Оглавление
Введение……………………………………………………………………...3
Постановка задачи…………………………………………………………...8
Техническое задание…………………………………………………….…..9
Структура входных и выходных данных…………………………………..10
Разработка и описание структурной схемы алгоритма……………….…..13
Разработка и описание функциональной схемы алгоритма…………...….21
Распределение памяти в ПЗУ………………………………………………..33
Распределение памяти в ОЗУ………………………………………………..34
Разработка и описание принципиальной схемы алгоритма
В условных адресах……………………………………………………35
В действительных адресах…………………………………………….46
Разработка и описание структурной схемы МПС………………………….58
Разработка и описание функциональной схемы МПС…………..…………60
Временные диаграммы …………………………………………………….…71
Заключение…………………………………………………………………….73
Список литературы………………………………………………………….…………..74
Введение
База данных — организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей.
История возникновения и развития технологий баз данных может рассматриваться как в широком, так и в узком аспекте.
В широком аспекте понятие истории баз данных обобщается до истории любых средств, с помощью которых человечество хранило и обрабатывало данные. В таком контексте упоминаются, например, средства учёта царской казны и налогов в древнем Шумере (4000 г. до н. э.), узелковая письменность инков — кипу, клинописи, содержащие документы Ассирийского царства и т. п. Следует помнить, что недостатком этого подхода является размывание понятия «база данных» и фактическое его слияние с понятиями «архив» и даже «письменность».История баз данных в узком аспекте рассматривает базы данных в традиционном (современном) понимании. Эта история начинается с 1955 г., когда появилось программируемое оборудование обработки записей. Программное обеспечение этого времени поддерживало модель обработки записей на основе файлов. Для хранения данных использовались перфокарты.
Оперативные сетевые базы данных появились в середине 1960-х. Операции над оперативными базами данных обрабатывались в интерактивном режиме с помощью терминалов. Простые индексно-последовательные организации записей быстро развились к более мощной модели записей, ориентированной на наборы. За руководство работой DBTG (Data Base Task Group), разработавшей стандартный язык определения данных и манипулирования данными, Чарльз Бахман получил Тьюринговскую премию.
В это же время в сообществе баз данных COBOL была проработана концепция схем баз данных и концепция независимости данных.
Следующий важный этап связан с появлением в начале 1970-х реляционной модели данных, благодаря работам Эдгара Ф. Кодда. Работы Кодда открыли путь к тесной связи прикладной технологии баз данных с математикой и логикой. За свой вклад в теорию и практику Эдгар Ф. Кодд также получил премию Тьюринга.
Сам термин database (база данных) появился в начале 1960-х гг., и был введён в употребление на симпозиумах, организованных фирмой SDC (System Development Corporation) в 1964 и 1965 гг.
Иван Константинович Айвазовский
17.07.1817 Феодосия - 02.04.1900 Феодосия

Винсент Ван Гог
30.03.1853 Гроот-Зюндерт, Северный Брабант - 29.07.1890 Овер-сюр-Уаз, Франция

Василий Васильевич Верещагин
14.10.1842 Череповец - 13.04.1904 Порт-Артур, ныне Люйшань
Сальвадор Дали
11.05.1904 Фигуэрас, Каталония - 23.01.1989 Фигуэрас, Каталония

Леонардо да Винчи
15.04.1452 Винчи близ Эмполи (Тоскана) - 02.05.1519 замок Кло, теперь Кло-Люсе близ Амбуаза, Турень, Франция

Харменс ван Рейн Рембрандт
15.07.1606 Лейден - 04.10.1669 Амстредам
Илья Ефимович Репин
05.08.1844 Чугуев, ныне Харьковская область Украины - 29.09.1930 Куоккала, ныне Репино в Ленинградской области

Питер Пауль Рубенс
28.06.1577 Зиген, Германия - 30.05.1640 Антверпен

Василий Иванович Суриков
24.01.1848 Красноярск - 19.03.1916 Москва

Постановка задачи
В данной курсовой работе необходимо было разработать систему, позволяющую любому человеку, отвечая на простейшие вопросы относительно художников, найти интересующего его информацию о картине, музее, где эта картина хранится, а так же узнать биографию художника, написавшего её.
При помощи микропроцессорного комплекта пользователь последовательно отвечает на вопросы. Специальная клавиатура позволяет пользователю отвечать на вопросы только словами «ДА», «НЕТ», «НЕ ЗНАЮ».
Пользователь всегда видит перед собой Табло, на котором высвечиваются подсказки системы («Для поиска интересующей Вас информации ответьте пожалуйста на вопрос, который показан ниже», «Данный художник в базе данных не обнаружен, обратитесь в другой музей», «Страницы каталога, на которых находится информация об интересующем Вас художнике, указаны на Табло»).
В зависимости от ответа пользователя на вопрос системы ему задаётся либо следующий вопрос, для уточнения, либо на специальном Табло показывается номер страницы, по которой в каталоге можно найти интересующего художника и его картины.
Система предназначена для использования в музеях, где можно максимально быстро помочь любому человеку найти интересующую его информацию без привлечения работника музея. Но эту систему так же можно использовать и в других местах, где это может быть полезным.
Техническое задание
Требования к разработке специализированного программного обеспечения:
Программное обеспечение должно быть разработано с использование модульного программирования, т.е. включать главный программный модуль и необходимое количество других программных модулей
структурна схема алгоритма
функциональная схема алгоритма
принципиальная схема алгоритма должна быть разработана для такого количества программных модулей, чтобы суммарное количество операторов составляло не менее 230-300 операторов, при этому для главного программного модуля принципиальная схема алгоритма должна быть обязательно
Программирование должно быть выполнено на машинном языке МПК КР580 (в системе команд КР580). При программировании не позволительно пользоваться ассемблером, поэтому распределение памяти должно быть выполнено. Программирование делается сначала в условных адресах (и распределение памяти тоже в условных адресах), а затем в действительных адресах (и распределение памяти тоже в действительных адресах).
Распределение памяти должно быть сделано отдельно для ПЗУ и отдельно для ОЗУ.
Требования к разработке микропроцессорной системы:
должны быть разработаны структурная схема МПС
функциональная схема МПС
При разработке МПС можно использовать структурные схемы микроЭВМ, приведённые в лекциях. Нельзя использовать системный контроллер. Функциональная схема должна включать внутреннюю структуру всех используемых БИС, кроме МБР и шинных формирователей (ШФ).
Описание микропроцессорной системы должно включать временные диаграммы для пяти команд, взятых из своей программы:
команда считывания из ПЗУ
команда считывания из ОЗУ
запись в ОЗУ
ввод с интерфейса
вывод на интерфейс
Если ОЗУ в МПС не используется, то временных диаграмм должно быть три.
Структура входных и выходных данных
Клавиатура, состоящая из 5 кнопок:
Начало работы
Конец работы
Да
Нет
Не знаю

Табло 1, состоящее из светодиодов, которые загораясь, показывают номер страницы в каталоге с интересующем пользователя художником.
Табло 2, состоящее из 4 частей:
«Для поиска необходимой информации ответьте пожалуйста на вопрос, который показан ниже»
11 вопросов
«Поздравляем, требуемая информация найдена! Вы можете посмотреть её в каталоге на странице, указанной на Табло 1»
«К сожалению требуемая информация в базе данных не найдена. Попробуйте обратиться в другой музей»


Разработка и описание структурной схемы алгоритма
Структурная схема алгоритма:

Структурная схема ГПМ:

Описание:
В блоке «Ожидание «НАЧАЛО РАБОТЫ»» выполняется ожидание сигнала от клавиши «НАЧАЛО РАБОТЫ»
Как только клавиша нажата, передаётся управление в Программный модуль 1, где происходит анализ ответов пользователя на вопросы №1-5
Если на вопрос №5 пользователь отвечает «ДА», то управление передаётся в Программный модуль 2, где происходит анализ ответов пользователя на вопросы №6-8.
Если же на вопрос №5 пользователь отвечаем «НЕТ», то управление передаётся в Программный модуль 3, где происходит анализ ответов пользователя на вопросы №9-11.
После того, как Программные модули завершили свою работу система ожидает нажатие клавиши «КОНЕЦ РАБОТЫ»
Структурная схема ПМ1:

Описание:
Управляющий сигнал включает на Табло 2 приветственную надпись.
Происходит задержка на 10 секунд, после чего на Табло 2 загорается Вопрос №1
Происходит задержка на 10 секунд
Происходит анализ ответа пользователя.
Если он ответил «ДА», то на Табло 1 ему показывают номера страницы в каталоге с необходимой информацией.
Если он ответил «НЕТ» или «НЕ ЗНАЮ», загорается на Табло 2 Вопрос №2 и происходит задержка на 10 секунд.
Если на Вопрос №4 пользователь ответил «НЕТ» или «НЕ ЗНАЮ», Программный модуль 1 возвращает управление в Главный программный модуль, где уже и происходит анализ ответа на Вопрос №5
Структурная схема ПМ2:

Описание:
На Табло 2 загорается Вопрос №6
Происходит задержка на 10 секунд
Анализ ответа на Вопрос №6
Если пользователь ответил «ДА», то на Табло 1 появляются страницы в каталоге с требуемой информацией.
Если пользователь ответил «НЕТ» или «НЕ ЗНАЮ», то на Табло 2 загорается Вопрос №7 и происходит анализ ответа пользователя
Если на Вопрос №8 пользователь отвечает «НЕТ» или «НЕ ЗНАЮ», то на Табло 2 загорается сообщение о том, что искомых художников в данной базе данных не найдено.
Структурная схема ПМ3:

Описание:
На Табло 2 загорается Вопрос №9
Происходит задержка на 10 секунд
Анализ ответа на Вопрос №9
Если пользователь ответил «ДА», то на Табло 1 появляются страницы в каталоге с требуемой информацией.
Если пользователь ответил «НЕТ» или «НЕ ЗНАЮ», то на Табло 2 загорается Вопрос №10 и происходит анализ ответа пользователя
Если на Вопрос 11 пользователь отвечает «НЕТ» или «НЕ ЗНАЮ», то на Табло 2 загорается сообщение о том, что искомых художников в данной базе данных не найдено.
Разработка и описание функциональной схемы алгоритма
Функциональная схема ГПМ:

Функциональная схема ПМ1:
130048076517502
002
13869675952351
001

232798478746795
005
124310878746794
004
10223578498853
003
1225727-6370232
002
99060-6686551
001

323776278789779
009
233071678864358
008
122203578832607
007
9155878803366
006
2331085-6819905
005
1224915-6705604
004
94615-6635753
003

509270-6762756
006
1564640-6623057
007
2684145-6915158
008
3590925-6661159
009

Функциональная схема ПМ2:
148421678408772
002
14145778482601
001

275138184539625
005
147249184403174
004
19304084475533
003
1476936-6672522
002
197485-6819901
001

2679700-6762755
005
1369060-6908804
004
90170-7150103
003

Функциональная схема ПМ3:
138964580002612
002
17403480074531
001

252997384104715
005
138901084179294
004
17378384149313
003
1381760-6686552
002
102870-6819901
001

2745740-6775455
005
1477010-6807204
004
176530-6731003
003

Функциональная схема ПМТ10

Распределение памяти в ПЗУ
В условных адресах:
ГПМ+0 ПМ1+0 ПМ2+0 ПМ3+0 ПМТ10+0
… … … … …
ГПМ+56 ПМ1+168 ПМ2+120 ПМ3+120 ПМТ10+45
В действительных адресах:
ГПМ ПМ1ПМ2ПМ3 ПМТ10
0000 0060 0230 0360 0490
0059 0229 0359 0489 0535
Принцип работы:
Пользователь нажимаем на клавиатуре «НАЧАЛО РАБОТЫ».
На Табло 2 загорается приветствие и предложение ответить на вопросы. Так же загорается первый вопрос. Для обдумывания ответа пользователю даётся 10 секунд..В зависимости от того, какую клавишу пользователь нажмёт в ответ на вопрос, возможны следующие случаи:
На Табло 2 загорится сообщение о том, что требуемая информация была найдена, а на Табло 1 загорятся номера страницы в каталоге
На Табло 2 загорится следующий вопрос
На Табло 2 загорится сообщение о том, что требуемая информация не найдена
Структура управляющего слова КР580ВВ55:
7 6 5 4 3 2 1 0
Разряд 0: Порт С(0…3): «1» - ввод, «0» - вывод.
Разряд 1: Порт В: «1» - ввод, «0» - вывод.
Разряд 2: выбор режима: «0» - режим0, «1» - режим1,
Разряд 3:Порт С(4…7): «1» - ввод, «0» - вывод.
Разряд 4: Порт А: «1» - ввод, «0» - вывод.
Разряды 5 и 6:Задание режима: «00» - режим0, «01» - режим1, «10» или «11» - режим2.
Разряд 7:Задание режима «1».
Распределение памяти в ОЗУ
СТЭК
адрес команда комментарий
0000 0009 Переменные
адрес название комментарий
0010 Счётчик1Константа для ПМТ10
0011 Счётчик2Константа для ПМТ10
0012 Счётчик3 Константа для ПМТ10
Разработка и описание принципиальной схемы алгоритма
В условных адресах
ГПМ
ГПМ+0 OUT 898 Отправляем управляющее слово 10001001 на Интерфейс 1
1 2 OUT ED8 Отправляем управляющее слово 11101101 на Интерфейс 2
3 4 IN port C1 Чтение из порта С(0) интерфейса 1 в А
5 ANI 018 Выделение из А нулевого разряда
6 7 CPI 008 Сравниваем А с нулём
8 9 JNZ ГПМ+4 Если не ноль, переходим по адресу ГПМ+4
ГПМ+10 1 2 CALL ПМ1+0 Если ноль, то передача управления в ПМ13 4 5 IN port C1 Чтение из порта С(2) интерфейса 1 в А
6 ANI 048 Выделение из А второго разряда
7 8 CPI 008 Сравниваем А с нулём
9 ГПМ+20 JZ ГПМ+45 Если ноль, то переход по адресу ГПМ+45
1 2 3 IN port C1 Если не ноль, то чтение из порта С(3) в А
4 ANI 088 Выделение из А третьего разряда
5 6 CPI 008 Сравниваем А с нулём
7 8 JZ ГПМ+39 Если ноль, то переход по адресу ГПМ+39
9 ГПМ+30 1 IN port C1 Если не ноль, то чтение из порта С(4) в А
2 ANI 108 Выделение из А четвёртого разряда
3 4 CPI 008 Сравниванием А с нулём
5 6 JNZ ГПМ+15 Если не ноль, то переход по адресу ГПМ+15
7 8 9 CALL ПМ3+0 Передача управления в ПМ3
ГПМ+40 1 2 JMP ГПМ+48 Безусловный переход по адресу ГПМ+48
3 4 5 CALL ПМ2+0 Передача управления в ПМ16 7 8 IN port C1 Чтение из порта С(1) в А
9 ANI 028 Выделение из А первого разряда
ГПМ+50 1 CPI 008 Сравниваем А с нулём
2 3 JNZ ГПМ+48 Если не ноль, то переход по адресу ГПМ+48
4 5 6 HLT СТОП
ПМ1ПМ1+0 MVI A, 108 Заслать содержимое 00010000 в A
1 2 OUT port B2 Передать содержимое А в порт B(4) интерфейса 2
3 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
4 5 6 MVI A, 208 Заслать содержимое 00100000 в A
7 8 OUT port B2 Передать содержимое А в порт В(5) интерфейса 2
9 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
ПМ1+10 1 2 IN port C1 Чтение из порта С(2) интерфейса 1 в А
3 ANI 048 Выделение из А второго разряда
4 5 CPI 008 Сравниваем А с нулём
6 7 JNZ ПМ1+29 Если не ноль, переходим по адресу ПМ1+29
8 9 ПМ1+20 MVI A, 0C8 Заслать в А 00001100 (первая цифра = 1 на Табло 1)
1 2 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
3 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
4 5 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
6 JMP ПМ1+168 Возврат в ГПМ
7 8 9 IN port C1 Чтение из порта С(3) интерфейса 1 в А
ПМ1+30 ANI 088 Выделение из А третьего разряда
1 2 CPI 008 Сравниваем А с нулём
3 4 JZ ПМ1+45 Если ноль, переходим по адресу ПМ1+45
5 6 7 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
8 ANI 108 Выделение из А четвёртого разряда
9 ПМ1+40 CPI 008 Сравниваем А с нулём
1 2 JNZ ПМ1+8 Если не ноль, то переход по адресу ПМ1+8
3 4 5 MVI А, 018 Заслать содержимое 00000001 в А6 7 OUT port A2 Передать содержимое А в порт А(0) интерфейса 2
8 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
9 ПМ1+50 1 IN port C1 Чтение из порта С(2) интерфейса 1 в А
2 ANI 048 Выделение из А второго разряда
3 4 CPI 008 Сравниваем А с нулём
5 6 JNZ ПМ1+68 Если не ноль, переходим по адресу ПМ1+68
7 8 9 MVI A, 768 Заслать в А 01110110 (первая цифра = 2 на Табло 1)
ПМ1+60 1 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
2 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
3 4 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
5 JMP ПМ1+168 Возврат в ГПМ
6 7 8 IN port C1 Чтение из порта С(3) интерфейса 1 в А
9 ANI 088 Выделение из А третьего разряда
ПМ1+70 1 CPI 008 Сравниваем А с нулём
2 3 JZ ПМ1+84 Если ноль, переходим по адресу ПМ1+84
4 5 6 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
7 ANI 108 Выделение из А четвёртого разряда
8 9 CPI 008 Сравниваем А с нулём
ПМ1+80 1 JNZ ПМ1+47 Если не ноль, то переход по адресу ПМ1+47
2 3 4 MVI А, 028 Заслать содержимое 00000010 в А5 6 OUT port A2 Передать содержимое А в порт А(1) интерфейса 2
7 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
8 9 ПМ1+90 IN port C1 Чтение из порта С(2) интерфейса 1 в А
1 ANI 048 Выделение из А второго разряда
2 3 CPI 008 Сравниваем А с нулём
4 5 JNZ ПМ1+107 Если не ноль, переходим по адресу ПМ1+107
6 7 8 MVI A, 5Е8 Заслать в А 01011110 (первая цифра = 3 на Табло 1)
9 ПМ1+100 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
1 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
2 3 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
4 JMP ПМ1+168 Возврат в ГПМ
5 6 7 IN port C1 Чтение из порта С(3) интерфейса 1 в А
8 ANI 088 Выделение из А третьего разряда
9 ПМ1+110 CPI 008 Сравниваем А с нулём
1 2 JZ ПМ1+123 Если ноль, переходим по адресу ПМ1+123
3 4 5 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
6 ANI 108 Выделение из А четвёртого разряда
7 8 CPI 008 Сравниваем А с нулём
9 ПМ1+120 JNZ ПМ1+86 Если не ноль, то переход по адресу ПМ1+86
1 2 3 MVI А, 028 Заслать содержимое 00000100 в А4 5 OUT port A2 Передать содержимое А в порт А(2) интерфейса 2
6 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
7 8 9 IN port C1 Чтение из порта С(2) интерфейса 1 в А
ПМ1+130 ANI 048 Выделение из А второго разряда
1 2 CPI 008 Сравниваем А с нулём
3 4 JNZ ПМ1+146 Если не ноль, переходим по адресу ПМ1+146
5 6 7 MVI A, 4D8 Заслать в А 01001101 (первая цифра = 4 на Табло 1)
8 9 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
ПМ1+140 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
1 2 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
3 JMP ПМ1+168 Возврат в ГПМ
4 5 6 IN port C1 Чтение из порта С(3) интерфейса 1 в А
7 ANI 088 Выделение из А третьего разряда
8 9 CPI 008 Сравниваем А с нулём
ПМ1+150 1 JZ ПМ1+162 Если ноль, переходим по адресу ПМ1+162
2 3 4 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
5 ANI 108 Выделение из А четвёртого разряда
6 7 CPI 008 Сравниваем А с нулём
8 9 JNZ ПМ1+159 Если не ноль, то переход по адресу ПМ1+159
ПМ1+160 1 2 MVI А, 028 Заслать содержимое 0001000 в А3 4 OUT port A2 Передать содержимое А в порт А(3) интерфейса 2
5 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
6 7 8 RET Возврат в ГПМ
ПМ2ПМ2+0 MVI A, 108 Заслать содержимое 0001000 в А1 2 OUT port A2 Передать содержимое А в порт А(4) интерфейса 2
3 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
4 5 6 IN port C1 Чтение из порта С(2) интерфейса 1 в А
7 ANI 04h8 Выделение из А второго разряда
8 9 CPI 008 Сравниваем А с нулём
ПМ2+10 1 JNZ ПМ2+23 Если не ноль, переходим по адресу ПМ2+23
2 3 4 MVI A, 5A8 Заслать в А 01011010(первая цифра = 5 на Табло 1)
5 6 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
7 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
8 9 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
ПМ2+20 JMP ПМ2+120 Возврат в ГПМ
1 2 3 IN port C1 Чтение из порта С(3) интерфейса 1 в А
4 ANI 088 Выделение из А третьего разряда
5 6 CPI 008 Сравниваем А с нулём
7 8 JZ ПМ2+39 Если ноль, переходим по адресу ПМ2+39
9 ПМ2+30 1 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
2 ANI 108 Выделение из А четвёртого разряда
3 4 CPI 008 Сравниваем А с нулём
5 6 JNZ ПМ2+2 Если не ноль, то переход по адресу ПМ2+2
7 8 9 MVI А, 208 Заслать содержимое 00100000 в АПМ2+40 1 OUT port A2 Передать содержимое А в порт А(5) интерфейса 2
2 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
3 4 5 IN port C1 Чтение из порта С(2) интерфейса 1 в А
6 ANI 048 Выделение из А второго разряда
7 8 CPI 008 Сравниваем А с нулём
9 ПМ2+50 JNZ ПМ2+62 Если не ноль, переходим по адресу ПМ2+62
1 2 3 MVI A, 7В8 Заслать в А 01111011 (первая цифра = 6 на Табло 1)
4 5 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
6 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
7 8 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
9 JMP ПМ2+120 Возврат в ГПМ
ПМ2+60 1 2 IN port C1 Чтение из порта С(3) интерфейса 1 в А
3 ANI 088 Выделение из А третьего разряда
4 5 CPI 008 Сравниваем А с нулём
6 7 JZ ПМ2+78 Если ноль, переходим по адресу ПМ2+78
8 9 ПМ2+70 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
1 ANI 108 Выделение из А четвёртого разряда
2 3 CPI 008 Сравниваем А с нулём
4 5 JNZ ПМ2+41 Если не ноль, то переход по адресу ПМ2+41
6 7 8 MVI А, 408 Заслать содержимое 01000000 в А9 ПМ2+80 OUT port A210 Передать содержимое А в порт А(6) интерфейса 2
1 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
2 3 4 IN port C1 Чтение из порта С(2) интерфейса 1 в А
5 ANI 048 Выделение из А второго разряда
6 7 CPI 008 Сравниваем А с нулём
8 9 JNZ ПМ2+101 Если не ноль, переходим по адресу ПМ2+101
ПМ2+90 1 2 MVI A, Е8 Заслать в А 00001110 (первая цифра = 7 на Табло 1)
3 4 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
5 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
6 7 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
8 JMP ПМ2+120 Возврат в ГПМ
9 ПМ2+100 1 IN port C1 Чтение из порта С(3) интерфейса 1 в А
2 ANI 088 Выделение из А третьего разряда
3 4 CPI 008 Сравниваем А с нулём
5 6 JZ ПМ2+117 Если ноль, переходим по адресу ПМ2+117
7 8 9 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
ПМ2+110 ANI 108 Выделение из А четвёртого разряда
1 2 CPI 008 Сравниваем А с нулём
3 4 JNZ ПМ2+80 Если не ноль, то переход по адресу ПМ2+80
5 6 7 MVI А, 028 Заслать содержимое 00001000 в А8 9 OUT port В2 Передать содержимое А в порт В(3) интерфейса 2
ПМ2+120 RET Возврат в ГПМ
ПМ3
ПМ3+0 MVI A, 808 Заслать содержимое 10000000 в А1 2 OUT port A2 Передать содержимое А в порт А(7) интерфейса 2
3 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
4 5 6 IN port C1 Чтение из порта С(2) интерфейса 1 в А
7 ANI 048 Выделение из А второго разряда
8 9 CPI 008 Сравниваем А с нулём
ПМ3+10 1 JNZ ПМ3+23 Если не ноль, переходим по адресу ПМ3+23
2 3 4 MVI A, 7F8 Заслать в А 01111111 (первая цифра = 8 на Табло 1)
5 6 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
7 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
8 9 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
ПМ3+20 JMP ПМ3+120 Возврат в ГПМ
1 2 3 IN port C1 Чтение из порта С(3) интерфейса 1 в А
4 ANI 088 Выделение из А третьего разряда
5 6 CPI 008 Сравниваем А с нулём
7 8 JZ ПМ3+39 Если ноль, переходим по адресу ПМ3+39
9 ПМ3+30 1 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
2 ANI 108 Выделение из А четвёртого разряда
3 4 CPI 008 Сравниваем А с нулём
5 6 JNZ ПМ3+2 Если не ноль, то переход по адресу ПМ3+2
7 8 9 MVI А, 018 Заслать содержимое 00000001 в АПМ3+40 1 OUT port B2 Передать содержимое А в порт B(0) интерфейса 2
2 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
3 4 5 IN port C1 Чтение из порта С(2) интерфейса 1 в А
6 ANI 048 Выделение из А второго разряда
7 8 CPI 008 Сравниваем А с нулём
9 ПМ3+50 JNZ ПМ3+62 Если не ноль, переходим по адресу ПМ3+62
1 2 3 MVI A, 5F8 Заслать в А 01011111 (первая цифра = 9 на Табло 1)
4 5 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
6 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
7 8 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
9 JMP ПМ3+120 Возврат в ГПМ
ПМ3+60 1 2 IN port C1 Чтение из порта С(3) интерфейса 1 в А
3 ANI 088 Выделение из А третьего разряда
4 5 CPI 008 Сравниваем А с нулём
6 7 JZ ПМ3+78 Если ноль, переходим по адресу ПМ3+78
8 9 ПМ3+70 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
1 ANI 108 Выделение из А четвёртого разряда
2 3 CPI 008 Сравниваем А с нулём
4 5 JNZ ПМ3+41 Если не ноль, то переход по адресу ПМ3+41
6 7 8 MVI А, 408 Заслать содержимое 00000010 в А9 ПМ3+80 OUT port B2 Передать содержимое А в порт B(1) интерфейса 2
1 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
2 3 4 IN port C1 Чтение из порта С(2) интерфейса 1 в А
5 ANI 048 Выделение из А второго разряда
6 7 CPI 008 Сравниваем А с нулём
8 9 JNZ ПМ3+101 Если не ноль, переходим по адресу ПМ3+101
ПМ3+90 1 2 MVI A, 5F8 Заслать в А 01011111 (первая цифра = 9 на Табло 1)
3 4 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
5 MVI A, 5F8 Заслать в А 01011111(вторая цифра = 9 на Табло 1)
6 7 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
8 JMP ПМ3+120 Возврат в ГПМ
9 ПМ3+100 1 IN port C1 Чтение из порта С(3) интерфейса 1 в А
2 ANI 088 Выделение из А третьего разряда
3 4 CPI 00 Сравниваем А с нулём
5 6 JZ ПМ3+117 Если ноль, переходим по адресу ПМ3+117
7 8 9 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
ПМ3+110 ANI 108 Выделение из А четвёртого разряда
1 2 CPI 00 Сравниваем А с нулём
3 4 JNZ ПМ3+80 Если не ноль, то переход по адресу ПМ3+80
5 6 7 MVI А, 028 Заслать содержимое 00001000 в А8 9 OUT port В2 Передать содержимое А в порт В(3) интерфейса 2
ПМ3+120 RET Возврат в ГПМ
ПМТ10
ПМТ10+0 LXI HL, 001016 Загружаем в HL адрес ОЗУ+001016
1 2 3 MVI M, 008 Обнуляем счетчик14 5 LXI HL, 001116 Загружаем в HL адрес ОЗУ+001116
6 7 8 MVI M, 008 Обнуляем счетчик29 ПМТ10+10 LXI HL, 001216 Загружаем в HL адрес ОЗУ+001216
1 2 3 MVI M, 008 Обнуляем счетчик3
4 5 NOP 6 NOP 7 NOP 8 INR M Инкрементируем счетчик3
9 MVI A, FF8 Заносим число 25510 в аккумулятор
ПМТ10+20 1 CMP M Сравниваем счетчик 3 с числом 25510
2 JNZ ПМТ10+15 Если счетчик3 ≠ 25510, переход по адресу ПМТ10+15
3 4 5 LXI HL, 001116 Загружаем в HL адрес ОЗУ+001116
6 7 8 INR M Инкрементируем счетчик29 MVI A, 408 Заносим число 6410 в аккумулятор
ПМТ10+30 1 CMP M Сравниваем счетчик2 с числом 6410
2 JNZ ПМТ10+10 Если счетчик2 ≠ 6410, переход по адресу ПМТ10+10
3 4 5 LXI HL, 001016 Загружаем в HL адрес ОЗУ+001016
6 7 8 INR M Инкрементируем счетчик19 MVI A, 648 Заносим в аккумулятор число 10010
ПМТ10+40 1 CMP M Сравниваем счетчик1 с числом 10010
2 JNZ ПМТ10+05 Если счетчик1 ≠ 1010, переход по адресу ПМТ10+05
3 4 5 RET Выход из программного модуля ПМТ10
В действительных адресах:
ГПМ
0000 OUT 898 Отправляем управляющее слово 10001001 на Интерфейс 1
0001 0002 OUT ED8 Отправляем управляющее слово 11101101 на Интерфейс 2
0003 0004 IN port C1 Чтение из порта С(0) интерфейса 1 в А
0005 ANI 018 Выделение из А нулевого разряда
0006 0007 CPI 008 Сравниваем А с нулём
0008 0009 JNZ 0004 Если не ноль, переходим по адресу 0004
0010 0011 0012 CALL 0060 Если ноль, то передача управления в ПМ10013 0014 0015 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0016 ANI 048 Выделение из А второго разряда
0017 0018 CPI 008 Сравниваем А с нулём
0019 0020 JZ 0045 Если ноль, то переход по адресу 0045
0021 0022 0023 IN port C1 Если не ноль, то чтение из порта С(3) в А
0024 ANI 088 Выделение из А третьего разряда
0025 0026 CPI 008 Сравниваем А с нулём
0027 0028 JZ 0039 Если ноль, то переход по адресу 0039
0029 0030 0031 IN port C1 Если не ноль, то чтение из порта С(4) в А
0032 ANI 108 Выделение из А четвёртого разряда
0033 0034 CPI 008 Сравниванием А с нулём
0035 0036 JNZ 0015 Если не ноль, то переход по адресу 0015
0037 0038 0039 CALL 0360 Передача управления в ПМ3
0040 0041 0042 JMP 0048 Безусловный переход по адресу 48
0043 0044 0045 CALL 0230 Передача управления в ПМ20046 0047 0048 IN port C1 Чтение из порта С(1) в А
0049 ANI 028 Выделение из А первого разряда
0050 0051 CPI 008 Сравниваем А с нулём
0052 0053 JNZ 0048 Если не ноль, то переход по адресу 48
0054 0055 0056 HLT СТОП
0057 NOP 0058 NOP 0059 NOP ПМ10060 MVI A, 108 Заслать содержимое 00010000 в A
0061 0062 OUT port B2 Передать содержимое А в порт B(4) интерфейса 2
0063 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0064 0065 0066 MVI A, 208 Заслать содержимое 00100000 в A
0067 0068 OUT port B2 Передать содержимое А в порт В(5) интерфейса 2
0069 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0070 0071 0072 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0073 ANI 048 Выделение из А второго разряда
0074 0075 CPI 008 Сравниваем А с нулём
0076 0077 JNZ 0089 Если не ноль, переходим по адресу 89
0078 0079 0080 MVI A, 0C8 Заслать в А 00001100 (первая цифра = 1 на Табло 1)
0081 0082 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0083 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
0084 0085 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0086 JMP 0228 Возврат в ГПМ
0087 0088 0089 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0090 ANI 088 Выделение из А третьего разряда
0091 0092 CPI 008 Сравниваем А с нулём
0093 0094 JZ 0105 Если ноль, переходим по адресу 105
0095 0096 0097 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0098 ANI 108 Выделение из А четвёртого разряда
0099 0100 CPI 0 Сравниваем А с нулём
0101 0102 JNZ 0068 Если не ноль, то переход по адресу 68
0103 0104 0105 MVI А, 018 Заслать содержимое 00000001 в А0106 0107 OUT port A2 Передать содержимое А в порт А(0) интерфейса 2
0108 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0109 0110 0111 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0112 ANI 048 Выделение из А второго разряда
0113 0114 CPI 008 Сравниваем А с нулём
0115 0116 JNZ 0128 Если не ноль, переходим по адресу 0128
0117 0118 0119 MVI A, 768 Заслать в А 01110110 (первая цифра = 2 на Табло 1)
0120 0121 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0122 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
0123 0124 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0125 JMP 0228 Возврат в ГПМ
0126 0127 0128 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0129 ANI 088 Выделение из А третьего разряда
0130 0131 CPI 008 Сравниваем А с нулём
0132 0133 JZ 0144 Если ноль, переходим по адресу 0144
0134 0135 0136 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0137 ANI 108 Выделение из А четвёртого разряда
0138 0139 CPI 008 Сравниваем А с нулём
0140 0141 JNZ 0107 Если не ноль, то переход по адресу 0107
0142 0143 0144 MVI А, 028 Заслать содержимое 00000010 в А0145 0146 OUT port A2 Передать содержимое А в порт А(1) интерфейса 2
0147 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0148 0149 0150 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0151 ANI 048 Выделение из А второго разряда
0152 0153 CPI 008 Сравниваем А с нулём
0154 0155 JNZ 0167 Если не ноль, переходим по адресу 0167
0156 0157 0158 MVI A, 5Е8 Заслать в А 01011110 (первая цифра = 3 на Табло 1)
0159 0160 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0161 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
0162 0163 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0164 JMP 0228 Возврат в ГПМ
0165 0166 0167 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0168 ANI 088 Выделение из А третьего разряда
0169 0170 CPI 008 Сравниваем А с нулём
0171 0172 JZ 0183 Если ноль, переходим по адресу 0183
0173 0174 0175 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0176 ANI 108 Выделение из А четвёртого разряда
0177 0178 CPI 008 Сравниваем А с нулём
0179 0180 JNZ 0146 Если не ноль, то переход по адресу 0146
0181 0182 0183 MVI А, 028 Заслать содержимое 00000100 в А0184 0185 OUT port A2 Передать содержимое А в порт А(2) интерфейса 2
0186 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0187 0188 0189 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0190 ANI 048 Выделение из А второго разряда
0191 0192 CPI 008 Сравниваем А с нулём
0193 0194 JNZ 0206 Если не ноль, переходим по адресу 0206
0195 0196 0197 MVI A, 4D8 Заслать в А 01001101 (первая цифра = 4 на Табло 1)
0198 0199 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0200 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
0201 0202 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0203 JMP 0228 Возврат в ГПМ
0204 0205 0206 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0207 ANI 088 Выделение из А третьего разряда
0208 0209 CPI 008 Сравниваем А с нулём
0210 0211 JZ 0222 Если ноль, переходим по адресу 0222
0212 0213 0214 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0215 ANI 108 Выделение из А четвёртого разряда
0216 0217 CPI 008 Сравниваем А с нулём
0218 0219 JNZ 0185 Если не ноль, то переход по адресу 0185
0220 0221 0222 MVI А, 028 Заслать содержимое 0001000 в А0223 0224 OUT port A2 Передать содержимое А в порт А(3) интерфейса 2
0225 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0226 0227 0228 RET Возврат в ГПМ
0229 NOP ПМ20230 MVI A, 108 Заслать содержимое 0001000 в А0231 0232 OUT port A2 Передать содержимое А в порт А(4) интерфейса 2
0233 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0234 0235 0236 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0237 ANI 048 Выделение из А второго разряда
0238 0239 CPI 008 Сравниваем А с нулём
0240 0241 JNZ 0253 Если не ноль, переходим по адресу 0253
0242 0243 0244 MVI A, 5A8 Заслать в А 01011010(первая цифра = 5 на Табло 1)
0245 0246 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0247 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
0248 0249 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0250 JMP 0350 Возврат в ГПМ
0251 0252 0253 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0254 ANI 088 Выделение из А третьего разряда
0255 0256 CPI 008 Сравниваем А с нулём
0257 0258 JZ 0269 Если ноль, переходим по адресу 0269
0259 0260 0261 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0262 ANI 108 Выделение из А четвёртого разряда
0263 0264 CPI 008 Сравниваем А с нулём
0265 0266 JNZ 0232 Если не ноль, то переход по адресу 0232
0267 0268 0269 MVI А, 208 Заслать содержимое 00100000 в А0270 0271 OUT port A2 Передать содержимое А в порт А(5) интерфейса 2
0272 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0273 0274 0275 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0276 ANI 048 Выделение из А второго разряда
0277 0278 CPI 008 Сравниваем А с нулём
0279 0280 JNZ 0292 Если не ноль, переходим по адресу 0292
0281 0282 0283 MVI A, 7В8 Заслать в А 01111011 (первая цифра = 6 на Табло 1)
0284 0285 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0286 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
0287 0288 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0289 JMP 0350 Возврат в ГПМ
0290 0291 0292 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0293 ANI 088 Выделение из А третьего разряда
0294 0295 CPI 008 Сравниваем А с нулём
0296 0297 JZ 0308 Если ноль, переходим по адресу 0308
0298 0299 0300 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0301 ANI 108 Выделение из А четвёртого разряда
0302 0303 CPI 008 Сравниваем А с нулём
0304 0305 JNZ 0271 Если не ноль, то переход по адресу 0271
0306 0307 0308 MVI А, 408 Заслать содержимое 01000000 в А0309 0310 OUT port A2 Передать содержимое А в порт А(6) интерфейса 2
0311 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0312 0313 0314 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0315 ANI 048 Выделение из А второго разряда
0316 0317 CPI 008 Сравниваем А с нулём
0318 0319 JNZ 0331 Если не ноль, переходим по адресу 0331
0320 0321 0322 MVI A, Е8 Заслать в А 00001110 (первая цифра = 7 на Табло 1)
0323 0324 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0325 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
0326 0327 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0328 JMP 0350 Возврат в ГПМ
0329 0330 0331 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0332 ANI 088 Выделение из А третьего разряда
0333 0334 CPI 00 Сравниваем А с нулём
0335 0336 JZ 0347 Если ноль, переходим по адресу 0347
0337 0338 0339 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0340 ANI 108 Выделение из А четвёртого разряда
0341 0342 CPI 008 Сравниваем А с нулём
0343 0344 JNZ 0310 Если не ноль, то переход по адресу 0310
0345 0346 0347 MVI А, 028 Заслать содержимое 00001000 в А0348 0349 OUT port В2 Передать содержимое А в порт В(3) интерфейса 2
0350 RET Возврат в ГПМ
0351 NOP 0352 NOP 0353 NOP 0354 NOP 0355 NOP 0356 NOP 0357 NOP 0358 NOP 0359 NOP ПМ3
0360 ПМ3+0 MVI A, 808 Заслать содержимое 10000000 в А0361 1 0362 2 OUT port A2 Передать содержимое А в порт А(7) интерфейса 2
0363 3 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0364 4 0365 5 0366 6 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0367 7 ANI 048 Выделение из А второго разряда
0368 8 0369 9 CPI 008 Сравниваем А с нулём
0370 ПМ3+10 0371 1 JNZ 0383 Если не ноль, переходим по адресу 0383
0372 2 0373 3 0374 4 MVI A, 7F8 Заслать в А 01111111 (первая цифра = 8 на Табло 1)
0375 5 0376 6 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0377 7 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
0378 8 0379 9 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0380 ПМ3+20 JM 0480 Возврат в ГПМ
0381 1 0382 2 0383 3 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0384 4 ANI 088 Выделение из А третьего разряда
0385 5 0386 6 CPI 008 Сравниваем А с нулём
0387 7 0388 8 JZ 0399 Если ноль, переходим по адресу 0399
0389 9 0390 ПМ3+30 0391 1 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0392 2 ANI 108 Выделение из А четвёртого разряда
0393 3 0394 4 CPI 008 Сравниваем А с нулём
0395 5 0396 6 JNZ 0362 Если не ноль, то переход по адресу 0362
0397 7 0398 8 0399 9 MVI А, 018 Заслать содержимое 00000001 в А0400 ПМ3+40 0401 1 OUT port B2 Передать содержимое А в порт B(0) интерфейса 2
0402 2 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0403 3 0404 4 0405 5 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0406 6 ANI 048 Выделение из А второго разряда
0407 7 0408 8 CPI 008 Сравниваем А с нулём
0409 9 0410 ПМ3+50 JNZ 0422 Если не ноль, переходим по адресу 0422
0411 1 0412 2 0413 3 MVI A, 5F8 Заслать в А 01011111 (первая цифра = 9 на Табло 1)
0414 4 0415 5 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0416 6 MVI A, 008 Заслать в А 00000000 (вторая цифра = 0 на Табло 1)
0417 7 0418 8 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0419 9 JMP 0480 Возврат в ГПМ
0420 ПМ3+60 0421 1 0422 2 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0423 3 ANI 08м Выделение из А третьего разряда
0424 4 0425 5 CPI 008 Сравниваем А с нулём
0426 6 0427 7 JZ 0438 Если ноль, переходим по адресу 0438
0428 8 0429 9 0430 ПМ3+70 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0431 1 ANI 108 Выделение из А четвёртого разряда
0432 2 0433 3 CPI 008 Сравниваем А с нулём
0434 4 0435 5 JNZ 0401 Если не ноль, то переход по адресу 0401
0436 6 0437 7 0438 8 MVI А, 408 Заслать содержимое 00000010 в А0439 9 0440 ПМ3+80 OUT port B2 Передать содержимое А в порт B(1) интерфейса 2
0441 1 CALL ПМТ10+0 Обращение к ПМТ10 (задержка на 10 секунд)
0442 2 0443 3 0444 4 IN port C1 Чтение из порта С(2) интерфейса 1 в А
0445 5 ANI 048 Выделение из А второго разряда
0446 6 0447 7 CPI 008 Сравниваем А с нулём
0448 8 0449 9 JNZ 0461 Если не ноль, переходим по адресу 0461
0450 ПМ3+90 0451 1 0452 2 MVI A, 5F8 Заслать в А 01011111 (первая цифра = 9 на Табло 1)
0453 3 0454 4 OUT port A1 Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1)
0455 5 MVI A, 5F8 Заслать в А 01011111(вторая цифра = 9 на Табло 1)
0456 6 0457 7 OUT port В1 Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1)
0458 8 JMP 0480 Возврат в ГПМ
0459 9 0460 ПМ3+100 0461 1 IN port C1 Чтение из порта С(3) интерфейса 1 в А
0462 2 ANI 088 Выделение из А третьего разряда
0463 3 0464 4 CPI 008 Сравниваем А с нулём
0465 5 0466 6 JZ 0477 Если ноль, переходим по адресу 0477
0467 7 0468 8 0469 9 IN port C1 Если не ноль, то чтение из порта С(4) интерфейса 1 в А
0470 ПМ3+110 ANI 108 Выделение из А четвёртого разряда
0471 1 0472 2 CPI 00 Сравниваем А с нулём
0473 3 0474 4 JNZ 0440 Если не ноль, то переход по адресу 0440
0475 5 0476 6 0477 7 MVI А, 028 Заслать содержимое 00001000 в А0478 8 0479 9 OUT port В2 Передать содержимое А в порт В(3) интерфейса 2
0480 ПМ3+120 RET Возврат в ГПМ
0481 NOP NOP 0482 NOP 0483 NOP 0484 NOP 0485 NOP 0486 NOP 0487 NOP 0488 NOP 0489 NOP ПМТ10
0490 LXI HL, 001016 Загружаем в HL адрес ОЗУ+001016
0491 0492 0493 MVI M, 008 Обнуляем счетчик10494 0495 LXI HL, 001116 Загружаем в HL адрес ОЗУ+001116
0496 0497 0498 MVI M, 008 Обнуляем счетчик20499 0500 LXI HL, 001216 Загружаем в HL адрес ОЗУ+001216
0501 0502 0503 MVI M, 008 Обнуляем счетчик3
0504 0505 NOP 0506 NOP 0507 NOP 0508 INR M Инкрементируем счетчик3
0509 MVI A, FF8 Заносим число 25510 в аккумулятор
0510 0511 CMP M Сравниваем счетчик 3 с числом 25510
0512 JNZ 0505 Если счетчик3 ≠ 25510, переход по адресу 0505
0513 0514 0515 LXI HL, 001116 Загружаем в HL адрес ОЗУ+001116
0516 0517 0518 INR M Инкрементируем счетчик20519 MVI A, 408 Заносим число 6410 в аккумулятор
0520 0521 CMP M Сравниваем счетчик2 с числом 6410
0522 JNZ 0500 Если счетчик2 ≠ 6410, переход по адресу 0500
0523 0524 0525 LXI HL, 001016 Загружаем в HL адрес ОЗУ+001016
0526 0527 0528 INR M Инкрементируем счетчик10529 MVI A, 648 Заносим в аккумулятор число 10010
0530 0531 CMP M Сравниваем счетчик1 с числом 10010
0532 JNZ 0495 Если счетчик1 ≠ 1010, переход по адресу 0495
0533 0534 0535 RET Выход из программного модуля ПМТ10
Разработка и описание структурной схемы МПС:
В состав микро ЭВМ в общем случае могут входить:
микропроцессор,
генератор тактовых импульсов (ГТИ),
запоминающее устройство программы (обычно это ПЗУ),
запоминающее устройство данных (ПЗУ или ОЗУ),
интерфейсы ввода/вывода (ИУВВ),
периферийные устройства.
Кроме того может ещё подключаться внешняя память.
В данной микропроцессорной системе (схема представлена на чертеже) используются:
Схема начальной установки.
ГТИ (генератор тактовых импульсов).
Микропроцессор КР580ИК80А.
Шинные формирователи.
МБР - Многорежимный восьмиразрядный буфферный регистр, который имеет следующие входы:
ВМ1 и ВМ2 – входы выбора модуля,
ВР – вход выбора режима (приём данных; выдача данных; работа триггера прерываний, который вырабатывает сигнал прерывания для микропроцессора).
Д (Д0 – Д7) – входная восьмиразрядная шина данных.
Q (Q0-Q7) – выходная восьмиразрядная шина данных.
ПЗУ (постоянное запоминающее устройство).
ОЗУ (оперативное запоминающее устройство).
ИУВВ (интерфейсы ввода/вывода): они реализованы на МБР2 и МБР3.
Два параллельных программируемых интерфейса КР580ВВ55.
Клавиатура.
Табло №1.
Табло №2.
Подробное описание клавиатуры, табло №1 и табло №2 на странице 11
Разработка и описание функциональной схемы микропроцессорной системы.
Схема начальной установки и ГТИ.
Тактовые импульсы от ГТИ начинают поступать на микропроцессор сразу же после включения источника питания, но запуск микропроцессора должен делаться только по сигналу начальной установки, который подаётся на специальный вход микропроцессора.
По этому сигналу в программный счётчик команд записывается определённый адрес (чаще всего нулевой), с которого микропроцессор начинает выборку команд программы. В некоторых микропроцессорах по сигналу начальной установки сбрасываются в «0» некоторые внутренние регистры.
ГТИ стабилизируется кварцем и реализуется обычно в виде самостоятельной компоненты микропроцессорного комплекта или же в кристалле микропроцессора. Простейший способ формирования сигнала начальной установки – использование генератора одиночных импульсов (асинхронный RS триггер).
Микропроцессор. (КР580ИК80А).
Обозначения на схеме:
Д0 – Д7 – двунапрвленная системная шина данных.
А0 – А15 – системная шина адреса.
А – восьмиразрядный аккомулятор.
БР1, БР2, W, Z – восьмиразрядные буферные регистры.
РК – регистр команд.
ДШК – дешифратор команд.
УС – указатель стека (сам стек находится в оперативной памяти).
СК – счётчик команд.
СИА – схема изменения адреса (указатель стека, СК на + 1)
СВР – схема выбора регистра.
РОН: 1) 6 восьмиразрядных регистров общего назначения: B, C, D, E, H, L , которые в зависимости от команды могут использоваться или как самостоятельные регистры, или как регистровые пары: BC, DE, HL. Регистровая пара HL используется для записи адреса ячейки оперативной памяти.
2) Регистры W и Z программно недоступны и используются для приёма двух и трёх байтных команд или для хранения промежуточных результатов.
СДК – обеспечивает работу микропроцессора в десятичной арифметике (в коде 8421). Эта схема по специальной команде может переводить двоичный результат с плавающей запятой в код 8421 (в десятичную систему счисления).
БА – 16 разрядный буфер адреса . Позволяет адресовать к внешней памяти.
БД – восьмиразрядный буфер данных. Служит для обмена микропроцессора с устройствами ввода/вывода через восьмиразрядную системную шину данных.
БА и БД имеют три устойчивых состояния (высокий уровень, низкий уровень и состояние с высоким выходным сопротивлением). Это позволяет отключать микропроцессор от системных шин в режиме прямого доступа к памяти со стороны внешних устройств.
АЛУ – выполняет операции с двоичными операндами и результат поступает или на внутреннюю шину данных или в аккомулятор.
РП – регистр признаков. Результат полученный в АЛУ после выполнения арифметической операции вырабатывает следующие признаки:
S – признак знака (S=1, если старший разряд =1),
Z – признак нуля (Z=1, если результат =0),
С – признак переноса (С=1, если возникает перенос),
Р – признак чётности (Р=1, если результат имеет чётное число единиц),
АС – признак дополнительного переноса (АС=1, если возникает промежуточный перенос.СУМЦ – схема управления машинным циклом. Такая схема реализуется на ПЛМ – программируемых логических матрицах. ПЛМ – матрица вентилей (логических элементов), которые можно аппаратно запрограммировать создав различную их комбинацию, реализующую функции логических «и» и «или». Схемы «и» («и-не») реализуются обычно на диодах. Схема «или» реализуется на транзисторах.
МПК КР580 очень чувствителен к соотношению временных интервалов.
Все команды в зависимости от типа выполняются за 1-5 машинных циклов, а каждый машинный цикл за 3-5 тактов.
ТАКТ1: Содержимое СК поступает на шину адреса и при этом выдаётся сигнал «синхр» и на внутреннюю шину данных выставляется всьмиразрядное управляющее слово, которое начинает машинный цикл. Это слово содержит восемь признаков, которые характеризуют те действия, которые будут выполняться в данном машинном цикле.
ТАКТ2: Анализируются признаки и сигналы на входе и определяется, в каком режиме находится сам микропроцессор.
ТАКТ3: Микропроцессор принимает (выдаёт) с шины данных информацию. Если выдаёт, то информация передаётся в память или на устройиство вывода.
В первом машинном цикле в ТАКТе3 на РК принимается первый байт команды, по которому ДШК, СУМЦ и устройство управления генерируют необходимые управляющие сигналы yi .
ТАКТ4, ТАКТ5: В микропроцессоре делаются внутренние пересылки и преобразования. Эти такты могут и отсутствовать, в зависимости от выполняемой команды.
ТАКТ1-3 – это адресация, ТАКТ4-5 – непосредственно команда.
В конце последнего машинного цикла каждой команды анализируется наличие запроса на прерывание на входе микропроцессора. Если такой запрос есть, и прерывание разрешено, то микропроцессор выполняет специальный машинный цикл, в котором содержимое СК не меняется, а формируется признак обработки прерывания и контроллер прерывания посылает в микропроцессор команду, содержащую адрес прерывающей программы.
Самые простые команды выполняются за 1 машинный цикл (3 такта), а самые длинные за 5 циклов (от 18 до 25 тактов).
Выборка команд в 2 или 3 байта производится за 2 или 3 машинных цикла:1 байт поступает на РК, 2 байт – на регистр W, 3 байт – на регистр Z.
Параллельный программируемый интерфейс КР580ВВ55.
Используется для организации синхронного и асинхроного обмена, а также для обмена в режиме прерывания программы.
Обозначения на схеме:
ШД – восьмиразрядная двунаправленная шина данных (Д0-Д7).
ША – двуразрядная шина адреса (А0,А1).
ШУ – шина управляющих сигналов (ЧТ, ЗП, сброс).
БД – буфер данных служит для связи внутренней ШД с системной микропроцессорной системы. Через БД передаются не только данные, но и управляющие слова.
ДШ – дешифратор, формирует сигнал выборки микросхемы нужного уровня.
ШР – шина порта.
Обмен информацией между микропроцессором и интерфейсом делается по команде ввода (IN) и по команде вывода (OUT). Кроме того микропроцессор выдаёт программным образом в интерфейс управляющее слово, которое содержит информацию:
- о режиме работы портов,
- о направлении обмена,
- некоторую другую.
Возможны 3 режима ввода/вывода:
РЕЖИМ0: это основной режим, в котором работают все три порта. При этом содержимое аккомулятора по команде вывода записывается в БД, оттуда в соответствующий порт, адрес которого указан в команде. По команде ввода: наоборот, из соответствующих портовв БДв аккомулятор. Так происходит синхронный обмен между микропроцессором и устройствами ввода/вывода.
РЕЖИМ1: работают только 2 порта А и В. Порт С в этом режиме используется для приёма и формирования управляющих сигналов. Происходит однонаправленная синхронная передача информации между микропроцессором и устройствами ввода/вывода.
РЕЖИМ2: работает только порт А, который используется как буфер двунаправленной шины (ШРА8). Порт С применяется для формирования сигналов управления этой ШРА8.
7 6 5 4 3 2 1 0
Структура управляющего слова:
Разряд 0: Порт С(0…3): «1» - ввод, «0» - вывод.
Разряд 1: Порт В: «1» - ввод, «0» - вывод.
Разряд 2: выбор режима: «0» - режим0, «1» - режим1,
Разряд 3:Порт С(4…7): «1» - ввод, «0» - вывод.
Разряд 4: Порт А: «1» - ввод, «0» - вывод.
Разряды 5 и 6:Задание режима: «00» - режим0, «01» - режим1, «10» или «11» - режим2.
Разряд 7:Задание режима «1».
Управляющее слово заносится в регистр управления с помощью команды вывода (OUT) перед основной операцией ввода/вывода. Для изменения режима надо в регистр управления занести новое управляющее слово.
Если интерфейс настроен на работу с прерываниями, то в режимах 1,2 процедура ввода/вывода инициируется сигналом запроса на прерывание, который поступает из интерфейса в микропроцессор, после чего микропроцессор вызывает подпрограмму обработки запроса на прерывание. Это подпрограмма начинает ввод или вывод информации через порт А (в режиме2) и через порты А и В (в режиме1).
При организации микро ЭВМ важна разработка системы адресации и внутреннего интерфейса, которые сводятся к выбору способа обращения к устройствам памяти и ввода/вывода.
Возможны два способа обращения:
- с использованием управляющего слова машинного цикла и регистра признаков,
- с разделением адресов между запоминающими устройствами и устройствами ввода вывода.
В данной работе используется первый способ.
В этом способе ячейка памяти и устройства ввода/вывода могут иметь одинаковые адреса, а выбор устройства (памяти или ввода/вывода) делается с помощью признаков: MEMR (memory), INP (input), OUT (output), управляющего слова машинного цикла. Это управляющее слово в начале каждого машинного цикла выбирается с шины данных и записывается в специальный регистр.
Частота ГТИ задаётся кварцевым резонатором (КВ).
Управление обращением к памяти или устройствам ввода/вывода делается с помощью управляющего слова текущего машинного цикла. Это слово принимается с ШД по сигналу ПрУС (приём управляющего сигнала) и запоминается в МБР4.
Обращение к памяти: На ША подаётся некоторый код, который:
- указывает адрес ячейки ПЗУ или ОЗУ,
- разрешает работу ПЗУ или ОЗУ подачей соответствующих потенциалов на входы ВМ модулей ЗУ.
Режим чтения: Выбранное слово поступает в МБР1, который постоянно открыт по входу Д. Оттуда оно поступает на ШД с выхода Q и поступает в микропроцессор. Для этого микропроцессор выдаёт сигнал чтения ЧТ=1 и,если текущий машинный цикл выдаёт признак MEMR=1, то на входы МБР1 поступает ВМ1=0 и ВМ2=1. Этот сигнал ЧТ подаётся также и на МБР3, но так как признак INP=0, то МБР3 оказывается закрытым.
Режим записи в ОЗУ или вывода информации через МБР2: Микропроцессор вырабатывает сигнал ЗП=0, который поступает и на ОЗУ и на МБР2. Выбирается только одно из них, в зависимости от признака OUT. Если OUT=0, то выбирается ОЗУ, если OUT=1, то выбирается МБР2. Так как микро ЭВМ в данной схеме содержит по одному устройству ввода/вывода, то адрес устройства ввода/вывода не подаётся. Если же этих устройств больше чем одно, то надо ещё подавать адрес.
ПЗУ (постоянное запоминающее устройство К573РФ1)

Постоянное запоминающее устройство с электрическим программированием ёмкостью 8192 бит (1024 слова х 8 разрядов) с длительным сроком хранения информации при включенных или отключенных источниках питания и стиранием информации ультрафиолетовым излучением.
Выводы:
4 – вход адресный А5,
5 – вход адресный А4,
8 – вход адресный А1,
9 – вход/выход В1,
17 – вход/выход В8,
18 – вход сигнала записи,
20 – вход сигнала выбора микросхемы,
22 – вход адресный А10.
Стирание информации осуществляется воздействием на входное окно корпуса микросхемы ультрафиолетового потока излучения (длина волны = 253,7 нм), направленного перпендикулярно плоскости входного окна корпуса микросхемы. В процессе стирания выводы должны быть замкнуты между собой.
Время стирания (t стир.) – минимальное время воздействие ультрафиолетового облучения, в течение которого ранее записанная информация полностью стирается.
Количество циклов перепрограммирования измеряют, определяя максимальное количество циклов перепрограммирования, после воздействия которых время записи составляет не более 0,3 с.
Цикл перепрограммирования состоит из считывания информации (код «поле единиц»), записи информации (в каждый адрес – код «поле нулей»), считывания информации (код «поле нулей»), стирания информации.Для данного ПЗУ число циклов перепрограммирования информации =10.
Предельно допустимые электрические режимы эксплуатации:
Напряжение сигнала входной информации: U0c.вх.и.=0…0,6В; U1с.вх.и.=3,6…5,25В.
Напряжение сигнала адреса: U0с.а.=0…0,6В; U1с.а.=3,6…5,25В.
Напряжение сигнала записи: U0с.зп.=0…0,6В; U1с.зп.=26…30В.
Напряжение сигнала выбора микросхемы при записи:U0с.вм.=3,6…5В; U1с.вм.=11,4…12,6В.
Напряжение сигнала выбора микросхемы при считывании: U0с.вм.=0…0,6В; U1с.вм.=3,6…5В.
Ток сигнала выходной информации (не более):0,1мА.
ОЗУ (оперативное запоминающее устройство К185РУ2)

Оперативное запоминающее устройство ёмкостью 64 бит (64 слова х 1 разряд) со схемами управления.
Выводы:
1-5 – адресные входы,
6 – вход выборки,
7 – общий,
8 – выход,
9 – вход записи «1»,
10 – вход записи «0»,
11,12 – свободные,
13 – адресный вход,
14 – плюс питания.
В диапазоне температур -10…+70 при Uип=5В+10% максимальная потребляемая мощность в режиме хранения 1,5 мВт/бит.
Предельно допустимые электрические режимы эксплуатации:
Напряжение источника питания, не более 6В.
Напряжение на входах -1,5…5,5В.
Напряжение на выходе, не более 5,5В.
Ёмкость нагрузки на выходе, не более 120пФ.
Длительность совпадения сигнала на входах адресных, выборки, информационных, не менее 230нс.
Частота обращения, не более 3Мгц.

Временные диаграммы





Заключение.В данной курсовой работе было разработано устройство, позволяющее упростить процесс поиска интересующих картин и художников в музеях. Но, тем не менее, разработанное нами устройство является достаточно узконаправленным, так как содержит лишь ограниченное количество художников и включает не все их картины. Поэтому возможен поиск лишь по известным художникам и известным картинам, в то время как не очень популярные художники не будут отображены в базе данных.
Разработанная микропроцессорная система по своему алгоритму работы удовлетворяет необходимым требованиям, поставленным в задание. Однако её необходимо дорабатывать, так как программное обеспечение не отлаживалось из-за отсутствия транслятора.
В процессе выполнения курсовой работы нами были получены навыки программирования на языке ассемблер, разработки микропроцессорной системы и принципа её работы.
Список литературы.Лекции по курсу «Аппаратные средства вычислительной техники», Жемчужникова Т.Н.
Справочник «Silicon Piezoresistive Pressure Sensor: KPY 51-R … KPY 56-R»1999 г., Infineon Technologies.

Приложенные файлы

  • docx 8828564
    Размер файла: 4 MB Загрузок: 0

Добавить комментарий