Юный техник - для умелых рук 1989-02, страница 12

Юный техник - для умелых рук 1989-02, страница 12

тельно ввести значение секунд, минут и часов. После этого по сигналам точного времени нажать кнопку «УСТ», пустив тем самим часы, разр-ШиЕ ферывания.

Имеется в МОНИТОРЕ и директива индикации времени, для чего достаточно нажать кнопку «В». Прггэтом на индикаторе HL выводятся часы и минуты, а на индикаторе А — секунды. Точность хода часов опг -~пя..тся стабильно-! ью кварцевого генератора. В состав МОНИТОРА входит ряд подпро] рамм ввода-] ывода, которые могут быть использованы при составлении программ. Перечислим эти программы и правила обращения к ним.

1 Подпрограмма записи байта на магнитофон, обращение с помощью команды RST1 (код CF). Код выводимого символа должен храниться в регистре «А»

2 Подпрограмма ввода байта с клавиатуры — обращение с помощью команды RST2 (код D7). После возврата из подпрограммы код клавиатуры находится в регистре «А» микропроцессора.

3 Подпрограмма задержки на секунду — обращение с помощью команды RST3 (код DF).

4. Подпрограмма чтения клавиат>ры (проверка активности клавиатуры) — обращение через RST4 (код Е7).

5 Подпрограмма индикации содержимого регистров HL и А на индикаторах дисплея микроЭВМ — обращение через команду RST5 (код EF).

6. Подпрограмма ввода двух байтов с клавиатуры в регистр DE — обращение через команду RST6 (код F7).

7 Подпрограммы сравнения адресов, хранимых в регистровых парах DE и ВС пусковой адрес 0194Н и в регистровых парах HL и DE, пусковой адрес 0259Н.

8. Подпрограмма чтения байта с магнитофона — пусковой адрес 0128Н. После возврата из подпрограммы код считанного символа находится в регистре «А» микропроцессора.

Эти подпрограммы помогут вам упростить разработку новых программ. Заметим, что для унифики дии обмена программ с «микро-80» подпрограммы обслуживания кассетного магнитофона (записи и чтения байта) идентичны тем, что использованы мониторе «ми:v5 .о».

Рассмотрим теперь пример, поясняющий применение приведенных подпрограмм. Предположим, что необходимо написать программу занесения констант в заданную область памяти. Входнык параметром этой программы являются начальный и конечный адреса области памяти, в которую заносится константа Алгоритм этой программы представлен в виде структурной схемы на рисунке 4.

При написании программы удобно составить бланк (листинг), позволяющий пре ставить программу в трех ракурсах: колонка адресов, кол^нк • объектных кодов, колонка мете с и мнемони ческих (ассемблерных) кодов, однозначно определяющих работу программы на уровне команд, и колонка комментариев По дибная форма записи программ позволяв' не только псчять работу программы (колонк; комментариев), но и разобраться в структуре программы (коло ,;а меток и оперг>мии). Ко.ю к а кодов н переде" енно может быть введена в ОЗУ микроЭВМ Такой бланк изображен ниже:

( Пуск 1

Адреса

Коды

Метки

Мнемоника

Комментарий

СоооН

F7

RST6

ввод начального адреса

в регистр DE

соо1Н

ЕВ

XCHG

пересылка DE в HL

С002Н

F7

RST6

ввод конечного адреса

в регистр DE

соозн

D7

RST2

ввод нонстанты в ре

гистр А

С004Н

47

MOV В,А

пересылка константы

из А в В

С005Н

70

М:

MOV м,в

пересылка константы

из В в ОЗУ

сообн

CD

CALL 0259

обращение

к п/программе

сравнения адресое в HL

и DE МОНИТОРА

С007Н

59

С008Н

02

С009Н

23

INX Н

увеличение адреса

на единицу HL = HL+1

СООАН

С2

JNZM

проверке условия

если условие не

выполняется,

то переход на метку М

СООВН

05

соосн

СО

COODH

С7

RST0

выход в МОНИТОР по

адресу ООООН

Для ввода кодов программы следует воспользоваться директивой «1». Затем прсчеп -ть ввод дирек! -той «2» и наконец осуществить пуск программы директивой «6». После чажати кнопки «6» необходимо ввести начальный и конечный адрес ОЗУ, затем ввести константу. Окончачие работы программы индицируется появлением единичек на правом индикаторе.

ВМ начального адреса 4 8 Вод конечного адрясе В д£

Bind констат А и хранение ее В В

Пвресымй константы

[ Выход в hofiump ]

Рисунок 4.

Проверить результат работы программы можно с помощью директивы «5», посмотрев ту обл; ть памяти, куда была занве-на константа. Затем эту программу можно для дальнейшего ис-г льзования сохранить, записав на ленту.

Контрольная сумма этой программы 0800H.

В качестве с ще одного npi, icpa приведем игровую программу «Лабиринт РаспечаткЩтой программы приведена ниже. Дадим некоторые пояснения. «Лабиринт» — это поле 16x16 клеток, заполненное препятствиями. Координаты препятствии вводятся в виде отдельного набера данных с адреса С200Н. Вариант расположения препятствий приведен в виде распечатки игрового поля.

Смысл игры заключается в следующем. Необходимо, мысленно представив поле размерами 16x16, пройти „ратчаишим путем от нижнего шавого угла (координаты FFH) к верхнему левому углу (ООН). Управление движением осуществляете с помощью четырех кнопок «1» —движение i а одну клетку влево: «2» —движение на одну клетку вправо, «3» —движение на одну клетку вверх, «4» — движение на одну клетку вниз.

Чаждый ход сопровождается коротким звуковым сигналом. Если на пути встречается препятствие, то сигнала не будет, ио шаг засчитывается. Число шагов выводится на индикаторы HL, а координаты движения выво тятся на индикатор А Сигнализация о правильности хода в лабиринте производится с помощью магнитофона, включенного на запись (с остановленной лентой). Пуск программы осуществляется директивой «6» с последующим нажатием на любую клавишу.

сборка и налаживание микроэвм

МикроЭВМ собрана на плате из фольгированного стеклотекстолита. Расположение микросхем показано на рисунке 5. Общий провод и цепь питания -ИВ выполнены печатным способом проводниками максимальной ширины, а остальные монтажные соединения — тонким изолированным проводом. В местах подключения печатных проводников к выводам питания микросхем подклч тотся блокировочные конденсаторы емкостью 0,22—0,68 МкФ. Для уменьшения паразитных связей и наводок монтажные провода надо прокладывать по кратчайшим путям между соседними соединяемыми выводами микросхем и не связывать в жгут. Удооно г"-„ользовать обмоточный провод марки ПЭПЛОТ или ПЭВТЛК Для соединения микроЭВМ с пе-pi Серийными устройствами устг овите на плате разъем типа СНП34 или контактные штыри. Контак-яые штыри, подклк ченные к печатным проводникам платы общего провода, и +5В соединяются с клеммами источника питания проводами большого сечения.

В микроЭВМ можно применить любую клавиатуру, в которой кажд 1 клавиша связана с контактами работающими на замыкание. Можно, например, воспользоваты я клавиатурой от микрокалькулятора. Возможно размещение клавиатуры на плате ми-кроЭВМ. Для уменьшения количества соединительных прово-доь индикаторы дисплея постарайтесь разместить на монтажной плате Возможны и другие варианты конструкции Указанные на принципиальной с.;ек е интегральные микросхемы серии К155 можно заменить их функциональными аналогами се-

12