А. ГИЛЬ,
334200, Крым, г. Ялта, ул. Киевская,
20 - 49.
"СВЕТ - 64 - 4": "ЦВЕТОМУЗЫКА" НА ЭВМ
Существующие стандартные светотехнические системы современных дискотек и музыкальных шоу-программ довольно однообразны. Даже для небольших изменений в световой картине требуются значительные доработки аппаратной части. Однако существует довольно простое решение - использование компьютера.
Описанная ниже установка работает в режиме автоматической обработки входного сигнала. Изменяя программу, можно легко получить любой из традиционных вариантов "бегущих огней". Приведённая в тексте программа, обрабатывая входной сигнал, "строит" рисунок на экране монитора (телевизора) и пересылает полученную информацию в порт ввода-вывода. В системе применён компьютер типа "Электроника БК-0010", и на рис. 1 (схема сопряжения компьютера и световой нагрузки) соответственно использована нумерация его разъёма "УП".
16-ти разрядный порт ввода-вывода "БК-0010" разделён на две части. Восемь разрядов составляют шину данных (состояние строки - X), а восемь остальных используются как дешифратор строки (выбор Y). Нагрузкой каждого выхода регистров служат транзисторные ключи, включающие через оптронные пары тиристорные. Таким образом, компьютер управляет матрицей ламп 8x8 (в каждой группе по 4).
Для уменьшения помех по сети в схему введён блок синхронизации (рис. 2). Моменты перехода напряжения сети через "0" выделяются триггером Шмидта, собранном на DD1. Таким образом, изменение состояния регистров возможно лишь в моменты равенства нулю напряжения сети.
Программа в машинных кодах приведена в табл. 1 и табл. 2. В табл. 1 -информация, записанная в ячейки памяти, начиная с адреса 1000. В табл. 2 - информация, записанная в ячейки памяти, начиная с адреса 2700. По всем пропущенным адресам записаны нули.
Для удобства программу целесообразно "зашить" в ПЗУ (например, 573РФЗ).
Правильно собранное устройство наладки не требует. В заключение хочу выразить искреннюю благодарность А. Чеботареву за помощь в разработке программы.
Рис. 1
Рис. 2
001000 |
002000 |
000401 |
000062 |
005000 |
004767 |
000366 |
012700 |
001644 |
012701 |
000400 |
005020 |
077102 |
012705 |
177716 |
012703 |
000040 |
004767 |
000136 |
100430 |
010001 |
004767 |
000126 |
162700 |
000007 |
005400 |
010002 |
004767 |
000144 |
042700 |
177761 |
016000 |
001624 |
010046 |
012600 |
004767 |
001616 |
006302 |
006302 |
006302 |
060102 |
116762 |
177660 |
001644 |
005004 |
105764 |
001644 |
001415 |
105364 |
001644 |
001012 |
010402 |
006202 |
006202 |
006202 |
010401 |
042701 |
177770 |
005000 |
004767 |
001536 |
005204 |
020427 |
000100 |
002754 |
000715 |
004767 |
000062 |
020027 |
000040 |
003402 |
012700 |
000040 |
006200 |
006200 |
162700 |
000007 |
005400 |
000207 |
012703 |
000040 |
005000 |
030315 |
001776 |
105200 |
100406 |
030315 |
001374 |
105200 |
100402 |
030315 |
001774 |
000207 |
010146 |
010246 |
005000 |
012701 |
000454 |
011502 |
010203 |
011502 |
074203 |
001401 |
005200 |
077106 |
012602 |
012601 |
000207 |
010246 |
010146 |
004767 |
000060 |
162701 |
000017 |
005401 |
004767 |
000046 |
010103 |
011601 |
162702 |
000017 |
005402 |
004767 |
000030 |
010301 |
004767 |
000022 |
012601 |
012602 |
000207 |
012701 |
040000 |
110021 |
005701 |
100375 |
000207 |
010146 |
010246 |
010346 |
010446 |
000302 |
006302 |
006302 |
006301 |
006301 |
060102 |
063702 |
000204 |
012703 |
000020 |
162702 |
002000 |
010204 |
042704 |
140000 |
063704 |
000202 |
110024 |
110024 |
110024 |
110024 |
062702 |
000100 |
000300 |
077315 |
012604 |
012603 |
012602 |
012601 |
000207 |
010146 |
010246 |
010346 |
010446 |
020203 |
003403 |
010204 |
010302 |
010403 |
005203 |
160203 |
006303 |
006303 |
000302 |
060102 |
063702 |
000204 |
162702 |
002000 |
010204 |
042704 |
140000 |
063704 |
000202 |
110024 |
062702 |
000100 |
000300 |
077312 |
012604 |
012603 |
012602 |
012601 |
000207 |
125252 |
114546 |
052525 |
167273 |
177777 |
052525 |
000000 |
000000 |
000000 |
000000 |
000000 |
000000 |
001001 |
000000 |
157757 |
100500 |
001001 |
004004 |
020020 |
100100 |
000020 |
000040 |
000100 |
000200 |
010146 |
010246 |
010346 |
010446 |
042701 |
177770 |
042702 |
177770 |
005003 |
116203 |
002700 |
042703 |
177400 |
116104 |
002710 |
042704 |
177400 |
005700 |
001402 |
050403 |
000401 |
040403 |
110361 |
002700 |
116204 |
002710 |
042704 |
177400 |
000303 |
050304 |
005104 |
010437 |
177714 |
012604 |
012603 |
012602 |
012601 |
000167 |
176262 |
000000 |
000000 |
000000 |
000000 |
000000 |
А. БЕЛЫХ (UA10J),
164500, г. Северодвинск, a/я
27.
RTTY1
(ОПИСАНИЕ ПРОГРАММЫ)
Программа RTTY1 является дальнейшим развитием RTTY7 by UA4FB Леонида Чернева из Пензы и одной из немногих радиотелетайпных программ для компьютера "Электроника БК-0010'' (БК-0010Ш, БК-0010.01, далее в тексте - БК). Она разработана для использования в любительской радиосвязи и при наличии соответствующей аппаратуры (трансивер, модем) позволяет вести обмен информацией через порт ВВОД/ВЫВОД (разъем ХТ5-"УП" БК) в телетайпных кодах CCITT и МТК-2 со скоростью от 45,45 до 300 Бод. В отличие от прототипа данная программа при меньшем объёме предоставляет оператору более богатые сервисные возможности. Подключение каналов связи к компьютеру производится в соответствии с табл. 1.
№ |
Наименование цепи |
Марк .RIG |
Марк. БК |
Маркировка ХТ5"УП" |
---|---|---|---|---|
1 |
Приём |
RX |
ВВ00 |
В24 |
2 |
Передача |
ТХ1 |
ВД00 |
А16 |
3 |
Управление |
ТХ2 |
ВД01 |
А13 |
4 |
+5V |
+5V |
+5V |
А, В (8, 9) |
5 |
Общий |
0V |
0V |
А, В (18, 19) |
В программе имеется три канала:
- Приём информации
- Передача информации
- Управление режимом Приём/Передача
Программа имеет адрес загрузки и старта А=&O1000, длину Д=&O3530 (Д < 2КВ). Адресное пространство &O5000:&O30000 используется программой под текстовые буферы. Всего в программе имеется 40 буферов, из них 1 приёмный ёмкостью 1 КВ, 7 оперативных по 64 байта и 32 постоянных по 256 байтов.
В таблице 2 приводятся команды управления в режимах Приёма и Передачи.
Постоянные буферы определяются алфавитными клавишами с кодами от &O100 до &O137 (@, А, В, С, D...Y, Z, [, \, ], ^, _). Запись текста в эти буферы производится в режиме приёма после нажатия клавиш "=" и одной из определяющих, окончание записи - по клавише КТ (СУ+С). При записи текста в постоянные буферы допускается вызов оперативных буферов.
Оперативные буферы определяются клавишами управления курсором с кодами от &O31 до &O37 (СУ+Y, СУ+Z, СУ+[, СУ+\, СУ+], СУ+^, СУ+_). Запись информации в эти буферы производится в режиме приёма после нажатия одной из определяющих клавиш, окончание записи - также по клавише КТ (СУ+С).
Во время записи текстов в постоянные и оперативные буферы приём прерывается.
Для просмотра постоянных буферов достаточно в режиме приёма нажать определяющую клавишу. Вызов текста на передачу - также по определяющей клавише.
|
|
ПРИЁМ |
---|---|---|
КТ |
СУ+С |
Переключатель ПРИЁМ/ПЕРЕДАЧА |
|<-- |
СУ+V |
Переключатель регистра "РУС" |
<--|- |
СУ+Х |
Переключатель регистра "ЦИФР" |
|--> |
СУ+W |
Переключатель регистра "ЛАТ" |
; |
|
Переключатель регистра формата 32/64 |
ЗАП |
СУ+F |
ВКЛ/ВЫКЛ записи принимаемого текста в буфер ёмкостью 1 КВ |
СТИР |
СУ+G |
Очистка приёмного буфера |
@:Ъ |
|
Печать текста из постоянных буферов (алфавитные клавиши с кодами &O100:&O137) |
ПРОБЕЛ |
|
Печать текста из приёмн. буфера на экран |
СБР |
СУ+L |
Очистка экрана |
ВВОД |
|
Перевод курсора в нач. след. строки |
СТОП |
|
Выход в пусковой монитор |
1:8 |
|
Переключение скорости 1=45, 2=25, 3=75, 4=100, 5=110, 6=150, 7=200, 8=300 Бод |
(=)+(@:Ъ) |
|
Запись информации в постоянный буфер (допускается использование клавиши "+") |
ЛАТ |
|
Вкл. таблицы CCITT |
РУС |
|
Вкл. таблицы МТК-2 |
|
|
ПЕРЕДАЧА |
КТ |
СУ+С |
Переключатель ПРИЁМ/ПЕРЕДАЧА |
; |
|
Переключатель формата 32/64 |
ГТ |
СУ+Т |
Передача "RYRYRY..." |
@:Ъ |
|
-"- текста одного из 32-х буферов |
ПРОБЕЛ |
|
-"- текста с клавиатуры |
- (тире) |
|
-"- текста из приёмного буфера |
СТОП |
|
Прерывание передачи текста |
СБР |
СУ+L |
Очистка экрана |
СБР |--> |
СУ+К |
Выкл. передачи с клавиатуры или "RYRY..." |
ПРИМЕР:
Записать текст в @-буфер:
=, @, ВВОД, СУ+Y, ПРОБЕЛ, СУ+Y, ПРОБЕЛ, D, Е, ПРОБЕЛ, СУ+Z, ПРОБЕЛ, СУ+Z, ПРОБЕЛ, Р, S, Е, ПРОБЕЛ, К, К, К, КТ (конец)
Записать текст в оперативный Y-буфер:
СУ+Y, С, Q, КТ
Записать текст в оперативный Z-буфер:
Cy+Z, U, A, 1, O, J, KT
Вызвать текст из @-буфера на передачу:
КТ(передача), @
Будет передан с параллельной распечаткой на экране текст:
CQ CQ DE UA1OJ UA1OJ PSE ККК
Записать в оперативный У-буфер:
U, Z, 9, С, W, А, КТ
Вызвать текст из @-буфера на передачу:
КТ (передача), @
Будет передан с параллельной распечаткой на экране текст:
UZ9CWA UZ9CWA DE UA1OJ PSE ККК
В программе имеется возможность передать принятый и записанный в приёмный буфер текст по команде " - " (REPLY).
Ниже приводится DUMP описываемой программы. Ввод её в ОЗУ производится в режиме МСД с адреса &O1000. Для удобства ввода программа разбита на блоки по &O400 байтов. В каждом блоке указаны адрес, длина и контрольная сумма. После ввода и проверки программы рекомендуется подготовить тексты, записать их в постоянные буферы, а затем готовую к работе программу записать на ленту одним файлом (А=&O1000, Д=&O24000).
Автор выражает свою признательность и благодарность за помощь в создании программы Сергею Контареву UZ3AXJ и Леониду Черневу UA4FB.
Файл : |
RTTY1.0 |
|
|
|
|
|
|
|
Адрес: |
001000 |
|
|
|
|
|
|
|
Длина: |
000400 |
|
|
|
|
|
|
|
Контрольная сумма: 047100 |
|
|
|
|
|
|||
001000: |
104014 |
012706 |
001000 |
005037 |
177714 |
106427 |
000000 |
010701 |
001020: |
062701 |
001364 |
010137 |
000004 |
012767 |
000207 |
002420 |
010701 |
001040: |
062701 |
000672 |
010137 |
000260 |
010701 |
062701 |
000042 |
010167 |
001060: |
000242 |
005001 |
010702 |
062702 |
000016 |
112200 |
001515 |
104022 |
001100: |
005201 |
000773 |
054122 |
020040 |
032464 |
000000 |
045400 |
052521 |
001120: |
045000 |
040527 |
043130 |
051531 |
042102 |
042532 |
041526 |
044520 |
001140: |
051107 |
000114 |
047115 |
020110 |
012517 |
000124 |
024000 |
033461 |
001160: |
003400 |
026462 |
020457 |
023466 |
022077 |
031453 |
035075 |
034060 |
001200: |
032046 |
000051 |
026056 |
020043 |
012471 |
000065 |
045400 |
172761 |
001220: |
165000 |
040502 |
163370 |
041771 |
162342 |
042772 |
161766 |
164760 |
001240: |
050347 |
000354 |
044115 |
020130 |
012517 |
000124 |
024000 |
033461 |
001260: |
160000 |
026462 |
176057 |
023466 |
021477 |
031453 |
035075 |
034060 |
001300: |
177373 |
000051 |
026056 |
020375 |
012471 |
000065 |
000000 |
001440 |
001320: |
026423 |
000000 |
001114 |
000000 |
012701 |
177714 |
005711 |
001374 |
001340: |
005004 |
016705 |
177750 |
006205 |
006205 |
006205 |
005711 |
001402 |
001360: |
005204 |
000402 |
005304 |
000400 |
077507 |
005704 |
100355 |
016705 |
Файл : |
RTTY1.1 |
|
|
|
|
|
|
|
Адрес: |
001400 |
|
|
|
|
|
|
|
Длина: |
000400 |
|
|
|
|
|
|
|
Контрольная сумма: 046007 |
|
|
|
|
|
|||
001400: |
177714 |
006205 |
006205 |
006205 |
010546 |
016705 |
177700 |
162605 |
001420: |
005711 |
001402 |
005204 |
000402 |
005304 |
000400 |
077507 |
005704 |
001440: |
100333 |
005002 |
012703 |
000005 |
005004 |
016705 |
177640 |
005711 |
001460: |
001402 |
005204 |
000402 |
005304 |
000400 |
077507 |
006104 |
006102 |
001500: |
077315 |
005004 |
016705 |
177606 |
005711 |
001402 |
005204 |
000402 |
001520: |
005304 |
000400 |
077507 |
005704 |
100677 |
004767 |
000004 |
000167 |
001540: |
177566 |
020227 |
000000 |
001003 |
005067 |
177552 |
000465 |
020227 |
001560: |
000004 |
001013 |
105737 |
000043 |
001004 |
012767 |
000040 |
177526 |
001600: |
000453 |
012767 |
000140 |
177516 |
000447 |
020227 |
000037 |
001012 |
001620: |
105737 |
000043 |
001003 |
005067 |
177474 |
000436 |
012767 |
000100 |
001640: |
177464 |
000432 |
020227 |
000033 |
001003 |
012700 |
000040 |
000416 |
001660: |
020227 |
000035 |
001003 |
012700 |
000012 |
000410 |
020227 |
000027 |
001700: |
001413 |
066702 |
177416 |
066702 |
177414 |
111200 |
104016 |
005767 |
001720: |
177400 |
001402 |
004767 |
000476 |
000207 |
113700 |
177662 |
042700 |
001740: |
177600 |
020027 |
000027 |
001003 |
005067 |
177352 |
000530 |
020027 |
001760: |
000026 |
001004 |
012767 |
000100 |
177334 |
000521 |
020027 |
000030 |
Файл : |
RTTY1.2 |
|
|
|
|
|
|
|
Адрес: |
002000 |
|
|
|
|
|
|
|
Длина: |
000400 |
|
|
|
|
|
|
|
Контрольная сумма: 035542 |
|
|
|
|
|
|||
002000: |
001004 |
012767 |
000040 |
177316 |
000512 |
020027 |
000014 |
001002 |
002020: |
104016 |
000505 |
020027 |
000012 |
001002 |
104016 |
000500 |
020027 |
002040: |
000073 |
001004 |
012700 |
000233 |
104016 |
000471 |
020027 |
000006 |
002060: |
001003 |
004767 |
000370 |
000463 |
020027 |
000040 |
001003 |
004767 |
002100: |
000456 |
000455 |
020027 |
000003 |
001003 |
005726 |
000167 |
000560 |
002120: |
020027 |
000075 |
001003 |
004767 |
001702 |
000441 |
020027 |
000007 |
002140: |
001003 |
004767 |
000472 |
000433 |
020027 |
000031 |
103406 |
020027 |
002160: |
000037 |
101003 |
004767 |
002000 |
000422 |
020027 |
000100 |
103406 |
002200: |
020027 |
000137 |
101003 |
004767 |
001524 |
000411 |
020027 |
000061 |
002220: |
103406 |
020027 |
000070 |
101003 |
005300 |
000167 |
000002 |
000207 |
002240: |
042700 |
177770 |
006300 |
006300 |
006300 |
060700 |
062700 |
000030 |
002260: |
012067 |
177032 |
012067 |
001270 |
012067 |
176612 |
012067 |
176610 |
002300: |
000167 |
176476 |
001440 |
006335 |
020040 |
032464 |
001320 |
005661 |
002320: |
020040 |
030065 |
000740 |
003754 |
020040 |
032467 |
000520 |
002730 |
002340: |
030440 |
030060 |
000460 |
002503 |
030440 |
030061 |
000344 |
001766 |
002360: |
030440 |
030065 |
000240 |
001314 |
031040 |
030060 |
000144 |
000763 |
Файл : |
RTTY1.3 |
|
|
|
|
|
|
|
Адрес: |
002400 |
|
|
|
|
|
|
|
Длина: |
000400 |
|
|
|
|
|
|
|
Контрольная сумма: 050531 |
|
|
|
|
|
|||
002400: |
031440 |
030062 |
005037 |
000260 |
012737 |
100442 |
000004 |
012706 |
002420: |
001000 |
000137 |
100442 |
110077 |
176666 |
005267 |
176662 |
026727 |
002440: |
176656 |
032000 |
103403 |
012767 |
026000 |
176644 |
000207 |
010146 |
002460: |
005767 |
176636 |
001020 |
005267 |
176630 |
012700 |
000122 |
012701 |
002500: |
000020 |
124022 |
012700 |
000105 |
005201 |
104022 |
012700 |
000115 |
002520: |
005201 |
104022 |
000413 |
005067 |
176570 |
012701 |
000020 |
012700 |
002540: |
000040 |
104022 |
005201 |
104022 |
005201 |
104022 |
012601 |
000207 |
002560: |
010146 |
010246 |
012700 |
000014 |
104016 |
016701 |
176522 |
012702 |
002600: |
002000 |
020127 |
030000 |
103402 |
012701 |
026000 |
112100 |
004767 |
002620: |
000342 |
077211 |
012700 |
000012 |
104016 |
012602 |
012601 |
000207 |
002640: |
010146 |
010246 |
016701 |
176450 |
012702 |
002000 |
020127 |
030000 |
002660: |
103402 |
012701 |
026000 |
105021 |
077207 |
012602 |
012601 |
000207 |
002700: |
012706 |
001000 |
104004 |
012700 |
000012 |
104016 |
010701 |
062701 |
002720: |
000644 |
010137 |
000260 |
010701 |
062701 |
177750 |
010137 |
000004 |
002740: |
012767 |
106427 |
000510 |
010701 |
062701 |
000000 |
010167 |
000026 |
002760: |
005001 |
010702 |
062702 |
000016 |
112200 |
001466 |
104022 |
005201 |
Файл : |
RTTY1.4 |
|
|
|
|
|
|
|
Адрес: |
003000 |
|
|
|
|
|
|
|
Длина: |
000400 |
|
|
|
|
|
|
|
Контрольная сумма: 046123 |
|
|
|
|
|
|||
003000: |
000773 |
054124 |
000000 |
002750 |
111033 |
105632 |
101033 |
115205 |
003020: |
106620 |
107226 |
116223 |
101203 |
104211 |
117214 |
107625 |
114212 |
003040: |
103631 |
110621 |
100433 |
103033 |
016033 |
010406 |
017026 |
002422 |
003060: |
014413 |
010024 |
001415 |
003423 |
004011 |
015025 |
014017 |
006001 |
003100: |
005002 |
110016 |
106602 |
015433 |
056224 |
050506 |
057126 |
042522 |
003120: |
054513 |
050124 |
041515 |
043523 |
044111 |
055125 |
054117 |
046101 |
003140: |
045102 |
102516 |
105622 |
041225 |
005001 |
004767 |
000300 |
106427 |
003160: |
000000 |
000772 |
010046 |
010146 |
010246 |
010346 |
042700 |
177400 |
003200: |
020027 |
000040 |
003473 |
020027 |
000340 |
103402 |
162700 |
000040 |
003220: |
020027 |
000200 |
103402 |
162700 |
000100 |
020027 |
000140 |
103402 |
003240: |
162700 |
000040 |
016702 |
177536 |
060002 |
111201 |
010102 |
042702 |
003260: |
177477 |
026702 |
000164 |
001003 |
004767 |
000162 |
000460 |
005702 |
003300: |
001010 |
005067 |
000144 |
005067 |
000142 |
005001 |
004767 |
000136 |
003320: |
000751 |
022702 |
000100 |
001011 |
010267 |
000116 |
012701 |
000037 |
003340: |
010167 |
000110 |
004767 |
000106 |
000735 |
010267 |
002074 |
012701 |
003360: |
000004 |
010167 |
000066 |
004767 |
000064 |
000724 |
001005 |
012701 |
Файл : |
RTTY1.5 |
|
|
|
|
|
|
|
Адрес: |
003400 |
|
|
|
|
|
|
|
Длина: |
000400 |
|
|
|
|
|
|
|
Контрольная сумма: 035752 |
|
|
|
|
|
|||
003400: |
000033 |
004767 |
000050 |
000413 |
022700 |
000012 |
001010 |
012701 |
003420: |
000027 |
004767 |
000030 |
012701 |
000035 |
004767 |
000020 |
012603 |
003440: |
012602 |
012601 |
012600 |
104016 |
000207 |
000000 |
000000 |
000207 |
003460: |
000200 |
012704 |
177714 |
012714 |
000002 |
004767 |
000052 |
012714 |
003500: |
000003 |
004767 |
000042 |
012703 |
000005 |
006201 |
103003 |
012714 |
003520: |
000003 |
000402 |
012714 |
000002 |
004767 |
000014 |
077312 |
012714 |
003540: |
000002 |
004767 |
000002 |
000207 |
016702 |
000004 |
077201 |
000207 |
003560: |
006335 |
012667 |
000146 |
013700 |
177662 |
020027 |
000100 |
103406 |
003600: |
020027 |
000137 |
101003 |
004767 |
000124 |
000445 |
020027 |
000014 |
003620: |
001002 |
104016 |
000440 |
020027 |
000073 |
001004 |
012700 |
000233 |
003640: |
104016 |
000431 |
020027 |
000024 |
001002 |
000167 |
000520 |
020027 |
003660: |
000013 |
001002 |
000167 |
177010 |
020027 |
000040 |
001002 |
000167 |
003700: |
000542 |
020027 |
000003 |
001002 |
000167 |
175066 |
020027 |
000055 |
003720: |
001002 |
004767 |
176632 |
016746 |
000002 |
000207 |
102156 |
012701 |
003740: |
000030 |
104022 |
162700 |
000100 |
000300 |
062700 |
005000 |
010001 |
003760: |
012702 |
000400 |
112100 |
001414 |
020027 |
000031 |
103406 |
020027 |
Не хватает ещё двух блоков, так было в журнале, так что статья бесполезна .