АрхЭВМ_Лаб.раб2007_Часть2_Раб2_589 (1075204), страница 7
Текст из файла (страница 7)
2-й бант адрес А0 АСO = 0
3-й байт адрес А1 АСO = 1
Команда END является командой конца программы. По этой команде осуществляется переход к программе опроса управляющей клавиатуры, т. е. ОСТАНОВ.
Команда условного перехода JFS реализует условный переход в зависимости от сигнала RDYO, который является ответным сигналом платы звуковой сигнализации. В момент передачи звукового сигнала он имеет значение “0”; в режиме молчания—“1”. Следует различать режим генерации паузы и режим молчания. Режим генерации пауз такой же активный режим, как и режим генерации звукового сигнала. Пауза (код паузы FF) представляет собой сигнал высокой частоты (около 30 кГц), не воспринимаемый органами слуха человека, поэтому он воспринимается как перерыв в звучании.
Структура команды JFS такая же, как и у команд TZRn, SRA. Первым байтом команды служит код команды, вторым — адрес перехода для случая RDYO=1, третьим — адрес перехода для случая RDYO=0:
1-й байт код команды
2-й байт адрес АО молчание RDYO = 1
3-й байт адрес А1 сигнал RDYO = О
Команды работы с памятью. Команда RnRA, ACМ записывает в память содержимое АС по адресу, хранящемуся в регистре Rn.
Команда RnRA, MAC считывает содержимое памяти в АС по адресу, хранящемуся в регистре Rn.
Команда АСМn обеспечивает запись в память содержимого АС по адресу, указанному в следующем байте:
1-й байт код команды
2-й байт адрес n
Команда МnАС считывает содержимое памяти в АС по адресу, указанному в следующем байте:
1-й байт код команды
2-й байт адрес n
Команды управления внешними устройствами. Команда вывода информации OUTn пересылает информацию, из АС в регистр внешнего устройства, которому присвоен адрес n. Команда двухбайтная: первым байтом является код команды, вторым — адрес внешнего устройства:
1-й байт код команды
2-й байт n — адрес внешнего устройства
Адреса устройств ввода-вывода:
00 — счетчик длительности платы звуковой индикации;
01 — первый индикатор дисплея (счет ведется справа налево);
02 — второй индикатор;
03 — третий индикатор;
04 — четвертый индикатор;
05 — буферный регистр платы звуковой индикации;
06 — регистр внешнего признака (кнопка платы световой сигнализации);
07 — регистр переключателей платы световой сигнализации;
08 — регистр точечных светодиодов платы световой сигнализации.
Команда ввода INn пересылает информацию из регистра внешнего устройства с адресом n в АС. Структура команды аналогична команде OUTn.
Команда условного перехода по внешнему признаку JFFn выполняет условный переход по сигналу RDY1. Этот сигнал формируем устройство, адрес которого задан во втором байте. Команда четырехбайтная:
1-й байт код команды
2-й байт адрес устройства
3-й байт адрес перехода, если RDY1 == 1
4-й байт адрес перехода, если RDY1 = О
Команда MSC выдает связный звуковой текст (музыки). Организация команды MSC следующая:
1-й байт код команды
2-й байт код 1-й ноты
3-й байт длительность 1-й ноты
4-й байт код ноты
5-й байт длительность 2-й ноты
(2n)-й байт код m-й ноты
(2n+1)-й байт длительность m-й. ноты
(2n+2)-й байт код конца 00000000
По этой команде коды нот и длительностей будут последовательно выдаваться на плату звуковой индикации, где они будут воспроизводиться в виде звуковых сигналов соответствующего тона и длительности. Конец музыки определяется кодом конца (0 во всех разрядах). По окончании музыки осуществляется безусловный переход к выполнению следующей команды программы.
Команды работы со стеком. Команда CALLn осуществляет переход к программе, начинающейся с адреса п, и предусматривает возвращение к основной программе после выполнения подпрограммы. Команда двухбайтная. Для организации перехода к основной программе содержимое регистра R9(SP) уменьшается на единицу и задает адрес ОЗУ. По указанному адресу записывается номер команды, к которой следует перейти после выполнения подпрограммы. Адрес возврата определяется как m+2 (здесь m— адрес первого байта команды).
Адрес Команда основной программы
m 1 байт Код команды CALLn
m+1 2 байт Адрес программ n CALL n
m+2 Команда основной программы
Переход, вызванный командой CALL n
Переход, вызванный командой RETURN
n I команда подпрограммы
. . . Подпрограммы
k-1 Последняя команда подпрограммы
k Код команды RETURN
Команда PETURN используется для выхода из подпрограмм по содержимому стековой памяти. При выполнении этой команды в программный счетчик PC записывается код адреса, записанного при последнем обращении к стековой памяти в ячейку ОЗУ с адресом, хранящимся в R9(SP). После выполнения команды RETURN содержимое регистра R9 увеличивается на единицу и управление передается команде, адрес которой записан в PC. Команда однобайтная. Количество вложений программ определяется областью ОЗУ, отведённой под стековую память.
9.3 РАБОТА МИКРОЭВМ С ВНЕШНИМИ УСТРОЙСТВАМИ
Обмен информацией между микроЭВМ осуществляется по магистралям А, М и D, при этом в магистрали А формируется адресный код внешнего устройства, а в магистралях М и D —передаваемая информация. Для связи микроЭВМ с внешними устройствами используются команды OUTn и INn. Такая процедура обмена информацией требует включения во внешние устройства схем, дешифрирующих присвоенный им адресный код и обеспечивающих обмен информацией по магистрали.
В качестве внешних устройств в микроЭВМ применяют платы световой индикации, звуковой сигнализации, плату таймера и любые другие внешние устройства, подключаемые к микроЭВМ через специальный разъем и выполненные в соответствии с требованиями по сопряжению магистралей.
П
лата световой индикации. Схема платы световой индикации представлена на рис. 9.15, а. Четыре семисегментных индикатора отражают шестнадцатеричные коды магистралей А и D, а четыре других индикатора отражают информацию, записанную в регистрах RG1 — RG4. Точечные светодиоды D1 отражают двоичный код, записанный в регистре RG5. Светодиоды D2 отражают двоичный код группы переключателей, формирующих входную информацию для регистра RG6, который поступает в магистраль В процессора. При наличии микроинструкции IOR, формируемой в командах IN и OUT, процессор обращается к внешним устройствам. Узел, которому передается информация по магистрали, определяется дешифратором DC2 в соответствии с кодом магистрали А. Адресные коды внешних устройств определены в описании команды OUT в § 9.2. Дешифратор DC2 реализован на микросхемах 155ИДЗ, регистр RG5—на микросхемах К155ИР1, регистр RG6—на микросхеме К589ИР12, входящей в МПК серии 589. Двоичный код на входах регистра RG6 задается переключателями и отображается светодиодами красного цвета D2. Информацию, занесенную в регистр RG5, отображают светодиоды зеленого цвета D1. Регистры RG1 —RG4 реализованы на микросхемах К589ИР12, их состояние отображается на семисегментных индикаторах АЛС325Г. Каждому сегменту индикатора соответствует один разряд регистра, поэтому путем задания определенной кодовой комбинации можно высветить на индикаторе произвольный символ (рис. 9.15, б). На рис. 9.15 цифры обозначают код, который необходимо сформировать в АС для включения сегмента. Код символа из нескольких сегментов равен арифметической сумме кодов отдельных сегментов (например, код символа L=3816). Для шестнадцатеричного отображения информации на магистралях А и D служат семисегментные индикаторы CD1.
Д
ля выполнения условного перехода по внешнему признаку (команда JFF) введена кнопка, при опросе которой (ее код 06) на шину RDY1 выдается сигнал “0”, если кнопка нажата, и “1”, если отпущена.
Плата звуковой сигнализации. Схема платы звуковой сигнализации представлена на рис. 9.16. Счетчик СТ1 вместе с компаратором СА образует делитель частоты с переменным коэффициентом деления. Коэффициент деления определяется кодом, хранимым в регистре RG, при этом коэффициент деления изменяется от 2 до 256. На вход делителя поступают импульсы с генератора ГИ1 с частотой около 30 кГц, таким образом, на входе делителя формируются импульсы с частотой от 100 Гц до 15 кГц. Ниже приведена таблица кодов музыкальных нот:
1. Коды нот
Ноты | Коды октав | |||
первая | вторая | третья | четвертая | |
До С | 0D | 86 | C3 | E1 |
До-диез С# | 1B | 8D | C6 | E2 |
Ре D | 28 | 93 | C9 | E4 |
Ре-диез D# | 34 | 99 | CC | E6 |
Ми E | 3F | 9F | CF | E7 |
Фа F | 4A | A4 | D2 | E8 |
Фа-диез F# | 54 | AA | D4 | EA |
Соль G | 5E | AE | D7 | EB |
Соль-диез G# | 67 | B3 | D9 | EC |
Ля A | 6F | B7 | DB | ED |
Ля-диез B# | 77 | BB | DD | EE |
Си H | 7F | BF | DF | EF |
2. Коды длительностей нот от 0016 до OF16 эквивалентны абсолютной длительности.
3. Код паузы FF, длительность паузы устанавливается так же,
как и длительность ноты.
4 Запись музыкальных текстов будет производиться в символах нот с верхней индексацией октавы и с обозначением аосолют-ной длительности в скобках. (Например, G3 # (4) -соль-диез третьей октавы с длительностью 0415. Пауза обозначается Р).
5. Музыкальные тексты.
К
од ноты загружается в регистр с магистрали D микроЭВМ при наличии соответствующего кода (05) на магистрали А и инструкции SR. Управляет записью дешифратор DC. Длительность звуковой посылки определяет второй делитель частоты с переменным коэффициентом деления на основе счетчика с предварительной установкой СТ2. При наличии кода 00 на магистрали А и инструкции SR в счетчик заносится код длительности, одновременно устанавливается в “1” триггер Т. Единичное состояние триггера разрешает работу счетчика СТ1, т. е. вырабатывает звуковой сигнал. Затем счетчик СТ2 производит досчет занесенного кода до 15 с частотой импульсов, вырабатываемых генератором ГИ2 (около 0,1 Гц). Выработанный счетчиком сигнал переноса сбрасывает триггер Т в “0”, тем самым запрещает выдачу звукового сигнала. Выход триггера Т является также сигналом RDYO для микроЭВМ. Генераторы ГИ1 и ГИ2 реализованы на микросхемах 564ЛН2.