Юный техник - для умелых рук 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
Для ввода кодов программы следует воспользоваться директивой «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 |