Простой графический дисплей
⇐ ПредыдущаяСтр 19 из 19
Запоминающее устройство на 256 слов по 8 бит позволяет отображать 2048 точек на экране в виде сетки 64x32 элемента. В этом случае знакогенератор не требуется, поскольку каждый бит из памяти прямо отображается без преобразования. Схема такого устройства индикации дана на рис. 10.9. Каждая точка формируется из восьми соседних горизонтальных строчек развертки. Логика работы ТВ-дисплея довольно проста и может быть без труда реализована даже на такой простой вычислительной машине, как ПМ-ЭВМ. Вся сложность в том, что быстродействие ПМ-ЭВМ, да и многих других машин более высокого класса, недостаточно, чтобы уложиться в жесткие рамки телевизионного стандарта. Выход заключается либо в создании специализированного периферийного процессора — контроллера ЭЛТ, каковыми являются рассмотренные выше устройства (промышленностью выпускается специализированная микросхема КР580ВГ75 - программируемый контроллер ЭЛТ), либо в отступлении от стандарта, если требования к информационной емкости дисплея, как в нашем случае, не велики. Покажем, что, не используя практически никакой дополнительной аппаратуры, можно реализовать вывод поля памяти объемом 256 байтов (сетка 64x32 элемента) на экран обычного осциллографа. Подключим к ПМ-ЭВМ схему, показанную на рис. 10.10. Здесь порт 000 служит для параллельной выдачи содержимого ячеек памяти. Сдвиговый регистр преобразует параллельный код в последовательный. Сигнал с выхода сдвигового регистра может быть подан непосредственно на вход Z модуляции яркости осциллографа. Порт 001 служит для вывода синхроимпульса строчной развертки Н, а порт 002 — для вывода синхроимпульса кадровой развертки V. Кадровая и строчная развертки могут быть сформированы с помощью простых пассивных цепей непосредственно из соответствующих синхроимпульсов. Выдаваемые портами 000, 001 и 002 сигналы формируются с помощью следующей программы:
014 000 176 Ml: MOV A, M 7 - количество тактов 014 001 323 OUT,OOOQ10 014 002 000 014 003 167 MOV M, А 7 014 004 000 NOP 4 014 005 054 INR L 5 014 006 035 DCRE 5 014 007 302 JNZ,M1 10 014 010 000 014 011 014 Итого: 48 тактов
Рис. 10.9. Схема приставки для формирования графической информации на экране ТВ
Эта часть программы выводит в порт 000 очередной байт из памяти. Команды MOV M, А и NOP вставлены, чтобы получить выраженную в тактах длительность этого фрагмента программы кратной восьми. В итоге получаем 48 тактов. Это значит, что стоящий на выходе сдвиговый регистр должен выдавать очередной разряд числа через каждые 6 тактов, чтобы завершить выдачу всех восьми разрядов за 48 тактов. После восьми циклов прохождения первого фрагмента программы содержимое регистра Е станет равным нулю и начнет исполняться следующий фрагмент программы, предназначенный для выдачи синхроимпульса строчной развертки, здесь же происходит и загрузка регистра Е: Рис. 10.10. Схема приставки для формирования графической информации на экране осциллографа
014012257 XRAA 4 014013323 OUT.OOOQ 10 014 014 000 014015323 OUT,001Q 10 014016 001 014017036 MVIE, 010Q 7 014 020 010 014 021 000 NOP 4 014 022 000 NOP 4 014 023 000 NOP 4 014 024 000 NOP 4 014 025 000 NOP 4 014 026 000 NOP 4 014 027 000 NOP 4 014 030 000 NOP 4 014031000 NOP 4 014032057 СМА 4 014033323 OUT, 001Q Ю 014 034 001 014035025 DCRD 5 014036302 JNZ,M1 Ю 014037 000 014040014 --------------- Итого: 56.тактов
Этот фрагмент программы имеет продолжительность 96 тактов, т. е. вдвое больше времени выдачи одного байта из памяти. Следовательно, общая продолжительность цикла строчной развертки составляет 48-8 + 96 = 480 тактов (т. е. 480 мкс). Количество строк определяется числом 32 (040Q), загружаемым в регистр D следующим фрагментом программы:
014041257 XRA, А 4 014042323 OUT, 002Q 10
014 043 002 014 044 026 MVI D, 040Q 7 014 045 040 014046041 LXIH, ADM 10 014 047 000 014051315 CALLINP 17 014 052 X 014053 Y 014 054 057 СМА 4 014055323 OUT, 002Q 10 014 056 002 014057303 JMP, Ml 10 014 060 000 014061 014 Итого: 72 + время исполнения ПП ввода IMP (3840 тактов)
В этом фрагменте происходит выдача синхроимпульса кадровой развертки и задается адрес начала массива информации, выводимой на дисплей. Отведя на обратный ход луча время, равное четверти длительности прямого хода луча для вертикальной развертки, получим период кадровой развертки, равный 480-32 + 480-8 = 19 200 мкс. Отсюда получаем частоту кадровой развертки, равную примерно 50 Гц, что нас вполне удовлетворяет. В последнем фрагменте программы, длящемся 3840 мкс, предусмотрен вызов ПП ввода информации в ОЗУ с клавиатуры или внешнего устройства для изменения картинки на экране дисплея. Эта ПП должна иметь строго определенную длительность, необходимую для стабильности параметров развертки. Если в этом промежутке времени исполняются другие программы неизвестной длительности, надо организовать систему с внешними прерываниями.
ЗВУКОВАЯ СИГНАЛИЗАЦИЯ
В рассмотренной в § 9.2 конструкции кодового замка мы уже использовали звуковую сигнализацию для подачи сигнала тревоги. Для этого наушник или репродуктор подключался через резистор 200 Ом к младшему разряду порта 001 между выводом 16 микросхемы D18 и источником +5 В. Определенный звуковой тон получался в результате того, что в порт 001 выводилось содержание регистра, инкрементируемого в постоянном темпе. Частота сигнала, получаемого с младшего разряда порта, равна половине частоты инкрементирования и задается временной задержкой соответствующего программного цикла. В следующем разряде частота вдвое меньше и т. д. Следовательно, подключая репродуктор не к младшему разряду порта, а к старшим, получим тон на соответствующее число октав ниже. Подавая на репродуктор через резисторы сигналы с разных разрядов порта, получим звуки одного тона, но с разным содержанием гармоник. Если же в несколько портов выводить содержимое регистров, к которым с постоянной частотой прибавляются различные числа, то, подключив репродуктор, к выходам портов через резисторы, можно получить различные аккорды.
Таким образом, звуки разных частот можно получать, прибавляя к содержимому регистра разные числа или же меняя частоту суммирования. Подключим репродуктор и введем в ПМ-ЭВМ следующую программу:
014000061 Ml: LXISP,TAB 014001 036 014003301 М2: POP В 014 004 170 MOV A, B 014 005 267 ORA A 014006312 JZ.M1 014 007 000 014011171 МЗ: MOVA.C 014012267 ORA A 014013312 JZ,M4 014014 023 014015 014 014016034 INRE 014017173 MOV A, E 014020323 OUT, 0010 014 021 001 014022171 MOV А, С 014023075 М4: DCRA 014024302 JNZ,M4 014025 023 014 027 005 UCR B 014030302 JNZ,M3 014031 Oil 014032 014 014 033 303 JMP, M2 014 034 003 014035 014 014 036 175 TAB: до 014037 145 014040160 ре 014 042 144 ми 014043 177 014 044 136 фа 014 045 207 014 046 124 соль 014 047 230 014050113 ля 014 050 252 014051102 си 014 052 277 014 053 077 до 014054 313 014 055 000 014 056 000
Нажмем кнопки СБРОС и Ц. Репродуктор начинает наигрывать гамму. Воспроизводимая мелодия запрограммирована таблицей, начинающейся с метки TAB. Таблица содержит пары чисел, последовательно извлекаемые процессором из памяти с помощью команды POP В. Первое число из пары заносится в регистр С и задает высоту тона, второе число заносится в регистр В и задает длительность звучания ноты. Если в регистре В оказывается нуль, программа возвращается к началу таблицы. Если в регистре С оказывается нуль, формируется пауза. Подсчитав длительности программных циклов, нетрудно определить, какие числа в таблице соответствуют различным нотам, и запрограммировать любую мелодию. Надо иметь в виду следующее: для того чтобы различные ноты имели одинаковую длительность звучания, произведение первого числа из пары на второе должно быть постоянным. Читатель может усложнить программу, чтобы получить более интересное звучание. Он может также самостоятельно разработать программу "музыкального ящика", позволяющую самому наигрывать различные мелодии, пользуясь клавиатурой ПМ-ЭВМ. Мир машинной музыки необъятен, и начав с простейших программ, читатель при желании может достичь в этой области новых и оригинальных результатов.
ДРУГИЕ ВОЗМОЖНОСТИ ПМ-ЭВМ
В этой главе мы рассмотрели расширение возможностей ПМ-ЭВМ в части клавиатуры и индикации, памяти, внешнего накопителя и ТВ-дисплея. Обслуживание всех этих устройств осуществлялось программным путем, без значительного усложнения схемы самой ПМ-ЭВМ и ее устройств ввода/вывода. Программное обслуживание внешних устройств со стороны центрального процессора требует больших затрат машинного времени за счет исполнения основной программы и снижает производительность вычислительной системы. Использование прерываний, прямого доступа к памяти (ПДП) и программируемых периферийных микросхем позволяет повысить производительность и гибкость вычислительной системы. Периферийные программируемые микросхемы являются специализированными периферийными процессорами, берущими на себя часть задач центрального процессора. При этом техническая сложность системы зачастую не возрастает или даже уменьшается.
Отечественной промышленностью выпускается широкая номенклатура периферийных программируемых микросхем, со-гласуемых с МП типа КР580ВМ80А. Использование программируемых микросхем в конкретной МП-системе связано: 1) с заданием режимов ее работы в системе, адресацией и определением электрических связей с внутренними шинами МП-системы и периферийными устройствами; 2) с вводом фрагмента программы, задающей режимы работы микросхемы (программа инициализации); 3) с обращением к микросхеме в процессе исполнения рабочей программы. Количественный рост МП-системы ведет и к ее архитектурному усложнению. Возникает необходимость каким-либо образом стандартизовать связи микро-ЭВМ. Известно много стандартов внутрисистемных шин МП-систем. Для МП серии КР580ИК80А наиболее известны шины MULTIBUS и 8=100, позволяющие объединять в систему периферийные, процессорные блоки и блоки памяти различных изготовителей. Большая МП-система требует специального математического обеспечения (МО). Если при написании и отладке программ емкостью до 1 Кбайт можно с успехом обойтись программированием в кодах, то программы большего размера пишутся обычно на языках различных уровней, в том числе и на специализированных языках высокого уровня. Для перевода таких программ на машинный язык необходимы программы-интерпретаторы, а для отладки — программы редактирования и отладки. Чтобы весь комплекс программ мог успешно функционировать, необходимо использовать какую-либо операционную систему (ОС). Все это доводит общую емкость МО до нескольких сотен килобайт и требует для хранения специальных накопителей. Поэтому не имеет смысла, как говорят, "с нуля" проектировать большую МП-систему. Гораздо разумнее использовать уже имеющийся опыт, взяв в качестве образца готовую промышленную систему.
Для любой системы, состоящей из заданного набора элементов, есть предел сложности, определяемый надежностью входящих в нее элементов, надежностью связей между элементами, допусками при проектировании, программным обеспечением, архитектурой системы, внешними условиями и теми функциями, которые система должна выполнять. Не ставьте перед собой сверхзадач и не переусложняйте систему, иначе она будет неработоспособной. Имейте мужество отказаться от дальнейшего наращивания уже имеющейся системы, когда ее надежность падает до неприемлемого уровня, чтобы заново перепроектировать систему на современном идеологическом и техническом уровне. Рассмотрим коротко характеристики некоторых программируемых микросхем, находящих широкое применение в МП-системах. Микросхема программируемого последовательного интерфейса типа КР580ВВ51А является универсальным синхронно-асинхронным приемопередатчиком (УСАПП), предназначенным для осуществления связи в последовательном формате между МП-системой и внешним абонентом. Микросхема используется как периферийное устройство, программируемое центральным процессором МП-системы почти для любого стандартного протокола последовательной передачи данных. Микросхема принимает данные от МП-no шине данных в параллельном формате и преобразует их в непрерывный поток последовательных данных для передачи абоненту. Микросхема может одновременно с этим принимать последовательные данные, преобразовывать их в параллельный формат и передавать микропроцессору. Она сигнализирует микропроцессору о готовности к приему нового слова, предназначенного для передачи абоненту в последовательном формате, а также о готовности передать МП-принятое от абонента слово. МП-может в любой момент времени считать из микросхемы слово состояния, указывающее на возможные ошибки при приеме информации и содержащее признаки наличия управляющих сигналов. Микросхема типа КР580ВИ53 представляет программируемый таймер/счетчик, предназначенный для работы в качестве периферийного устройства МП-системы. Микросхема состоит из трех независимых 16-битовых счетчиков с максимальной частотой счета 2 МГц. Каждый счетчик микросхемы может работать в одном из шести запрограммированных режимов. С помощью микросхемы таймера/счетчика решается одна из наиболее часто встречающихся в МП-системах задач — генерирование точных программно задаваемых временных задержек взамен организации холостых программных циклов. Пользователь подключает соответствующим образом микросхему, загружает один из счетчиков нужным числом, после чего в результате подачи команды счетчик отсчитывает заданную задержку и вырабатывает сигнал прерывания для МП-системы. Микросхема может выполнять функции не только генератора задержки, но и программируемого генератора заданной частоты, счетчика событий, датчика реального времени и др. Микросхема типа КР580ВВ55А представляет собой программируемый периферийный интерфейс, предназначенный для приема в МП-систему и выдачи из нее информации в параллельном коде, функции микросхемы в системе задаются программно, поэтому, как правило, не требуется подключать какие-либо дополнительные логические схемы. Предназначенные для ввода и вывода внешней информации 24 ножки микросхемы могут быть индивидуально запрограммированы группами по 12 и использованы в трех различных режимах работы. В первом из них (Режим 0) в каждой группе из 12 ножек часть может быть запрограммирована на ввод, а часть — на вывод. Во втором режиме (Режим 1) группа программируется так, что 8 ножек служат для ввода или вывода, а 3 ножки из оставшихся 4 предназначены для сигналов квитирования (запрос — подтверждение) и прерывания. В третьем режиме (Режим 2) из 8 ножек организуется 8-разрядная двунаправленная шина, а 5 ножек (с за-емом из другой группы) предназначены для сигналов квитирования и прерывания. Микросхема типа КР580ВТ57 представляет собой четырех-канальный программируемый контроллер прямого доступа к памяти (ПДП), предназначенный для организации высокоскоростного обмена данными между периферийными устройствами и памятью МП-системы, построенной на базе микропроцессора КР580ВМ80А. Функция микросхемы заключена в основном в мы имеют информационную емкость 2К х 8 и программируются побайтно импульсами на ТТЛ-уровне. Микросхема приводится в исходное состояние (когда во всех разрядах стоят единицы) путем облучения ультрафиолетовым источником света, в качестве которого можно использовать с соответствующими предосторожностями обычную бытовую кварцевую лампу, а в качестве программатора — саму ПМ-ЭВМ.
ПРИЛОЖЕНИЯ Система команд микропроцессора КР580ИК80А
ПРИЛОЖЕНИЕ1
Продолжение прилож. 1
Продолжение прилож. 1
Продолжение прилож. 1
Продолжение прилож. 1
Примечания [14]: 1. Флаг устанавливается при наличии заема в старший разряд, в противном случае сбрасывается. 2. Флаг устанавливается при наличии заема из старших четырех разрядов в младшие, в противном случае сбрасывается. 3. Флаг нуля Z устанавливается, если содержимое регистра или байта данных совпадает с содержимым аккумулятора; флаги знака и переноса S и С устанавливаются, если содержимое регистра или байта данных больше содержимого аккумулятора; флаг вспомогательного переноса АС устанавливается, если содержимое младших четырех разрядов регистра или байта данных больше содержимого соответствующих разрядов аккумулятора; флаг четности Р устанавливается, если байт разности между содержимым аккумулятора и содержимым регистра или байта данных содержит четное число единиц. 4. Состояние флага равно значению выдвигаемого из аккумулятора двоичного разряда. 5. Большее значение (за косой чертой) указывает на число тактов при выполнении условий, меньшее — при невыполнении. 6. По команде POP PSW флаги устанавливаются в соответствии со значением разрядов слова, хранящегося в стеке; при выдаче данных из стека в другие регистры флаги не меняются.
Приложение 2. СХЕМА ПМ-ЭВМ
Приложение 3. Таблица элементов, используемых в схеме ПМ-ЭВМ
Примечания: KB - 9 МГц С1 - 0,15 мкФ R1-R6 - 1 кОм R7 — R30 — в зависимости от типа VI — V24 R31-R34- 5,1 кОм V1-V24 - АЛ102А, АЛ102Г, АЛ112А-М
Список РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
1. Нестеров П. В. Микропроцессоры 1. Архитектура и ее оценка. М.: Высшая школа, 1984. 2. Вайда Ф., Чакань А. Микро-ЭВМ: Пер. с венгер./ Под ред. В. В. Ста-шина. М.: Энергая, 1980. 3 Шаньги
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|