В результате работы программы получен отсортированный массив медианой которого является восьмой элемент.
Адрес Содержание
307 010
3 Реализация программы статической индикации массива из 15 элементов
Цель данной программы: циклический вывод чисел на шестиразрядный дисплей на семисегментных индикаторах (ДСИ).
Обмен информацией между микропроцессором и периферийным устройством осуществляется через специальные схемы сопряжения, или интерфейсные схемы. В данном случае роль интерфейсной схемы выполняет БИС программируемого параллельного интерфейса КР580ВВ55, включающей в себя 3 8-разрядных порта А, В и С для подключения периферийных устройств к системным шинам.
Структурная схема БИС включает в себя двунаправленный буфер ШД, три информационных регистра каналов А, В и С и схему выбора канала и управления, содержащую регистр управляющего слова. Входы А0 и А1 данной схемы задают внутренний регистр (А, В, С или регистр управления).
Режим работы каналов задается с помощью управляющего слова; задать можно один из трех режимов:
режим 0: синхронный обмен по всем трем каналам;
режим 1: асинхронный обмен или обмен по готовности по каналам А и В;
режим 2: стробируемый двунаправленный обмен только через канал А.
Структурная схема
|  | 

|  | 
Программа циклического вывода чисел на индикатор. Необходимо данный массив записать по адресам 200-217
| Адрес | Команда | Мнемоника | Комментарии | 
| 041 | 076 | MVI A,200 | Задается режим работы каналов | 
| 042 | 200 | B2 | для организации режима синхронного вывода | 
| 043 | 323 | OUT 003 | |
| 044 | 003 | B2 | |
| 045 | 323 | OUT 007 | |
| 046 | 007 | B2 | |
| 047 | 046 | MVI H | Длина массива | 
| 050 | 017 | B2 | |
| 051 | 001 | LVI B | Адрес первого элемента массива | 
| 052 | 200 | B2 | |
| 053 | 000 | B3 | |
| 054 | 377 | RST7 | Переход к подпрограмме по адресу 070 | 
| 055 | 003 | INX B | Адрес следующего элемента массива | 
| 056 | 045 | DCR H | Уменьшается количество элементов массива | 
| 057 | 302 | JNZ 054 | Вывод следующих элементов | 
| 060 | 054 | B2 | |
| 061 | 000 | B3 | |
| 062 | 303 | JMP 047 | Программа зациклена и работает непрерывно | 
| 063 | 047 | B2 | |
| 064 | 000 | B3 | |
| 070 | 026 | MVI D | Обнуление регистра | 
| 071 | 000 | B2 | |
| 072 | 056 | MVI L | Загрузка адреса начала таблицы кодировок | 
| 073 | 300 | B2 | |
| 074 | 012 | LDAX B | Загружаем элемент массива в аккумулятор | 
| 075 | 346 | ANI | И выделяем его младшие три разряда | 
| 076 | 007 | B2 | 00.000.111 | 
| 077 | 205 | ADD L | Вычисляем адрес соответствующего кода | 
| 100 | 137 | MOV E,A | |
| 101 | 032 | LDAX D | |
| 102 | 323 | OUT 000 | Выводим в порт код, соответствующий цифре | 
| 103 | 000 | B2 | |
| 104 | 012 | LDAX B | Загружаем элемент массива в аккумулятор | 
| 105 | 346 | ANI | И выделяем его средние три разряда | 
| 106 | 070 | B2 | 00.111.000 | 
| 107 | 017 | RRC | |
| 110 | 017 | RRC | |
| 111 | 017 | RRC | |
| 112 | 205 | ADD L | Вычисляем адрес соответствующего кода | 
| 113 | 137 | MOV E,A | |
| 114 | 032 | LDAX D | |
| 115 | 323 | OUT 001 | Выводим в порт код, соответствующий цифре | 
| 116 | 001 | B2 | |
| 117 | 012 | LDAX B | Загружаем элемент массива в аккумулятор | 
| 120 | 346 | ANI | И выделяем его старшие два разряда | 
| 121 | 300 | B2 | 11.000.000 | 
| 122 | 007 | RLC | |
| 123 | 007 | RLC | |
| 124 | 205 | ADD L | Вычисляем адрес соответствующего кода | 
| 125 | 137 | MOV E,A | |
| 126 | 032 | LDAX D | |
| 127 | 323 | OUT 002 | Выводим в порт код, соответствующий цифре | 
| 130 | 002 | B2 | |
| 131 | 026 | MVI D | На этом участке программы | 
| 132 | 377 | B2 | Формируется задержка вывода | 
| 133 | 036 | MVI E | Элементов массива на индикаторы | 
| 134 | 377 | B2 | |
| 135 | 035 | DCR E | Уменьшение на 1 Е | 
| 136 | 302 | JNZ 135 | Если не 0 то опять уменьшаем Е | 
| 137 | 135 | B2 | |
| 140 | 000 | B3 | |
| 141 | 025 | DCR D | Уменьшение на 1 D | 
| 142 | 302 | JNZ 133 | Если не 0 то опять уменьшаем D | 
| 143 | 133 | B2 | |
| 144 | 000 | B3 | |
| 145 | 311 | RET | |
| 300 | 077 | «0» | Таблица кодировок | 
| 301 | 006 | «1» | |
| 302 | 133 | «2» | |
| 303 | 117 | «3» | |
| 304 | 146 | «4» | |
| 305 | 155 | «5» | |
| 306 | 175 | «6» | |
| 307 | 007 | «7» | 
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.