Эмулятор микрокомпьютера "Электроника МК85" с командной строкой и встроенной возможностью компиляции Бейсик и Ассемблер (PDP11) программ. Можно скомпилировать исходный код калькулятора на ассемблере (есть в комплекте) или запустить пример простой программы «helloworld.asm» и посмотреть, как она работает.
Что сделано (отличие от оригинальной версии):
возможность работы с командной строкой;
возможность быстрой загрузки Бейсик программ;
Ассемблер;
доработан исходный код микрокомпьютера mk85.asm для корректной компиляции;
пример программы "Hello word!" на Ассемблере;
анимация движения по коду и комментарии в дебагере.
Однако я не смог отказать себе в удовольствии реализовать программу расчёта на недавно приобретенном для моей коллекции девайсу из 90-х: на советском программируемом
микрокалькуляторе МК-52 (МК-61).
Программируемый микрокалькулятор МК-52.
Программируемый микрокалькулятор МК-61.
Данная реализация носит чисто спортивный интерес и не претендует на оптимальное решение, однако является корректной в математическом
плане и может быть использована для расчёта параметров антенны наравне с
современными методами расчёта.
Программу будем разрабатывать на микрокалькуляторе МК-52. Он позволит
сохранить программу в ППЗУ, что бы позже использовать её повторно. Для МК-61
программу после выключения машинки придётся вводить заново.
Итак задача. Разработать программу для советского программируемого микрокалькулятора МК-52 (МК-61) по расчету параметров диполя для приема FM радиостанций.
Подготовим калькулятор для последующей записи программы в ППЗУ. Если используется микрокалькулятор МК-61 или сохранять программу не планируется, этот шаг можно пропустить.
Переключатель "С/З/СЧ" переведем в положение "С" (стирание), введем на клавиатуре: 1000056 A↑ ↑↓. Эта команда очистит ППЗУ с адреса 0000 в размере 56 байт (по размеру программы, кратной 7).
Для записи программы для расчета диполя в память калькулятора введем команды:
Нажимаем кнопки
Комментарий
В/О F ПРГ
Переходим в режим программирования с адреса 00
XП1
Введенную резонансную частоту поместим в регистр 1
299.79245
Скорость света …
В↑
… в регистр Y
ПX1
Восстановим частоту из регистра 1 …
¸
… и разделим скорость света на частоту
С/П
Останов для вывода результата и ввода диметра вибратора в мм
XП2
Диаметр вибратора в сохраним в регистре 2
¸
Делим дину волны на диаметр вибратора
1000
…
×
и умножаем на 1000
С/П
Останов для ввода коэффициента укорочения
В↑
Коэффициент в регистр Y
149.89622
Скорость света деленная на 2
×
Перемножим
ПХ1
Резонансную частоту из памяти …
¸
… и разделим на резонансную частоту
XП4
Сохраним результат - длину диполя
C/П
Останов для вывода результата
В↑
Введенное расстояние между вибраторами в мм…
1000
… переведем в …
¸
… метры
XП3
Полученный результат сохраним в регистре 3
ПХ4
Восстановим длину диполя …
В↑
… и …
ПX3
… отнимем от ее …
-
… расстояние между вибраторами
2
Полученное значение …
¸
… разделим на 2
С/П
Результат на экран
F АВТ
Выход из режима программирования.
Теперь выполним тестовый расчет с заранее известным результатом. Он необходим для проверки правильности введенной программы. Если результаты расчёта совпадет с приведенными ниже - программа введена верно, если получен отрицательный результат - программу нужно проверить по шагам и исправить ошибки, но проще переписать ее заново.
Нажимаем кнопки
Комментарий
В/О
Сброс счетчика адресов в 00 для последующего запуска
98
Вводим резонансную частоту диполя в МГц
С/П
Запуск программы
3,0591066
На экране длина волны лямбда в м
7
Вводим диаметр d вибратора в мм
С/П
Запуск программы
437.01522
На экране отношение диаметра вибратора к длине волны для выбора коэффициента укорочения из графика
0.95
Вводим коэффициент укорочения
С/П
Запуск программы
1,4530756
На экране длина диполя L в м
20
Вводим расстояние между вибраторами s в мм
С/П
Запуск программы
7,165378*10-1
(0,7165378)
На экране длина одного вибратора Lв в м
Как можно убедиться, результат расчета полностью совпадает с расчетом, выполненным в Microsoft Excel.
Конструкция и основные габариты диполя.
Для записи программы в ППЗУ переключатель "С/З/СЧ" необходимо перевести в положение "З" (запись) и ввести на клавиатуре: 1000056 A↑ ↑↓. Эта команда сохранит введенную программу в ППЗУ и ее можно будет считать и использовать повторно.
Для загрузки программы из ППЗУ переключатель "С/З/СЧ" необходимо перевести в положение "СЧ" (считывание) и ввести на клавиатуре: 1000056 A↑ ↑↓. Программа будет загружена из ППЗУ в область программ.
Пример программирования и расчета параметров диполя на советском программируемом микрокалькуляторе MK-52 (МК-61).