/
Текст
DD1 К5ШЛН2
3
PA2o-§-
PA3°-^-
nis ~ П
i
'S
Е=
I
PCS о
IJ
DD2 К561ЛН2
WAIT
PC7 о--------- ОШ,
Таблица X2
; ПОДПРОГРАММА ОБСЛУЖИВАНИЯ МОЗАИЧНОГО
> АЛФАВИТНО-ЦИФРОВОГО ПЕЧАТАЮЩЕГО УСТРОЙСТВА
> ПРОИЗВОДСТВА ГДР 'R0B0TR0N-1156'.
)' ПОДДЕРЖИВАЕТСЯ СТАНДАРТНЫЙ ПРОТОКОЛ
> ОБМЕНА ТИПА 'HAND-SHAKE'.
В НАЧАЛЕ БАЗОВОЙ ПРОГРАММЫ ПОРТ ИНТЕРФЕЙСА ; НАСТРАИВАЕТСЯ НА-РЕЖИМ!
; КАНАЛ А > КАНАЛ В - ВЫВОД - ПРОИЗВОЛЬНО
; МЛ.ПОДКАНАЛ С - вывод
) СТ.ПОДКАНАЛ С - ввод
jsz=sx==s==z=======z=sxsssxzss=ssssssxs=ss===xs=======s=== TTV0! LDA FTTO iВЫВОД НА ЦИФРОПЕЧАТЬ ORA A fРАЗРЕШЕН? JZ CONOUT ;ЕСЛИ НЕТ - ТОЛЬКО НА >ДИСПЛЕЙ PUSH Н ;СОХРАНИТЬ ПАРУ 'HL' LXI H/RUS /АДРЕС РУС - В 'HL' ТТ01! LDA CPRT ;УСТРОЙСТВО ГОТОВО? ANI 0C0H JNZ ТТ01 /ЕСЛИ НЕТ/ ТО ЖДАТЬ MUI М/3 /ИСТОЧНИК ГОТОВ MOU А/С /ПОДГОТОВИТЬ ДАННЫЕ ANI 7FH /'УБРАТЬ' СТАРШ.БИТ STA APRT /ВЫДАТЬ ДАННЫЕ MUI М/0 /ПЕРЕДНИЙ ФРОНТ СТРОБА MUI М/1 /ЗАДНИЙ ФРОНТ СТРОБА TT02S LDA CPRT /ПЕЧАТЬ ИДЕТ? ANI 60Н JZ ТТ02 /ЕСЛИ ДА/ ЖДАТЬ КОНЦА MUI М/2 /ИСТОЧНИК НЕ ГОТОВ POP Н /ВОССТАНОВИТЬ 'HL' JMP CONOUT /ВЫВЕСТИ НА ДИСПЛЕЙ
Г. :zssssss===xsss==sxs=x====s========= Члиянц (UY5XE), В. Голутвин
ЧАСЫ В КОМПЬЮТЕРЕ
Одно из наиболее необходимых для персонального компью-
тера эксплуатационных удобств — наличие встроенных часов, по-
казания которых постоянно или по запросу оператора выво-
дятся на экран дисплея. Программы, выполняемые таким
компьютером, как правило, имеют возможность использовать
эти часы для привязки своей работы к текущему времени. Ти-
пичный пример — выдача команд на включение и выключение
внешних устройств в заданное время.
Часы компьютера могут быть реализованы как программно,
так и аппаратно. Программная реализация, хотя она и кажется
сравнительно простой, на самом деле требует решения многих
проблем, связанных с обеспечением точности хода, возможности
выполнения другой программы параллельно с отсчетом време-
ни и т. п. Программно реализованные часы неизбежно останав-
ливаются при выключении компьютера.
При аппаратной реализации основная задача — передать
показания электронных часов на шину данных компьютера.
Желательно также иметь возможность по командам компью-
тера корректировать показания часов, устанавливать время
срабатывания будильника. К сожалению, большинство БИС,
предназначенных для электронных часов, нельзя непосредствен-
но связать с компьютером. Приходится разрабатывать доволь-
но сложную схему сопряжения, содержащую мультиплексоры,
буферные регистры и т. п. Зачастую эта схема оказывается слож-
нее самих часов.
Положение изменилось с освоением промышленностью мик-
росхемы КР512ВИ1, специально предназначенной для работы
в составе микропроцессорных систем в качестве часов реально-
го времени с будильником, календарем, а также ОЗУ общего
назначения емкостью 50 байт.
Микросхема выполнена по КМОП технологии, питается от
одного источника напряжением от 3 до 8 В. Потребляемая
мощность очень мала, что позволяет питать микросхему от авто-
номного источника (батареи), сохраняя при отключении основ-
ного источника питания микропроцессорной системы правиль-
ный ход часов и информацию, занесенную во внутреннее ОЗУ.
Я7
При напряжении питания 5 В время цикла записи или чтение
информации из микросхемы не менее 1 мкс (сюда входит время
установки адреса и время собственно записи или чтения). Прр
напряжении 3 В это время увеличивается до 5 мкс. Поэтому
режим пониженного напряжения питания рекомендуется приме
нять только для хранения информации при питании от авто
номного источника. Микросхема КР512ВИ1 совместима по ло
гическим уровням с микросхемами ТТЛ. Как и у других КМОП
микросхем, ее входы имеют очень малый ток утечки, не превы-
шающий единиц микроампер. Все выходы допускают нагрузку
током до 10 мА. Микросхема выполнена в 24-выводном пласт-
массовом корпусе, аналогичном корпусам микросхем серий
К155, К561.
Условное обозначение микросхемы КР512ВИ1 и основная
схема ее включения показаны на рис. 1. Номинальные значе
ния элементов схемы кварцевого генератора указаны для резо-
натора РК-72 от электронных часов, имеющего резонансную
частоту 32 768 Гц. Можно использовать и другие резонаторы
на указанную частоту, а также на частоты 4 194 304 или
1048 576 Гц. В последнем случае резистор R3 заменяют пере-
мычкой, а номинальное значение резистора R4 уменьшают до
10 МОм. Если в составе микропроцессорной системы уже име-
ется генератор одной из указанных выше частот, то сигнал от
него можно подать на вход OSC1, оставив контакт OSC2 сво-
бодным. Следует иметь в виду, что ток, потребляемый микро-
схемой от источника питания, зависит от тактовой частоты.
Если при частоте 32 768 Гц он не превышает 50 мкА, то при
более высоких частотах может доходить до 3 мА.
Сигнал тактового генератора микросхемы можно снять с
выхода С ROUT для использования в других устройствах сис-
темы. Он поступает на этот вход непосредственно (CA/?S=1)
или после деления частоты на 4 (CKFS=0). Микросхема име-
ет выход еще одного сигнала (SQIT), получаемого делением
частоты тактового генератора. Коэффициент деления задается
командами, поступающими от процессора. Включается и выклю-
чается этот сигнал также командами процессора.
Для микропроцессорной системы микросхема КР512ВИ1
представляется как 64 восьмиразрядные ячейки памяти, имею-
щие адреса от ООН до 3FH. Распределение памяти показано
в табл. 1. Возможны запись и чтение любой ячейки за следую-
щими исключениями:
по адресам ОСН, 0DH возможно только чтение;
старшие разряды по адресам ООН и ОАН можно только
считывать.
Микропроцессорная система устанавливает начальные зна-
чения времени и даты, записывая их в соответствующие ячейки
микросхемы, и получает информацию о текущем времени, счи-
тывая эти ячейки.
38
Рис. 1- Схема включения МКС
КР512ВИ1
Микросхема связана с
процессором через дву-
направленную мультипле-
ксированную шину адреса
данных (выводы ADO...
AD7). Для управления
записью и считыванием
информации служат вхо-
ды СЕ (выбор микросхе-
мы), AS (строб адреса),
DS (строб данных) и
R/~W (чтение/запись).
Когда на входе СТ
установлен высокий логи-
ческий уровень, шина AD,
входы DS и /?/ТГ отклю-
чены от шин процессора.
Кроме того, в этом режи-
ме снижается мощность,
+53
VD3 ЗД522А
V01
КД522А
01 4100
R2 20K
DD ИР512ВШ
+4..-5 в
(батарея)
02 4100
R микро-
процессорной-
системе
4
“7
Т
IT
И
77
/5
Jj)
AS
03 10
*
0420 T
_||_I
R4 22М
-Swsil
Щ PS
РТС
CKFS
DSC!
ADO
ADI
AD2
ADJ
AD4
AD5
ADD
ADI
\0SC2
SOW
WOUT
потребляемая микросхе-
мой от источника питания. Низкий уровень должен быть уста-
новлен на входе СЕ во время действия импульса AS и сохра-
няться неизменным во время всего цикла записи или чтения.
Допускается постоянное соединение входа СЕ с общим про-
водом.
Таблица 1
Распределение памяти микросхемы КР512ВИ1
Адрес Данные
ООН Секунды
01 н Секунды (будильник)
02Н Минуты
озн Минуты (будильник)
04Н Часы
05Н Часы (будильник)
06Н День недели
07Н День месяца
08Н Месяц
09Н Год
ОАН Регистр А
0BH Регистр В
ОСН Регистр С
0DH Регистр D
с 0EH ОЗУ общего
по 3FH назначения
39
Сигнал AS подается в виде положительного импульса вг
время наличия информации об адресе на шине AD. Адрес за
писывается во внутренний буфер микросхемы по срезу этогг
импульса. В этот же момент анализируется логический уровень
сигнала на входе DS и в зависимости от него устанавливается
дальнейший режим работы входов DS и Если этот уро-
вень был низким, то во время положительного импульса DS
данные будут считаны из микросхемы или записаны в нее. На-
правление передачи определяется логическим уровнем на входе
во время действия импульса DS. Высокий уровень озна-
чает чтение из микросхемы, а низкий — запись в нее.
При высоком уровне на входе DS в момент среза импульса
AS для считывания информации из микросхемы необходимо
подать отрицательный импульс DS (на входе /?/ТГ высокий уро-
вень), а для записи — отрицательный импульс (на входе
DS высокий уровень). Такая сравнительно сложная логика
работы микросхемы позволяет подключать ее к микропроцессо-
рам различных типов, используя минимальное число дополни-
тельных логических элементов.
Выход IRQ (запрос прерывания) предназначен для сигна-
лизации процессору о том, что внутри микросхемы произошло
событие, требующее программной обработки. Таким событием
может быть окончание процесса обновления информации о вре-
мени в соответствующих ячейках микросхемы (оно производит-
ся автоматически каждую секунду) или срабатывание будиль-
ника. Возможна также генерация запросов прерывания с пе-
риодом, равным периоду сигнала на выходе SQW. Выход IRQ
выполнен по схеме с «открытым стоком».
Вход RESET (сброс) предназначен для установки в исход-
ное состояние узлов микросхемы, ответственных за связь с
микропроцессорной системой. При низком уровне на входе
RESET никакое вмешательство в работу микросхемы со сторо-
ны процессора невозможно. На ход часов, календарь и содер-
жимое ячеек ОЗУ этот вход не влияет. Низкий уровень на нем
должен поддерживаться не менее 5 мкс после подачи напря-
жения питания.
Основное назначение входа PS (датчик питания) — конт-
роль непрерывности подачи питающего напряжения. Он под-
ключается таким образом, чтобы напряжение на нем падало
до нуля при любом, даже кратковременном, отключении пита-
ния микросхемы. Низкий логический уровень на этом входе
должен сохраняться не менее 5 мкс после возобновления по-
дачи питания. При этом в старший разряд регистра D автома-
тически записывается ноль. Единицу можно установить только
считыванием этого регистра. Это позволяет процессору опре-
делить, не снималось ли питание с микросхемы и достоверна
ли содержащаяся в ней информация.
Для управления работой микросхемы и анализа ее состоя-
ния предназначены регистры A...D. Формат этих регистров при-
веден в табл. 2, а назначение отдельных разрядов описывается
ниже.
Регистр А:
UIP
DV0...DV2
RS0...RS3
Единица в этом разряде означает, что происхо-
дит или начнется менее чем через 244 мкс обнов-
ление информации о времени. Длительность цик-
ла обновления 1984 мкс при тактовой частоте
32 768 Гц или 248 мкс при других тактовых час-
тотах. UIP можно только считывать, на него не
действует сигнал RESET. Записав единицу в раз-
ряд SET регистра В, можно запретить обновле-
ние- и тем самым сбросить UIP.
Устанавливают режим работы внутреннего дели-
теля частоты в соответствии с используемой
опорной частотой (см. табл. 3).
Устанавливают частоту сигнала на выходе SQW
и период повторения периодических прерываний
(см. табл. 4).
Регистр В:
SET Если в этом разряде записан ноль, то каждую
секунду выполняется цикл обновления информа-
ции о текущем времени и сравнения текущего
времени с заданным временем срабатывания бу-
дильника. Единица в этом разряде запрещает
обновление, давая возможность записать в ре-
гистры времени, календаря и будильника началь-
ные значения.
Таблица 2
Формат управляющих регистров
Адрес D7 £>6 D5 D4 D3 D2 DI DO
ОАН UIP* DV2 DVI DVO RS3 RS2 RSI RSO
ОВН SET PIE AIE UIE SQWE DM 24/12 DSE
ОСН IRQF* PF* AF* UF* 0* 0* . 0* 0*
0DH Приме! считывать инф VRT* а н и е. эрмацию 0* Из pa 0* зрядов, 0* помечен 0* НЫХ *, П 0* роцессо] 0* может 0* только
Таблица 3
Установка опорной частоты
DV2 DVI DV0 Частота, Гц
0 0 0 4 194 304
0 0 1 1 048 576
0 1 0 32 768
1 1 X Сброс делит.
PIE Разрешение прерываний с периодом, задаваемым
разрядами RS0...RS3 регистра А. Может быть
сброшен сигналом RESET;
AIE Разрешение прерываний от будильника. Может
быть сброшен сигналом RESET.
UIE Разрешение прерываний по окончании ццкла
обновления. Может быть сброшен сигналом
RESET.
SQWE Разрешение выдачи сигнала на выход SQ1T. Мо-
жет быть сброшен сигналом RESET.
DM Единица в этом разряде означает, что данные
о времени и дате представлены^ в двоичном виде,
ноль — в двоично-десятичном. Значение этого
разряда нельзя изменять без повторной записи
начальных значений в ячейки времени и кален-
даря.
24/12 Устанавливает 24-часовой (1) или 12-часовой
(0) режим счета времени. В 12-часовом режиме
время после Полудня (РМ) отмечается единицей
в старшем разряде регистра часов (адрес 04Н).
DSE Разрешение автоматического перехода на летнее
время. Когда в этом разряде записана единица,
то в последнее воскресенье апреля после 01 ч
59 мин 59 с автоматически устанавливается
03 ч 00 мин 00 с, а в последнее воскресенье
октября после 01 ч 59 мин 59 с следует 01 ч
00 мин 00 с. К сожалению, моменты перехода
с зимнего на летнее время и обратно не совпа-
дают с принятыми в СССР.
Регистр С:
IRQF Флаг запроса прерываний. Устанавливается
в единицу при выполнении условия:
PFXPIE+AFXAIE + UFXUIE= 1.
Одновременно с установкой IRQF=\ на контак-
те IRQ устанавливается низкий уровень. Флаг
сбрасывается после чтения регистра С или сигна-
лом RESET.
PF Устанавливается в единицу фронтом сигнала на
выходе внутреннего делителя частоты, выбранном
в соответствии с разрядами RS0...RS3 регистра А.
Флаг сбрасывается после чтения регистра С или
сигналом RESET.
AF Устанавливается в единицу при совпадении те-
кущего времени с временем, указанным в реги-
страх будильника. Флаг сбрасывается после чте-
ния регистра С или сигналом RESET.
UF Устанавливается в единицу после окончания
каждого цикла обновления. Флаг сбрасывается
после чтения регистра С или сигналом RESET.
Регистр D:
VRT В этом разряде устанавливается ноль при низком
уровне на входе PS. Единица устанавливается
только считыванием регистра D.
После включения питания микросхемы КР512ВИ1 необхо-
димо записать в регистр А код, соответствующий примененному
кварцевому резонатору и необходимой частоте сигнала на выходе
SQW (или частоте периодических прерываний). Например, для
частоты резонатора 32 768 Гц и частоты SQIF 512 Гц в регистр
А должен быть записан код 00100111 (27Я). Затем в регистр В
заносят код с единицей в старшем разряде, запрещая таким
образом ход часов. Остальные разряды этого кода устанавли-
вают необходимый режим счета времени и генерации запросов
прерывания. Например, код 10000110 устанавливает 24-часовой
счет времени без автоматического перехода с зимнего на летнее
время и обратно при двоичном представлении данных. Выдача
запросов прерывания и сигнала SQIT запрещены. После этого
в ячейки времени, календаря и будильника заносятся значения,
с которых начнется отсчет. Значения должны заноситься в фор-
мате, установленном в соответствующих разрядах регистра В.
Например, десятичному числу 11 соответствует 00001011 (0BH)
в двоичном формате и 00010001 (ПН) в двоично-десятичном
формате. В 12-часовом режиме время после полудня отмеча-
ется единицей в старшем разряде ячейки часов. Например,
00000111 (7Н) соответствует семи часам утра, а 10000111 (87Н) —
семи часам вечера.
Дни недели кодируются следующим образом: 1 — воскре-
сенье, 2 — понедельник и т. д. Если не включен автоматический
переход с зимнего времени на летнее, то можно использовать
и более привычное кодирование, когда 1 соответствует поне-
дельнику, а 7 — воскресенью. Месяцы кодируются обычным
образом: 1 —январь, 2 — февраль и т. д. Год задается двумя
младшими цифрами, например, 1989 год записывается как 89.
После установки начальных значений можно запускать часы.
Для этого код в регистре В достаточно заменить таким же, но
с нулем в старшем разряде. Одновременно можно разрешить
необходимые прерывания и выдачу сигнала на выход SQW.
Каждую секунду микросхема КР512ВИ1 будет обновлять инфор-
мацию о времени (первый раз обновление произойдет спустя
0,5 с после записи нуля в старший разряд регистра В). Цикл
обновления занимает 1948 мкс при тактовой частоте 32 768 Гц
или 248 мкс при других тактовых частотах. Во время этого
цикла запрещен доступ процессора к ячейкам времени, кален-
даря и будильника. Их считывание даст неопределенный резуль-
тат. О том, что идет обновление, можно узнать, проанализиро-
вав старший разряд регистра А. Ноль в этом разряде говорит
о том, что до начала очередного цикла обновления осталось
не менее 244 мкс.
В процессе обновления к содержимому ячейки секунд при-
бавляется единица, а если число секунд превысило 59, то в этой
ячейке записывается ноль и единица прибавляется к содержи-
мому ячейки минут и так далее вплоть до ячейки лет. Внутрен-
няя логика микросхемы автоматически учитывает количество
дней в месяце, различая високосные и невисокосные годы. Однако
программист обязан правильно задать начальные значения. Это
относится не только к дате, но и к другим величинам. Нельзя,
например, в ячейку минут записывать число, большее 59.
Одновременно с обновлением информации о времени задан-
ное время срабатывания будильника сравнивается с текущим.
Следует иметь в виду, что если в любую из ячеек будильника
записан код, содержащий единицы в двух старших разрядах
(0C0H...0FFH), она переходит в безразличное состояние и не
учитывается при сравнении с текущим временем. Например, если
записать код безразличного состояния по адресу 05Н, то будиль-
ник будет срабатывать в заданную минуту и секунду каждого
часа.
После считывания регистра С все его разряды автомати-
чески сбрасываются в ноль. Единицы в этих разрядах появятся
вновь после очередного наступления соответствующих событий
и будут сохраняться только до следующего считывания. Так
что если необходимо неоднократно анализировать состояние
различных разрядов этого регистра, то после считывания нужно
сохранить в памяти его копию, а затем проверять отдельные
Разряды копии.
Подключение микросхемы КР512ВИ1 к микропроцессорам
серий К1801, К1810, К1821 и другим, имеющим мультиплекси-
рованную шину адреса / данные, не вызывает затруднений. Мик-
росхема КР512ВИ1 займет в адресном пространстве компью-
тера 64 яйейки. К ней можно обращаться обычными командами
чтения и записи в ячейки памяти или ввода / вывода в порт.
Микропроцессор КР580ВМ80А имеет раздельные шины адре-
са и данных, так что для подключения к ним КР512ВИ1 тре-
буется специальная схема согласования. Можно объединить шины
при помощи мультиплексоров, но схема управления ими полу-
чается достаточно сложной. Кроме того, при высокой тактовой
частоте процессора и пониженном напряжении питания микро-
схемы КР512ВИ1 длительность импульсов, генерируемых процес-
сором, может оказаться недостаточной.
Другой способ подключения этой микросхемы к микропро-
цессору КР580ВМ80А требует выделения для нее всего двух
адресов памяти или портов ввода / вывода. По одному из них
записывается адрес внутренней ячейки микросхемы, а по другому
записываются или считываются данные. Процедура чтения / за-
писи в этом случае занимает несколько больше времени, так
как требует выполнения двух команд вместо одной, но это оку-
пается упрощением схемы.
Схема подключения микросхемы КР512ВИ1 к радиолюби-
тельскому компьютеру «Радио-86РК» по второму способу пока-
зана на рис. 2. Точки подключения к компьютеру указаны в со-
ответствии с его схемой. Дополнительный дешифратор (D1)
делит на восемь частей область адресов ОАОООН... OBFFFH,
в исходном варианте выделенную микросхеме КР580ВВ55 (D14
по схеме компьютера). Вход CS микросхемы КР580ВВ55 под-
ключается к выходу дополнительного дешифратора, на котором
устанавливается низкий уровень при обращении процессора
к адресам ОАОООН.. .0A3FFH. Таким образом сохраняется
возможность выполнения программ, разработанных для исход-
ного варианта компьютера, в которых к этой микросхеме обра-
щаются по адресам ОАОООН... 0А003Н.
Области адресов 0A400H...0A7FFH и 0А800Н...OABFFH
используются соответственно для программируемого интерваль-
ного таймера КР580ВИ53 и универсального адаптера последо-
вательного интерфейса КР580ВВ51, которые на схеме (см.
рис. 2) не показаны. Микросхема КР512ВИ1 занимает область
адресов OACOOH ...OAFFFH. Остальные четыре области по
одному килобайту зарезервированы для возможного подключе-
ния других внешних устройств.
Для других компьютеров схема дешифратора будет иной,
но в любом случае он должен выделять для микросхемы КР512ВИ1
не менее двух адресов, различающихся единицей младшего раз-
ряда.
Шина адреса / данные микросхемы КР512ВИ1 подключается
к шине данных микропроцессора КР580ВМ80А. Элементы микро-
схем D2.3, D2.5, D2.6, D3.3, D3.4 делят область адресов
01 К555ИД1
ОАОООН...OABFFH (014 выв.6)
0A400H... 0A7FFH(HP58DBH53 8ы8.2!)
0A800H... 0ABFFH(KP580BB51 выв-И)
OACOOH... OAFFFH
mWi ’ ’ № ‘ РсзеоВ Оля подключения
0В800Н".1ЯВРРН Ооуги* ^йств
ОВС ООН... OBFFFH.
033 031
пд выв I (АЮ)
дд дыб.40 (АН)
gg вывЗ! (а!2)
„Г
Pff выв. to
023^—^025
ДТК
I
I
выв.25(А0)
ч
05 6ыв.11(№)
------~ AS
054 (KP51ZBH1 6bl6.Fi)
В
052 _
СЕ
(К0512ВН1 6Ыв.!3)
021 |
ДТЦ
и.
02.2
лтн
Л2К555ЛН1
OS 155ЛИ1
04155ЛА5
05 155ЛЕ1
04.1 04.4
034 UT&
*
05 вЫв.З(В0)
— R/W
(КР512В7Н$вЫб.15)
(КР512ВИ1 выб.17)
Рис. 2. Схема подключения МКС КР512ВИ1 к «Радио-86РК» (на плате компьютера
разорвать проводник, соединяющий выв. 10 D11 с выв. 6 D14).
две подобласти, соответствующие
OACOOH...OAFFFH на ..
четным и нечетным адресам. При выполнении цикла записи
по адресу 0АС01Н (а также ОАСОЗН, 0АС05Н и т. д.) на
выводе 3 элемента D3.1 формируется импульс Л5. Одновременно
триггер, состоящий из элементов D5.3 и D5.4, устанавливается
в состояние высокого уровня, на выходе D5.3 и на выводе 4
элемента D5.4 формируется импульс СЕ. Низкий уровень на
этом выврде будет сохраняться в течение всего цикла обращения
к микросхеме КР512ВИ1. В цикле записи или чтения по адресу
OACOOH (а также 0АС02Н, 0АС04Н и т. д.) будет сформи-
рован импульс низкого уровня на выходе 3 элемента D4.1 (за-
пись) или выходе 6 элемента D4.2 (чтение). Любой из этих
импульсов сбросит триггер и после его окончания на выходе 4
элемента D5.2 вновь установится высокий уровнь.
Для записи в любую ячейку микросхемы КР512ВИ1, под-
ключенной по такой схеме, необходимо выполнить две операции.
Прежде всего по адресу 0АС01Н записывают адрес ячейки
микросхемы, в которую необходимо занести данные, а затем
по адресу 0AQ0OH записывают байт данных. Считываются
Данные также в два приема. По адресу 0АС01Н записывают
адрес ячейки, затем по адресу OACOOH читают содержащуюся
в ней информацию.
Все приведенные ниже подпрограммы разрабатывались
и проверялись на радиолюбительском компьютере, аналогичном
«Радио-86РК». Он отличается только наличием контроллера пре-
рываний и дополнительной микросхемы ПЗУ, в которой и раз-
мещены подпрограммы. Микросхема КР512ВИ1 подключена
к компьютеру по описанной выше схеме.
Подпрограммы пригодны для любого компьютера, в котором
применен микропроцессор КР580ВМ80А. Необходимо только
заменить обращения к стандартным подпрограммам МОНИТОРА
«Радио-86РК» обращениями к аналогичным подпрограммам,
имеющимся, как правило, в программном обеспечении любого
компьютера. Использованы следующие стандартные подпрог-
раммы:
CONIN — ввод символа с клавиатуры в аккумулятор;
CON OUT — вывод символа из регистра С на экран дисплея;
PRINTA — вывод на экран дисплея кода, находящегося
в аккумуляторе, в виде двузначного шестнадцатиричного числа;
MSG — вывод на экран дисплея строки символов, находя-
щейся в памяти и оканчивающейся кодом ООН. Начальный
адрес строки задается в регистровой паре HL',
SCRBYT— считывание кода из буфера экрана. В аккуму-
ляторе возвращается код символа, находящегося на месте, обо-
значенном курсором;
CURSOR — запрос положения курсора на экране дисплея. .
В регистре Н возвращается значение (номер строки +3), а в
регистре L (номер колонки +8). Отсчет ведется от левого
верхнего угла экрана.
Курсор устанавливается в заданную позицию экрана при
последовательном выводе на дисплей кодов 1ВН, 59Н (номер
строки +20Я), (номер колонки +20/7). Для этого могут ис-
пользоваться подпрограммы CONOUT и MSG.
Тексты подпрограмм обслуживания микросхемы КР512ВИ1
на языке ассемблера приведены в табл. 5.
Подпрограмма SETTIM предназначена для настройки микро-
схемы КР512ВИ1, установки начальных значений времени и даты
и запуска часов. Она получает исходные данные в регистрах
B...L микропроцессора. Все значения должны задаваться в дво-
ично-десятичном формате. Данные распределены по регистрам
так, что при оформлении этой подпрограммы как новой дирек-
тивы МОНИТОРА «Радио-86РК» первый параметр директивы
будет задавать время в часах и минутах, второй параметр —
число и месяц, а третий параметр — день недели и год.
Подпрограмма SETALR управляет будильником. Время сра-
батывания задается в регистрах Н (часы), L (минуты), D (се-
кунды). В регистровой паре ВС задается начальный адрес буфера
длиной 50 байт, информация из которого может быть перепи-
сана во внутреннее ОЗУ микросхемы. Если микросхема КР512ВИ1
имеет автономное питание, то эта информация будет сохранена
и после выключения основного источника питания компьютера.
Таблица 5.
••• ПОДПРОГРАММЫ ОБСЛУЖИВАНИЯ •»»
КР512ВИ1 «а*
•ABD« 1987/88
СТАНДАРТНЫЕ ПОДПРОГРАММЫ МОНИТОРА
CONINl EQU 0F803H
CONOUTI EQU 0F809H
PRINTA) EQU 0F815H
MBS) EQU 0FB18H
SCRBYTi EQU 0F821H
(
|АДРЕСА, ВЫДЕЛЕННЫЕ ДЛЯ
1
RTCADRl EQU 0AC01H
RTCDATs EQU 0AC00H
I
lРАЗРЯДЫ РЕГИСТРА Ai
!
DVi EOU 20H
RSt EQU 6
I
|РАЗРЯДЫ РЕГИСТРА Bi
КР512ВИ1:
(КВАРЦ 32768 ГЦ
(ЧАСТОТА SOW 1024 ГЦ
СВЕТ l EQU B0H
PIE1 EQU 40H
AIE1 EQU 20H
UIEl EQU 10H
SQWEi EQU 8
DM1 EQU 4
H24l EQU 2
(
(+++ установка начального времени, ♦++
|++++♦♦++ ДАТЫ И ЗАПУСК ЧАСОВ ++*♦♦*+*
(ИСХОДНЫЕ ДАННЫЕ НАХОДЯТСЯ В РЕГИСТРАХ!
<Н> - ЧАСЫ
<L> - МИНУТЫ
<о> - число
<Е> - МЕСЯЦ
<В> - ДЕНЬ НЕДЕЛИ
<С> - ГОД (ДВЕ ПОСЛЕДНИХ ЦИФРЫ)
ДАННЫЕ В ДВОИЧНО-ДЕСЯТИЧНОМ ФОРМАТЕ.
(ЕСЛИ В РЕГИСТРАХ НУЛИ, СООТВЕТСТВУЮЩИЕ
(ДАННЫЕВ ЯЧЕЙКАХ МИКРОСХЕМЫ (КРОМЕ ЧАСОВ
(И МИНУТ) НЕ ИЗМЕНЯЮТСЯ. В ЯЧЕЙКЕ СЕКУНД
(ВСЕ
(ВСЕГДА УСТАНАВЛИВАЕТСЯ
0.
I
BETTIMl
(ЗАПОМИНАЕМ ДЕНЬ НЕДЕЛИ И ГОД
PUSH В
(НАСТРАИВАЕМ МИКРОСХЕМУ КР512ВИ1
LXI B.0A00H+DV+RS
CALL WRRTC
LXI В,0B00H+CSET+H24
CALL WRRTC
(ЗАПИСЫВАЕМ ДАННЫЕ В ЯЧЕЙКИ МИКРОСХЕМЫ
MVI В,4
MOV С,Н
CALL WRRTC (ЧАСЫ
MVI В,2
MOV C,L
CALL WRRTC (МИНУТЫ
LXI B,0
CALL WRRTC (СЕКУНДЫ
(ВОССТАНАВЛИВАЕМ ДЕНЬ НЕДЕЛИ И ГОД
POP Н
«ПРОДОЛЖАЕМ ЗАПИСЬ
MOV A,D ORA А JZ STI MMI В,7 MOM C,D CALL WRRTC !ЧИСЛО
ST1: MOM A,E ORA A JZ ST2 MMI B,8 MOV C,E CALL WRRTC ;МЕСЯЦ
ST2: MOV A,H ORA A JZ ST3 MVI B,6 MOV C,H CALL WRRTC «ДЕНЬ НЕДЕЛИ
ST3: MOV A,L ORA A JZ ST4 MVI B,9 MOV C,L CALL WRRTC «ГОД
«ЗАПУСКАЕМ ЧАСЫ
ST4: MVI B,0BH CALL RDRTC ANI 0FFH-CSET «РАЗРЕШИТЬ ХОД
ORI UIE «И ПРЕРЫВАНИЯ
MOM C,A JMP WRRTC «ПО ОБНОВЛЕНИЮ
5
«♦♦♦ УСТАНОВКА БУДИЛЬНИКА ♦♦+
«ИСХОДНЫЕ ДАННЫЕ НАХОДЯТСЯ В РЕГИСТРАХ:
5 <Н> - ЧАСЫ
; <L> - МИНУТЫ
, <D> - СЕКУНДЫ
, <Е> - КОД РЕЖИМА БУДИЛЬНИКА
у <ВС> - АДРЕС НАЧАЛА СООБЩЕНИЯ
SETALR:
}ЗАПОМИНАЕМ АДРЕС СООБЩЕНИЯ
PUSH В
«ЕСЛИ ЕС11=0, ТО ОБХОДИМ УСТАНОВКУ
«ВРЕМЕНИ СРАБАТЫВАНИЯ БУДИЛЬНИКА
МОМ А,Е
ANI 2
JZ SA2
«ЖДЕМ КОНЦА ОБНОВЛЕНИЯ
MVI В,0АН
SAI: CALL RDRTC
RAL
JC SA1
«ЗАПИСЫВАЕМ ВРЕМЯ СРАБАТЫВАНИЯ
MVI В,5
МОМ С,Н
CALL WRRTC
MVI В,3
MOM C,L
CALL WRRTC
MMI В,1
MOM C,D
CALL WRRTC
«ЕСЛИ ЕГ2Э»0, TO ОБХОДИМ ОЧИСТКУ ОЗУ
SA2i MOM A,E
ANI 4
JZ SA4
SA7:
SAB:
I
Продолжение таблицы S.
«ЕС03-1, ВКЛЮЧАЕМ БУДИЛЬНИК
ORA С
JMP SAS
«ЕС03Ж0, ВЫКЛЮЧАЕМ БУДИЛЬНИК
СМА
ANA С
MOM С,A
JMP WRRTC
СЧИТЫВАНИЕ ИНФОРМАЦИИ ИЗ ЯЧЕЕК **+
-*• МИКРОСХЕМЫ И ЗАПИСЬ В БУФЕР
I
UPDATES LXI H,BUF
MMI B,0AH
«ЕСЛИ ИДЕТ ОБНОВЛЕНИЕ, ТО ЖДЕМ ЕГО КОНЦА
UIi CALL RDRTC
RAL
JC UI
DCR В
«ПЕРЕПИСЫВАЕМ ДАННЫЕ
U2s CALL RDRTC
MOM M,A
INX H
DCR В
JP U2
RET
I
ВЫВОД ВРЕМЕНИ НА ЭКРАН ДИСПЛЕЯ +++
5 4..М.++4. с ТЕКУЩЕЙ ПОЗИЦИИ КУРСОРА
I
TIME: MMI С,’ *
CALL CONOUT
LDA HR
CALL PRINTA «ЧАСЫ
MMI C,':'
CALL CONOUT
LDA MIN
«ЗАПОЛНЯЕМ ОЗУ ПРОБЕЛАМИ
LXI B,0E20H
SA3: CALL WRRTC
INR В
MMI A,64
CMP В
JNZ SA3
«ВОССТАНАВЛИВАЕМ АДРЕС СООБЩЕНИЯ
SA4: POP H
«ЕСЛИ Е£33*0, ТО ОБХОДИМ ЗАПИСЬ
«СООБЩЕНИЯ В ОЗУ
МОМ А,Е
ANI 8
JZ SA6
5ЗАПИСЫВАЕМ СООБЩЕНИЕ
MVI В,0ЕН
SA5: MOV С,М
CALL WRRTC
INX Н
INR В
MMI А,64
CMP В
JNZ SA5
SЧИТАЕМ КОД В РЕГ.В МИКРОСХЕМЫ
SA6: MMI В,0ВН
CALL RDRTC
MOV С,А
«ПРОВЕРЯЕМ КОД В ЕЕ03
MOV А,Е
ANI 1
MVI А,А1Е
JZ SA7
CALL PRINTА (МИНУТЫ
MVI С,'
CALL CONOUT
LDA SEC
□ MP PRINTA (СЕКУНДЫ
I
(*♦♦ ВЫВОД ДАТЫ НА ЭКРАН ДИСПЛЕЯ ♦♦♦
(♦♦♦♦♦ С ТЕКУЩЕЙ ПОЗИЦИИ КУРСОРА
I
DATE8 LDA DOW
MOV С,A
(ИЩЕМ В ТАБЛИЦЕ И ВЫВОДИМ ДЕНЬ НЕДЕЛИ
LXI H,TWD
CALL PRNTAB
(ВЫВОДИМ ДАТУ
LDA DAY
CALL PRINTA
LDA MON
(ПЕРЕВОДИМ НОМЕР МЕСЯЦА ИЗ ДВОИЧНО-
|ДЕСЯТИЧНОГО КОДА В ДВОИЧНЫЙ
CPI 0AH
□ М D1
BUI 6
Die MOV С,А
(ИЩЕМ В ТАБЛИЦЕ И ВЫВОДИМ НАЗВАНИЕ
(МЕСЯЦА
LXI H,TMN-1
CALL PRNTAB
(ВЫВОДИМ ГОД
LDA YR
(ЕСЛИ ГОД МЕНЬШЕ ВВ, ТО ЭТО УЖЕ XXI ВЕК
CPI ВВН
MVI А,19Н
□Р D2
MVI А,20Н
D2l CALL PRINTA
LDA YR
CALL PRINTA
LXI H,DTXT
□MP MBS
DTXTt DB ГОДА. ,0
I
(♦♦♦ ВЫВОД ВРЕМЕНИ СРАБАТЫВАНИЯ
(♦♦♦♦♦ И СООБЩЕНИЯ БУДИЛЬНИКА +++++
I
ALARMS
(ВКЛЮЧАЕМ ЗВУКОВОЙ СИГНАЛ
MVI В,0ВН
CALL RDRTC
ORI SQWE
MOV С,A
CALL WRRTC
(ЗАПОМИНАЕМ СТРОКУ ЭКРАНА
NVI C,0DH
CALL CONOUT
LXI D,LNBUF
MVI A,0DH
BTAX D
INX D
MVI B,60
ALll CALL BCRBYT
STAX D
INX D
MVI C,1BH
CALL CONOUT
DCR.B
□NZ AL1
ПРОДОЛЖЕНИЕ ТАБЛИЦЫ 5
(ВЫВОДИМ ВРЕМЯ СРАБАТЫВАНИЯ
MVI C,0DH
CALL CONOUT
LDA HRA
MVI C,'i'
CALL PRALR
LDA MINA
MVI C,'.'
CALL PRALR
LDA SECA
MVI C,'
CALL PRALR
(ВЫВОДИМ СООБЩЕНИЕ
MVI B,0EH
AL2s CALL RDRTC
CPI 0DH
JZ AL 4
ANI 7FH
CPI ’ ’
JNC AL3
MVI A,'
AL3s MOV C,A
CALL CONOUT
INR В
MVI A,64
CMP- В
□NZ AL2
(ЖДЕМ НАЖАТИЯ КЛАВИШИ
AL4s CALL CONIN
(ВЫКЛЮЧАЕМ ЗВУКОВОЙ СИГНАЛ
MVI B,0BH
CALL RDRTC
ANI 0FFH-SQWE
MOV C,A
CALL WRRTC
(ВОССТАНАВЛИВАЕМ СТРОКУ НА ЭКРАНЕ
LXI Н, LNBUF
MVI В,61
AL5s MOV C,M
CALL CONOUT
INX H
DCR В
□NZ AL5
RET
PRALRs PUSH В
MOV B,A
ANI 0C0H
CPI 0C0H
□ Z AL6
MOV A,В
CALL PRINTA
□MP AL7
AL6s MVI C,' ‘
CALL CONOUT
CALL CONOUT
AL7s POP В
□MP CONOUT
I
I+++ ЗАПИСЬ БАЙТА В ЯЧЕЙКУ МИКРОСХЕМЫ ♦♦♦
(ИСХОДНЫЕ ДАННЫЕI
| <В> - АДРЕС ЯЧЕЙКИ
( <С> - ЗАПИСЫВАЕМЫЙ БАЙТ
(
WRRTC8 MOV А,В
ВТА RTCADR
MOV А,С
STA RTCDAT
RET
?*** ЧТЕНИЕ БАЙТА ИЗ ЯЧЕЙКИ МИКРОСХЕМЫ ***
9ИСХОДНЫЕ ДАННЫЕ:
9 <В> - АДРЕС ЯЧЕЙКИ
«РЕЗУЛЬТАТ:
9 <А> - ПРОЧИТАННЫЙ БАЙТ :
I
RDRTC: MOV А, В
STA RTCADR
LDA RTCDAT ;
RET
«*** ВЫВОД СТРОКИ ТАБЛИЦЫ ИА *++
9******** ЭКРАН ДИСПЛЕЯ +++*****
9ИСХОДНЫЕ ДАННЫЕ:
9 <HL> - НАЧАЛО ТАБЛИЦЫ
9 <С> - НОМЕР СТРОКИ
PRNTAB: MOV А,М
INX Н
ORA А
JNZ PRNTAB
DCR С
JNZ PRNTAB
JMP MSB
I
9**4- ТАБЛИЦА ДНЕЙ НЕДЕЛИ *+*
I
TWD: DB 0.' ПОНЕДЕЛЬНИК ,0
DB ' ВТОРНИК ',0
DB ' СРЕДА ',0
DB ' ЧЕТВЕРГ ',0
DB ' ПЯТНИЦА ',0
DB ‘ СУББОТА ’,0
. DB ' ВОСКРЕСЕНЬЕ ‘,0
;*+* ТАБЛИЦА МЕСЯЦЕВ <-*<-
9
TMN: DB ' ЯНВАРЯ ',0
DB ' ФЕВРАЛЯ ',0
DB ' МАРТА ',0
DB ' АПРЕЛЯ ',0
DB ' МАЯ ’,0
DB ' ИЮНЯ ' , 0
DB ’ ИЮЛЯ ',0
DB ‘ АВГУСТА ',0
DB ' СЕНТЯБРЯ ',0
DB ' ОКТЯБРЯ '<0
DB ' НОЯБРЯ ',0
DB ' ДЕКАБРЯ ',0
СЛЕДУЮЩИЕ ЯЧЕЙКИ ДОЛЖНЫ РАЗМЕЩАТЬСЯ В ОЗУ;
BUF: SБУФЕР ДЛЯ ХРАНЕНИЯ ВРЕМЕНИ И ДАТЫ
YR: DS 1 «ГОД
MON: DS 1 9 МЕСЯЦ
DAY: DS 1 «ДЕНЬ
DOW: DS 1 «ДЕНЬ НЕДЕЛИ
HR А: DB 1 9 ЧАС (БУД.)
HR: DS 1 «ЧАС
MINA: DS 1 «МИН.(БУД.)
MIN: DS 1 «МИН.
ВЕСА: DS 1 «СЕК.(БУД,)
SEC: DS 1 «СЕК.
9 LNBUF: DS 61 END «БУФЕР СТРОКИ ЭКРАНА
Действия, выполняемые подпрограммой SETALR, задаются
ппом в регистре Е микропроцессора:
к £[01 Единица в этом разряде включает будильник, ноль
выключает его.
г [11 Единица в этом разряде разрешает запись в ячейки
микросхемы времени срабатывания будильника, задан-
ного в регистрах Н, L, D. В противном случае данные
в этих ячейках не изменяются.
£[2]
Е[3]
Единица в этом разряде задает очистку внутреннего
ОЗУ микросхемы. Ячейки с адресами от ОЕН до 3FH
заполняются кодом пробела (20//).
Единица в этом разряде разрешает запись во внут-
реннее ОЗУ микросхемы содержимого 50 ячеек ОЗУ
компьютера, начиная с адреса, заданного в регистро-
вой паре ВС. В противном случае содержимое внут-
реннего ОЗУ не изменяется, если в Е[2] не была
задана очистка ОЗУ.
Подпрограмма UPDATE переписывает данные из рабочих
ячеек микросхемы в буфер длиной 10 байт, находящийся в ОЗУ.
Данными из этого буфера пользуются все другие программы,
которым необходима информация о времени. Выполнение под-
программы занимает меньше 244 мкс. Это гарантирует, что все
данные, находящиеся в буфере, правильны и относятся к одному
и тому же секундному интервалу. В компьютере, имеющем конт-
роллер прерываний, подпрограмма UPDATE должна выполнять-
ся каждую секунду по запросу прерывания, связанному с окон-
чанием цикла обновления. Если контроллера прерываний в
компьютере нет, то подпрограмму UPDATE обязательно вызы-
вают перед каждым выполнением участка любой программы,
требующего данных о времени.
Подпрограмма TIME выводит на экран дисплея, начиная
с текущей позиции курсора, время в часах, минутах и секундах,
например: 10:54.39. Данные о времени она берет из буфера,
заполненного подпрограммой UPDATE.
Подпрограмма DATE выводит на экран дисплея, начиная
с текущей позиции курсора, информацию о дате, например:
ПЯТНИЦА 03 ИЮНЯ 1988 ГОДА. Она также берет данные
из буфера, заполненного подпрограммой UPDATE.
Подпрограмма ALARM включает сигнал на выходе SQIT,
выводит на экран заданное время срабатывания будильника,
а также сообщение, находящееся во внутреннем ОЗУ микро-
схемы КР512ВИ1. Информация выводится с начала строки,
в которой находится курсор. Особенностью подпрограммы
является то, что прежнее содержимое этой строки запомина-
еТ<гк ’ а после нажатия любой клавиши восстанавливается, стирая
информацию будильника. Одновременно выключается сигнал на
выходе SQU7.
Остальные подпрограммы табл. 5 носят вспомогательны!
характер. Они используются при работе подпрограмм, описац
ных выше.
Пример использования подпрограмм обслуживания микр^
схемы КР512ВИ1 приведен в табл. 6. Это подпрограмма обслу
живания запросов прерывания, генерируемых микросхемой ц
окончании цикла обновления и при срабатывании будильника
Соответствующие прерывания должны быть разрешены записьц
единиц в разряды UIE, AIE регистра В микросхемы. Ее выхо;
IRQ подключается к входу контроллера прерываний.
Эта подпрограмма при своей работе постоянно выводи]
Таблица. 6.
J*** ПОДПРОГРАММА ОБСЛУЖИВАНИЯ ЗАПРОСОВ ***
I *** ПРЕРЫВАНИИ ОТ КР512ВИ1 ***
( *ASD* 19ЙВ
;ИСПОЛЬЗУЕТ ПОДПРОГРАММЫ UPDATE. RDRTC,
tTIME, ALARM (CM. ТАБЛ.5), А ТАКЖЕ СТАН-
ДАРТНЫЕ ПОДПРОГРАММЫ»
I
CURSOR1 EQU 0FB1EH
CONOUT» EQU 0FB09H
1 AIE1 EQU 10H
INTRTCs PUSH H
PUSH D
PUSH 9
PUSH PSW
I ПЕРЕПИСЫВАЕМ ДАННЫЕ В БУФЕР
CALL. UPDATE
»ЗАПОМИНАЕМ ПОЛОЖЕНИЕ КУРСОРА
CALL CURSOR
PUSH Н
I ВЫВОДИМ' ВРЕМЯ
LXI Н,2050Н
CALL SETCUR
CALL TIME
»ЕСЛИ БУДИЛЬНИК HE СРАБОТАЛ,
I ЗАКАНЧИВАЕМ ОБРАБОТКУ ПРЕРЫВАНИЯ
MVI B.0CH
CALL RDRTC
ANI AIE
JZ INTI
5 ЧТОБЫ В ОЖИДАНИИ НАЖАТИЯ КЛАВИШИ
I(В ПОДПР. ALARM) НЕ ПРЕКРАЩАЛСЯ
(ВЫВОД ВРЕМЕНИ, ЗДЕСЬ НУЖНО РАЗРЕ-
ШИТЬ ПРЕРЫВАНИЯ
EI
(ВЫВОДИМ СООБЩЕНИЕ БУДИЛЬНИКА
LXI Н,4420Н
CALL SETCUR
CALL ALARM
(ВОССТАНАВЛИВАЕМ ПОЛОЖЕНИЕ КУРСОРА
INTI» POP Н
LXI D.0-30BH
DAD D
CALL SETCUR
POP PSW
POP В
POP D
POP H
EI
RET
Г++4. ПОДПРОГРАММА УСТАНОВКИ КУРСОРА В ♦♦♦
J ПОЛОЖЕНИЕ, ЗАДАННОЕ В <HL>
SETCURs MVI C,1BH
CALL CONOUT
MVI C,'Y'
CALL CONOUT
MOV C,H
CALL CONOUT
MOV C,L
JMP CONOUT
ENI DD К5В1ЛЕ5
5СМЮ512ВИ1 Bbll-ZD
IRQW>512B№M19)
/
збукобого
сигнала
Рис. 3. Схема подачи звукового сиг-
RESET
[Ю512ВИ1
IM. 18)
R2 22М
Cl I MR
нала
текущее время в правом верхнем углу экрана независимо от
работы других программ, выполняемых компьютером. Если
какая-либо программа сотрет время с экрана, выведя на это
же место другую информацию, то в следующую секунду вновь
будет выведено время. Срабатывание будильника^ отмечается
звуковым сигналом и выводом сообщения в нижней строке эк-
рана. Выполнение всех программ при срабатывании будильника
приостанавливается до нажатия любой клавиши.
В заключение рассмотрим схему, показанную на рис. 3.
Она позволяет подавать звуковой сигнал при срабатывании
будильника в компьютерах, не имеющих в своем составе контрол-
лера прерываний. В регистре В микросхемы КР512ВИ1 должны
быть записаны единицы в разрядах AIE и SQWE и нули в раз-
рядах ШЕ, PIE. Желаемая высота звука (частота сигнала на
выводе.SQW) задается разрядами RS0...RS3 регистра А. При
совпадении заданного времени срабатывания будильника с теку-
щим временем на выходе IRQ устанавливается низкий логиче-
ский уровень, разрешающий прохождение сигнала со входа
элемента ИЛИ — НЕ, соединенного с выводом SQIT на его
выход. Одновременно начинается разрядка конденсатора С1 че-
рез резистор R2. Как только напряжение на входе RESET
Достигнет низкого логического уровня, восстановится высокий
уровень на выходе IRQ и звуковой сигнал прекратится. Дли-
тельность сигнала определяется постоянной времени цепочки
R2C1. В любой момент его можно прекратить, нажав кнопку SB1.
А. Долгий