Радио-86РК/Радио 04-90/Принимаем морзянку

Материал из Emuverse
Данный материал защищён авторскими правами!

Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей.

Автор: А. ДОЛГИЙ

Источник: http://retro.h1.ru/RK86/WinBas/ReceiveMrz.html

Предлагаемая программа для компьютера «Радио-86РК» позволяет без какой-либо его переделки сигналы, передаваемые в коде Морзе, отображать в виде символов: букв русского и латинского алфавитов, цифр и знаков препинания. Выход приемника или телеграфный ключ подключают параллельно контактам клавиши «УС» (один из этих контактов «заземлен»). Чтобы уменьшить помехи приемнику от компьютера и устранить сбои его самого от передатчика, рекомендуется между «Радио-86РК» и источником сигнала включать для гальванической «развязки» оптрон или электромагнитное реле.

0000 31 00 09 21 69 02 CD 18 F8 3E 00 32 02 08 21 00
0010 00 22 03 08 2A BA 02 22 OB 08 CO E7 00 CD 19 01
0020 CO D8 00 3A BE 02 57 CD AB 00 CO 22 01 CO C3 02
0030 C2 27 00 0E 01 06 00 CD 19 01 04 CA 27 00 CD C3
0040 02 CA 37 00 3E 02 88 D2 37 00 7A 87 B8 DA 58 00
0050 7A 80 OF E6 7F 57 79 87 C3 65 00 7A 80 OF OF E6
0060 3F 57 79 87 3C 4F FE 80 02 27 00 06 00 CO 19 01
0070 04 CO C3 02 CA 35 00 7A 87 B8 D2 60 00 06 00 2A
0080 05 08 3E 1F B9 D2 8B 00 21 E9 01 09 7E CD E9 00
0090 06 00 CD 19 01 04 CO C3 02 CA 27 00 7A 87 87 90
00A0 D2 92 00 3E 20 CD E9 00 C3 27 00 3A 00 08 4F CO
00B0 1B F8 B9 C8 32 00 08 FE 52 CA 01 00 FE 4C CA D8
00C0 00 FE 0D CA E7 00 FE 03 CA OF 00 FE 1B CA E3 00
00D0 C9 21 E9 01 22 05 08 C9 21 CB 01 22 05 08 C9 2A
00E0 BF 02 E9 2A C1 02 E9 3E A0 E5 C5 F5 3A 04 08 4F
00F0 3C E6 3F 32 04 08 06 00 21 OF 08 09 3A 01 08 30
0100 FA 0C 01 32 01 08 78 47 F1 C3 15 01 3A BO 02 32
0110 01 08 F1 F6 80 77 C1 E1 C9 CO 22 01 CO 22 01 CD
0120 22 01 E5 05 C5 F5 3A 02 08 B7 CA 33 01 CD 8D 01
0130 C3 65 01 2A 03 08 7C BD C2 44 01 3A BC 02 CO C2
0140 01 C3 65 01 4D 06 00 21 OF 08 09 7E FE 80 F5 E6
0150 7F 2A OB 08 77 F1 DC B1 01 D4 6A 01 3A 03 08 3C
0160 E6 3F 32 03 08 F1 C1 D1 E1 C9 2A BA 02 22 OB 08
0170 11 4E 00 19 22 0D 08 36 5F 2A B8 02 22 07 08 19
0180 22 09 08 3A BC 02 D6 02 32 02 08 D6 09 4F 2A 09
0190 08 EB 2A 07 08 1A 77 13 23 00 C2 95 01 22 07 08
01AO EB 22 09 08 2A 0D 08 7B 95 7A 9C D8 AF 32 02 08
01BO C9 F5 23 36 5F 22 OB 08 3A BC 02 D6 04 CD C2 01
01CO F1 C9 00 00 00 00 00 00 3D C2 C2 01 C9 45 54 49
01D0 41 4E 4D 53 55 52 57 44 4B 47 4F 48 56 46 60 4C
01EO 71 50 4A 42 58 43 59 5A 51 7E 7B 65 74 69 61 6E
01FO 6D 73 75 72 77 64 6B 67 6F 68 76 66 60 6C 71 70
0200 6A 62 78 63 79 7A 7D 7E 7B 35 34 5F 33 7C 5F 5F
0210 32 5F 5F 2B 5F 5F 5F 5F 31 36 3D 2F 5F 5F 5F 5F
0220 5F 37 5F 5F 5F 38 5F 39 30 2E 5F 5F 5F 5F 5F 5F
0230 5F 5F 5F 5F 5F 3F 5F 5F 5F 5F 5F 5F 5F 5F 2C 5F
0240 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F
0250 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 21 5F 5F 5F
0260 5F 5F 5F 5F 5F 5F 5F 5F 5F 1F 2B 2D 20 20 2B 20
0270 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 2D 2D 2D 2D 2D
0280 2B 0A 0D 21 20 20 20 21 20 55 54 35 44 45 2F 55
0290 41 33 20 43 57 20 52 58 20 21 0A 00 2B 2D 2D 2D
02AO 2B 2D 20 2D 2D 2D 20 20 2D 2D 2D 2D 20 20 20 20
02BO 2D 20 2B 00 19 18 18 00 AC 78 12 7F 80 40 10 6C
02CO F8 00 00 3A 02 80 E6 40 3E 7F CA CF 02 3E 20 32
02D0 12 78 C9

Таблица 2.

Блок Сумма
0000 — 00FF 7052
0100 — 01FF 5E77
0200 — 02D2 E775
0000 — 02D2 633E

Коды программы приведены в табл.1, контрольные суммы ее блоков и общая — в табл.2.

Если объем памяти ОЗУ компьютера — 16 Кбайт, то необходимо по адресам 2В9Н и 2D1H код 78Н заменить на 38Н, а по адресу 2ВВН код 7FH — на 3FH.

Рабочие ячейки и стек программы находятся в области адресов 800Н — 8FFH.

Программа автоматически настраивает «интерфейс» на скорость, с которой идет передача, причем максимальная — значительно больше той, когда возможен еще прием «на слух». Диапазон воспринимаемых скоростей зависит от записанной в ячейке 2ВСН константы. Если ее уменьшить, то максимальная и минимальная скорости возрастут, если увеличить — уменьшатся.

В любой момент оператор, не прерывая приема, может изменить режим отображения принятых символов: перейти с записи букв русского алфавита на латинский и наоборот. Для этого на клавиатуре нужно нажать соответственно на клавишу «L» или «R». Во время перевода строк, который происходит после заполнения очередной из них или нажатия на клавишу «ВК», прием не прерывается и принятая информация не искажается.

Если нажать на клавишу «F4» или «АР2», работа программы прерывается и управление передается по адресам, записанным в парах ячеек 2BFH, 2СОН и 2С1Н, 2С2Н соответственно. В обоих случаях вызываемой программе передается в стеке адрес возврата в программу приема кода Морзе. Это позволяет, вернувшись из вызванной программы (это может быть, например, программа передачи), немедленно возобновить прием. В приведенном в табл.1 варианте программы в указанных выше ячейках записаны адрес «горячего старта» МОНИТОРА и начальный адрес самой программы приема. Таким образом, при нажатии на клавишу «F4» происходит выход в МОНИТОР, а при нажатии на «АР2» — перезапуск программы приема.

Как отмечалось выше, программа рассчитана на подключение источника сигнала (ключа) параллельно контактам клавиши «УС». Подпрограмма опроса положения ключа занимает ячейки, начиная с 2СЗН. Она также сигнализирует о нажатии ключа, выводя светящийся прямоугольник в левом верхнем углу экрана. При необходимости можно подавать сигнал иначе, например, на один из выводов микросхемы D14 компьютера. Для этого необходимо заменить эту подпрограмму другой, удовлетворяющей вашим требованиям. Нажатому ключу должен соответствовать возврат из подпрограммы с признаком Z, отжатому — возврат без этого признака. Подпрограмма не должна изменять состояние регистров В — L микропроцессора.

А. ДОЛГИЙ, г. Москва

Отсканировано с журнала Радио № 4 1990 г.
Отредактировано Лесных Ю. 2001 г.