FRS-100 УНИВЕРСАЛЬНОЕ УПРАВЛЯЮЩЕЕ ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙТСТВО

реклама
УНИВЕРСАЛЬНОЕ УПРАВЛЯЮЩЕЕ
ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙТСТВО
FRS-100
Copyright © Sergei Frolov, 2002
Краткое описание
Устройство FRS-100 представляет собой специализированную Микро-ЭВМ
Краткие характеристики
-
программируемый калькулятор, совместимый с калькулятором «Электроника
МК 61»
возможность использования большинства программ, наработанных для
отечественных программируемых калькуляторов
128 килобайт ОЗУ пользователя
сохранение программ пользователя при выключении питания
перенос программ пользователя в компьютер и обратно
файловая система
асинхронный последовательный интерфейс
двухпроводный байт-ориентированный последовательный интерфейс
часы реального времени
18-разрядный светодиодный индикатор
8-канальный 10-разрядный аналогово-цифровой преобразователь
8-разрядный генератор широтно-импульсной модуляции
16-разрядный генератор широтно-импульсной модуляции
программируемый параллельный интерфейс КР580ВВ55А
FRS-100
-
8-разрядный регистр данных
частотомер
счетчик импульсов
таймер
16 МГц RISC микроконтроллер
Еще не реализовано:
-
вход прерывания
7 дифференциальных каналов АЦП
2 дифференциальных канала АЦП с программируемым коэффициентом
усиления – 1х, 10х, 200х
второй RS-232
Техническое описание и инструкция по эксплуатации
1. Введение
1.1. Настоящее описание предназначено для обеспечения правильной
эксплуатации универсального управляющего вычислительного устройства FRS-100
(именуемого в дальнейшем - "вычислитель") и поддержания его работоспособности.
1.2. Вычислитель может быть использован:
1) в составе устройств автоматизированного контроля и управления;
2) для автоматизации
инженерных и других задач;
решения
научно-технических,
статистических,
3) в качестве цифрового измерительного прибора;
4) в качестве устройства сбора и обработки информации.
1.3. В связи с постоянным проведением работ по повышению качества и
надежности работы вычислителя, электрические принципиальные схемы
вычислителя и отдельных блоков могут незначительно отличаться от
существующих.
2. Общие указания
2.1. Вычислитель рассчитан на работу в диапазоне температур от +5 до
+40oC, при относительной влажности воздуха 40..90% (не конденсированной).
2.2. Вычислитель работает от сети переменного тока напряжением 220 В, +/10%, частотой 50 Гц при помощи специального адаптера или напрямую от сети, в
зависимости от исполнения.
2.3. Время готовности вычислителя к работе после включения - не более 10
сек при условии отсутствия внутренних неисправностей (см. п. *****).
Предварительная информация
2
FRS-100
2.4. Клавиатура вычислителя срабатывает от легкого и четкого нажатия
клавиш до упора. Чтобы вычислитель работал надежно, не рекомендуется
прикладывать большие усилия к клавишам.
2.5. При работе с внешними устройствами величины и длительности входных
сигналов, а также нагрузки на выходные сигналы должны соответствовать
величинам, указанным в настоящей инструкции.
2.6. При соблюдении условий транспортирования, хранения и эксплуатации,
оговоренных в настоящей инструкции, вычислитель допускает круглосуточную
работу (с выключением на любое время).
2.7. Проверка работоспособности вычислителя производится по методике,
приведенной в п. *****.
3. Технические данные
3.1. Общие данные
3.1.1. Габаритные размеры, мм: *****
3.1.2. Масса, кг, не более: *****
3.1.3. Потребляемая мощность от сети переменного тока, Вт, не более *****
3.2. Функциональные возможности
3.2.1. Управление вычислителем производится с помощью клавиатуры.
Количество клавиш при заводской поставке - 59, однако пользователь для своих
приложений может использовать произвольное количество клавиш с общим
количеством до 64.
Клавиши могут иметь одинарную, двойную, тройную или четверную
символику. Переход к операциям второй, третьей или четвертой символики
происходит путем предварительного нажатия префиксной клавиши с номерами F1,
F2, F3 соответственно.
Расположение и символика клавиш вычислителя при заводской поставке
показано в приложении *****.
3.2.2. Вычислитель работает в трех режимах:
1) "Автоматическая работа";
2) "Ввод и редактирование программы";
3) "Работа по программе".
3.2.3. Режим "Автоматическая работа"
Система счисления при вводе с клавиатуры и выводе на индикацию Предварительная информация
3
FRS-100
десятичная.
Диапазон вычислений - от +/- 1*10-999 до +/-9.99999999999*10999.
Форма представления запятой - естественная и плавающая.
числа, вводимые с клавиатуры и результаты вычислений отображаются на 18разрядном светодиодном индикаторе.
Количество адресуемых регистров памяти зависит от конфигурации
устройства и может быть от 174 (при установленной микросхеме ОЗУ емкостью 2 К
байт до 13107
(при установленной микросхеме ОЗУ емкостью 128 К байт) (****)
Количество регистров стековой памяти - 32.
Краткое описание функционирование вычислителя
1. Описание работы арифметического и программного устройства.
Клавиатурой пульта управления вводятся числа и команды операций, которые
надо выполнить над этими числами, а также команды управления работой
вычислителя. числа, команды, результаты вычислений и коды ошибок отображаются
на дисплее.
В вычислителе применяется два вида оперативной памяти - со стиранием
информации после выключения питания вычислителя и без стирания.
Все регистры памяти, программа пользователя, а также все другие хранимые
программы сохраняются при выключении питания. Регистры стековой памяти,
вызова подпрограмм, а также специальные регистры, определяющие работу
вычислителя и внешних устройств, после включения питания обнуляются, либо
принимают фиксированные значения.
Регистровая память - состоит из 15 регистров быстрого доступа, на которых
могут быть записаны в ходе вычислений исходные данные, промежуточные
величины и результаты, и дополнительные регистры памяти с прямым или
косвенным вызовом. Количество дополнительных регистров памяти зависит от
установленного объема оперативной памяти.
Регистры стековой памяти представляют собой массив из 32 регистров для
хранения чисел, используемых для вычисления сложных вычислений. Первые
четыре регистра обозначаются как X (или регистр индикации), Y, Z и T.
Содержимое регистра Х отображается на дисплее; этот регистр служит для
размещения вводимого числа или команды, результата операции, пересылки числа
в регистровую память.
В вычислителе применяется обратная бесскобочная запись арифметических
выражений, что делает вычисления более экономичными. При этом вначале
записываются величины, над которыми будет выполняться операция, они
разделяются нажатием клавиши "ENTER", а затем нажимается клавиша операции.
Предварительная информация
4
FRS-100
Например, если в обычной записи для вычисления выражения 1 * 2 + 3
необходимо нажать клавиши [1] [*] [2] [+] [3] [=], то в вычислителе данное выражение
вычисляется нажатием клавиш [1] [Enter] [2] [*] [3] [+] .
Символ выполняемой операции ставится после исходных величин. Такой
порядок вычислений позволяет сократить объем программы вычислений, вводимой
в вычислитель.
Ввод данных в вычислитель и работа операционного стека.
Набранное на клавиатуре пульта управления некоторое число а разместится
в регистре Х и высветится на дисплее. Если над числом A выполняют
арифметическую операцию (сложение, вычитание и др.) с помощью числа B, то
командой (нажатием клавиши) [ENTER] число A перемещают на регистр Y, а в
регистр X набирают число B. Далее, нажимая клавишу нужной арифметической
операции, дают команду на ее выполнение. Результат операции содержится в
регистре Х и высвечивается на дисплее. число B перемещается в регистр
предыдущего результата X1, при необходимости его можно вновь переместить в
регистр X командами
F Bx.
Непосредственно участвующие в вычислениях регистры Х и Y называются
операционными. При вводе очередного числа предшествующие числа
автоматически смещаются на верхние регистры стека. После выполнения
арифметической операции числа из верхних регистров смещаются вниз. Действия,
выполняемые на стеке, называются операторами.
В вычислителе при вводе и выводе чисел используется десятичная система
счисления при показательной форме представления:
,
где М - нормализованная мантисса; ЕXP = 999 - порядок числа. Индикатор
вычислителя содержит 18 разрядов, из них 12 используется для отображения
мантиссы числа, 3 - для порядка, и по одному разряду для индикации знаков
мантиссы и порядка
Левое знакоместо предназначено для ввода отрицательного знака числа
командой /-/, далее помещаются 12 разрядов мантиссы числа, затем четыре
знакоместа служат для указания знака и величины двузначного порядка числа.
Порядок числа вводится командой [ВП] и набором его знака и величины на
клавиатуре. Знак числа вводится после его набора. При вводе числа, меньшего
единицы, в форме десятичной дроби количество нулей после запятой на единицу
меньше порядка числа. Запятая на табло отдельного знакоместа не занимает.
В приведенном выше примера показано число -1.23456789012 * 10-123.
Одноместные операции
Предварительная информация
5
FRS-100
Операции вычисления функции, аргумент которой задан одним числом,
вводимым в регистр X, называются одноместными. К ним относятся вычисления
прямых и обратных тригонометрических функций, степенных и логарифмических
функций, , 1/X. Результат одноместной операции записывается в регистре X,
содержимое других регистров стека при этом не изменяется, кроме регистра X1, в
который будет занесено число X. Например, для вычисления sin 12.345 необходимо
набрать на табло 12,345, а затем нажать клавишу [sin]. На дисплее высветится
(2.13797690291 -001), что означает sin 12.345 = 0.213797690291. Аргумент
тригонометрических функций может представляться как в градусах, так и в радианах
и градах. Для переключения между аргументами используются клавиши [DEG],
[RAD], [GRD] для градусов, радианов и градов соответственно.
При необходимости проверки величины введенного аргумента достаточно
дать команду F Вх ("восстановить содержимое X"). При этом найденный ранее sin
перемещается в регистр У и может быть выведен обратно в регистр Х командой <->, означающей обмен информацией между регистрами Х и Y.
Если при вычислениях требуется число Пи, то оно вызывается командой Пи.
Рассмотренные выше операции прямого и обратного перевода значений
углов также являются одноместными.
Двухместные операции
Двухместными называются операции над числами, находящимися в регистрах
Х и Y. Вводимые в вычислитель числа называются операндами.
Результат двухместной операции помещается в регистре X. При вводе нового
операнда этот результат переносится в регистр Y и становится объектом (первым
операндом) следующей двуместной операции. Таким образом, результаты как
одноместных, так и двухместных операций могут быть операндами последующей
операции. Вычисления, выполняемые в виде непрерывной последовательности
операций, называются цепочечными.
3.2.4. Режим "Программирование"
Объем программной памяти зависит от исполнения вычислителя, но не может
быть более 65535 шагов для одной программы. Емкость программной памяти может
быть расширена за счет использования других программ, хранимых постоянно в
ОЗУ. Переход по адресам в диапазоне 00..99 производится непосредственно
командами перехода (БП, ПП и условным переходам
@@@Для перехода по адресам во всем допустимом диапазоне необходимо
использовать команды косвенного перехода. При этом адрес перехода должен
находиться в необходимом регистре памяти.
Запись программы производится с клавиатуры кодированным способом. Коды
операций приведены в табл. *****.
Возможна также загрузка программы при помощи встроенного интерфейса
RS-232.
Предварительная информация
6
FRS-100
Для организации ветвления программы используются команды:
[БП xx] - безусловный переход. Выполняемая программа продолжит
выполнение с указанного адреса. В режиме автоматической работы программный
счетчик устанавливается на указанный адрес.
[ПП xx] - безусловный переход на подпрограмму. Производится переход на
подпрограмму с указанного адреса. Программа выполняется до появления команды
[В/0]. Допустимы вложенные переходы на подпрограммы. Глубина вложенных
переходов может быть не более ***** 16.
[В/0] - возврат из подпрограммы. В режиме "Автоматическая работа"
устанавливает программный счетчик на адрес 00000.
Условные переходы - четыре типа переходов по содержимому регистра X при
помощи команд: [x < 0]; [x = 0]; [x >= 0]; [x <> 0]. Если условие не выполняется, то
программа продолжает работу с указанного адреса, аналогично команде [БП]. Если
условие выполняется, то программа продолжит работу с очередного адреса.
Циклические переходы по регистрам 0, 1, 2, 3 производятся при помощи
команд [L0], [L1], [L2], [L3] соответственно. Если при выполнении команды в регистре
находится число, большее или равное двум, то из регистра вычитается единица и
выполнение продолжается с адреса, указанного параметром XX. В противном
случае программа выполняется с очередного адреса.
3.2.5. Работа с внешними устройствами (ВУ)
При работе с ВУ вычислитель позволяет производить:
1) ввод аналоговой информации от одного-восьми входов;
2) прием и передача информации по интерфейсу RS-232;
3) прием и передача информации по двухпроводному байт-ориентированному
интерфейсу;
4) формировать импульсы широтно-импульсной модуляции (ШИМ) с 8-и и 16и разрядной точностью;
5) производить счет импульсов (частоты следования импульсов);
6) принимать битовую информацию по восьми линиям в виде TTL-уровней;
7) принимать и передавать байтовую информацию в соответствии с
протоколом обмена с микросхемой КР580ВВ55 (i8255) - три восьмибитовых порта.
*** X.X. Специальные регистры занесения информации.
Специальные регистры занесения в сочетании с регистрами извлечения
представляют собой пары для обеспечения специальных функций вычислителя.
Доступ к регистрам занесения осуществляется при помощи команды с кодом 3С, за
которой следует код функции. Если не указано особо, функция занесение в регистр
происходит из регистра X. Различные допустимые коды функций описаны ниже.
Предварительная информация
7
FRS-100
P_00
Регистр сохранения значения часов (00..23).
Значение часов используется в часах реального времени.
P_01
Регистр сохранения значения минут (00..59).
Значение минут используется в часах реального времени.
P_02
Регистр сохранения значения секунд (00..59).
Значение минут используется в часах реального времени.
P_04
Регистр записи байта данных (числа в диапазоне 0..255) для передачи по
каналу RS-232.
При записи байта происходит его запись в внутренний стек для последующей
передачи по каналу RS-232. Если канал передачи пуст, то происходит немедленная
передача байта данных. Если стек записи байт полон, то выполнение программы
приостанавливается до передачи очередного байта по каналу RS-232. Длина стека
составляет 70 байт.
P_05 (не реализовано)
Запись регистра состояния/конфигурации канала RS-232
P_06
Установка (1) или сброс (0) сигнала Q5
P_07
Установка (1) или сброс (0) сигнала Q6
P_08
Установка (1) или сброс (0) сигнала Q7
Предварительная информация
8
FRS-100
P_09
Установка (1) или сброс (0) сигнала Q8
P_10
Установка значения регистра широтно-импульсной модуляции OC0.
Регистр может принимать значения от 0 до 255.
P_11
Установка значения регистра широтно-импульсной модуляции OC1A.
Регистр может принимать значения от 0 до 1023.
P_12
При записи любого числа в регистр P_12 включается запрет на прием
потоковых команд интерфейса RS-232. Это исключает возможность интерпретации
произвольной информации канала RS-232 как пакеты управляющих команд связи с
компьютером.
P_13
При записи любого числа в регистр P_12 выключается запрет на прием
потоковых команд интерфейса RS-232.
P_14
Сброс буфера приема RS-232. Очищает счетчик принятых байт.
P_19
Запись содержимого регистра X (1 байт) в порт PA микросхемы КР580ВВ55А.
Значение регистра X может принимать значения от 0 до 255.
P_20
Запись содержимого регистра X (1 байт) в порт PB микросхемы КР580ВВ55А.
Значение регистра X может принимать значения от 0 до 255.
P_21
Предварительная информация
9
FRS-100
Запись содержимого регистра X (1 байт) в порт PС микросхемы КР580ВВ55А.
Значение регистра X может принимать значения от 0 до 255.
P_22
Запись содержимого регистра X (1 байт) в регистр управления микросхемы
КР580ВВ55А. Значение регистра X может принимать значения от 0 до 255.
P_23
Сброс регистра задержки (см. стр. ***).
P_24
Установка задержки в миллисекундах. После занесения величины задержки
программа приостанавливается до истечения таймера задержки. При этом за
начало отсчета величины задержки принимается момент сброса регистра задержки
(см. регистр P_23), либо по истечению предыдущей задержки. Таким образом
пользователь может не учитывать время выполнения программы между
задержками.
Следует, однако, учесть, что некоторые команды вычислителя могут
выполняться дольше установленной очень малой величины задержки (единицы или
десятки миллисекунд).
P_25
Определение количества дополнительных регистров.
P_27
Запись из регистра X значения дискретности опроса регистра TCNT1 (в мсек).
P_31
Регистр записи байта данных из регистра Y (1 байт) в область памяти
"куча" (см. стр. ***) с номером из регистра X. Максимальный номер регистра 65535.
P_32
Регистр записи слова данных из регистра Y (2 байта) в область памяти "куча"
(см. стр. ***) с номером из регистра X. Максимальный номер регистра - 65535.
Предварительная информация
10
FRS-100
P_33
Регистр записи двойного слова данных из регистра Y (4 байта) в область
памяти "куча" (см. стр. ***) с номером из регистра X. Максимальный номер регистра 65535.
P_34
Регистр записи числа в формате с плавающей запятой из регистра Y (10
байт) в область памяти "куча" (см. стр. ***) с номером из регистра X. Максимальный
номер регистра - 65535.
P_36, P_37, P_38, P_39
Регистр формата ввода числа #1..#4.
Регистр формата ввода числа предназначен для определения четырех
различных форматов ввода чисел. Для определения необходимого параметра
необходимо заносить в соответствующую позицию требуемое число, руководствуясь
таблицей p36.
Данные регистры являются только регистрами описания формата ввода
числа. Для собственно ввода числа необходимо использовать регистры извлечения
IP36, IP37, IP38, IP39 соответственно.
Позиция ввода 11.00 10.00
Кол-во цифр
1.00 1.00
Наименование
K
J
9.00
1.00
I
8.00
1.00
H
7.00
1.00
G
6.00
1.00
F
5.00
1.00
E
4.00 3.00
2.00
D
C
2.00 1.00
2.00
B
A
Таблица p36
B, A
D, C
E
F
G
H
I
J
K
позиция ввода числа (01..18);
количество вводимых цифр (01..18);
1 - очищать поле ввода при начальном входе; 0 - не очищать поле ввода
1 - выводить "0." при очистке поля ввода; 0 - не выводить "0."
1 - допустим ввод запятой; 0 - ввод запятой игнорируется
зарезервировано
зарезервировано
1 - для выхода используется только клавиша "ENTER"; 0 - для выхода используется
любая клавиша, отличная от цифровой, клавиши "Cx" и "ENTER"
1 - ввод числа слева направо; 0 - справа налево
Пример: при начальном заполнении экрана вычислителя единицами
необходимо ввести целое число длиной до 5 знаков, начиная со второй
позиции, ввод чисел должен осуществляться слева направо. Перед вводом
первой цифры должна произойти очистка поля ввода.
Для определения формата ввода такого числа необходимо поместить "1"
в поля К, E, F. Таким образом, в регистр формата ввода числа заносится число
10000110502.
Предварительная информация
11
FRS-100
12
P_40
Регистр записи байта для передачи по интерфейсу TWI. Если TWI занят,
то программа приостанавливается. (*****см. работа по байт-ориентированному
последовательному интерфейсу).
P_41
Запись байта в регистр управления интерфейса TWI TWCR. (*****см.
работа по байт-ориентированному последовательному интерфейсу).
P_42
Запись байта в регистр адресата интерфейса TWI - TWAR. (*****см.
работа по байт-ориентированному последовательному интерфейсу).
P_43
Запись байта в регистр периода следования сигнала SCL интерфейса
TWI - TWBR. (*****см. работа по байт-ориентированному последовательному
интерфейсу). Частота сигнала SCL определяется формулой SCL freq =
16000000 / (16 + 2 * X)
Например, для установки частоты следования сигнала SCL в 100 кГц
необходимо записать в регистр число 72.
При включении вычислителя в регистр TWBR заносится число 72.
Установленная частота следования сигнала SCL используется также для
обращения к регистрам часов реального времени (микросхема DS1307) и
видеопроцессору.
P_44
Включение состояния START интерфейса TWI. (*****см. работа по байториентированному последовательному интерфейсу).
P_45
Включение состояния STOP интерфейса TWI. (*****см. работа по байториентированному последовательному интерфейсу).
P_50
Запись текущего времени и календаря в микросхему часов реального
Предварительная информация
12
FRS-100
13
времени.
P_51
Установка значения текущей даты (1..31). При установке значения день
недели вычисляется автоматически.
P_52
Установка значения текущего месяца (1..12). При установке значения
день недели вычисляется автоматически.
P_53
Установка значения текущего года (00..99). При установке значения день
недели вычисляется автоматически.
P_54
Установка значения текущего дня недели.
*** X.X. Специальные регистры извлечения
Специальные регистры извлечения в сочетании с регистрами занесения
представляют собой пары для обеспечения специальных функций
вычислителя. Так же, как и регистры занесения, доступ к регистрам извлечения
осуществляется при помощи команды с кодом 3D, за которой следует код
функции. Если не указано особо, функция извлечения заносит в регистр X
значение, соответствующее этой функции. Различные допустимые коды
функций описаны ниже.
IP_00
Вывод текущего значения часов (00..23).
IP_01
Вывод текущего значения минут (00..59).
IP_02
Вывод текущего значения секунд (00..59).
Предварительная информация
13
FRS-100
14
IP_04
Вывод значения байта, принятого по каналу RS-232. См. п. *** описания
работы с каналом RS-232. Если буфер приема RS-232 пуст, то программа
ожидает прихода байта в течение 3-х секунд. Если байт все же не пришел,
вырабатывается сообщение об ошибке.
IP_05
Вывод количества байт в буфере приема RS-232.
IP_06 (не реализовано)
Вывод значения кода нажатой клавиши (0..255). См. п. *** описания
работы с клавиатурой.
IP_07 (не реализовано)
Вывод содержимого регистра состояния клавиатуры (0..255). См. п. ***
описания работы с клавиатурой.
IP_09
Включение режима вывода на экран значения текущего времени и
календаря. Текущее время динамически изменяется на дисплее. Любая
клавиша выходит из этого режима.
IP_10, IP_11, IP_12, IP_13, IP_14, IP_15, IP_16, IP_17
Вывод значения каналов ADC0..ADC7 соответственно (0..1023). См. п. ***
описания работы с аналого-цифровым преобразователем.
IP_18 (не реализовано)
Вывод значения управляющего регистра ADC.
IP_19, IP_20, IP_21
Вывод содержимого портов PA, PB, PC соответственно микросхемы
КР580ВВ55А.
IP_22
Предварительная информация
14
15
FRS-100
Вывод значения регистра цифрового входа TTL. См. п. *** описания
работы с входом TTL.
IP_23
Вывод значения регистра задержки (в миллисекундах).
описания работы с блоком задержки.
См. п. ***
IP_25
Вывод установленного значения дополнительных регистров памяти. См.
п. *** описания работы с регистрами памяти.
IP_26
Вывод максимального значения дополнительных регистров памяти. См.
п. *** описания работы с регистрами памяти.
IP_27
Вывод
значения
дискретности
опроса
регистра
TCNT1
миллисекундах). См. п. *** описания работы с регистром счета импульсов.
(в
IP_28
Вывод значения регистра посчитанных импульсов за установленный
период. См. п. *** описания работы с регистром счета импульсов.
IP_29
Вывод текущего количества посчитанных импульсов за установленный
период. См. п. *** описания работы с регистром счета импульсов.
IP_30
Вывод значения регистра готовности регистра счета импульсов. См. п.
*** описания работы с регистром счета импульсов.
IP_31
Вывод байта информации (0..255) из области памяти "куча". См. п. ***
описания работы с областью памяти "куча".
Предварительная информация
15
FRS-100
16
IP_32
Вывод слова информации (два байта, диапазон: 0..65535) из области
памяти "куча". См. п. *** описания работы с областью памяти "куча".
IP_33
Вывод двойного слова информации (четыре байта, диапазон:
0..4294967295) из области памяти "куча". См. п. *** описания работы с
областью памяти "куча".
IP_34
Вывод числа в формате с плавающей запятой (10 байт) из области
памяти "куча". См. п. *** описания работы с областью памяти "куча".
IP_35 (не реализовано)
Вывод максимального значения возможного количества байт в области
памяти "куча". См. п. *** описания работы с областью памяти "куча".
IP_36, IP_37, IP_38, IP_39,
Ввод числа с клавиатуры, согласно формата, записанного в регистры
P_36, P_37, P_38, P_39 соответственно и вывод введенного значения в регистр
X. В регистр Y помещается код клавиши подтверждения. См. п. *** описания
формата ввода чисел.
IP_40
Вывод содержимого регистра состояния интерфейса TWI. Содержит код.
Соответствующий режиму работы TWI (*****см. работа по байториентированному последовательному интерфейсу).
IP_42
Вывод идентификатора адресата интерфейса TWI (*****см. работа по
байт-ориентированному последовательному интерфейсу).
IP_43
Вывод содержимого регистра периода следования сигнала SCL (*****см.
работа по байт-ориентированному последовательному интерфейсу).
Предварительная информация
16
FRS-100
17
IP_44
Чтение и вывод байта данных интерфейса TWI в режиме “Master
receiver”, передача сигнала подтверждения ACK (*****см. работа по байториентированному последовательному интерфейсу).
IP_45
Чтение и вывод байта данных интерфейса TWI в режиме “Master
receiver”, без передачи сигнала подтверждения ACK (*****см. работа по байториентированному последовательному интерфейсу).
IP_46
Вывод содержимого регистра конфигурации интерфейса TWI (TWCR).
(*****см. работа по байт-ориентированному последовательному интерфейсу).
IP_47
Вывод содержимого регистра состояния интерфейса TWI (TWSR).
(*****см. работа по байт-ориентированному последовательному интерфейсу).
IP_50
Чтение значений текущего времени и календаря часов реального
времени. Данная операция производится также автоматически при включении
вычислителя.
IP_51
Вывод текущей даты (1..31)
IP_52
Вывод текущего месяца (1..12)
IP_53
Вывод текущего года
IP_54
Вывод текущего дня недели (1..7)
Предварительная информация
17
18
FRS-100
Коды команд
Все коды команд показаны в шестнадцатеричном формате.
00..09
[0], [1], .., [9]
Команды ввода цифр от 0 до 9.
0A
[.]
Команда ввода десятичной запятой
0B
[/-/]
Команда изменения знака числа или порядка
0С
[ВП]
Команда ввода порядка числа
0D
[Cx]
Команда очистки содержимого регистра X, сброс состояния ошибки.
0E
[Enter]
Команда разделения вводимых чисел и продвижения информации в
стеке. При этом содержимое регистра X переносится в регистр Y, содержимое
регистра Y переносится в регистр Z и т. д.
0F
[Bx]
Извлечение числа из регистра предыдущего результата.
10
[+]
Сложение числа из регистра X с числом из регистра Y и помещением
Предварительная информация
18
19
FRS-100
результата в регистр X.
11
[-]
Вычитание содержимого регистра Y из содержимого регистра X и
помещение результата в регистр X.
12
[*]
Умножение содержимого регистра Y на содержимое регистра X
13
[/]
Деление содержимого регистра Y на содержимое регистра X
14
[<-->]
Обмен содержимого регистров X и Y
15
[10Х]
Вычисление антилогарифма от X
16
[ex]
Вычисление экспоненты от Х
17
[Log]
Вычисление десятичного логарифма от X
18
[Ln]
Вычисление натурального логарифма от Х
19
[Sin-1]
Вычисление арксинуса от X
1A
[Cos-1]
Предварительная информация
19
20
FRS-100
Вычисление арккосинуса от X
1B
[Tan-1]
Вычисление арктангенса от X
1C
[Sin]
Вычисление синуса от Х
1D
[Cos]
Вычисление косинуса от Х
1E
[Tan]
Вычисление тангенса от Х
20
[Пи]
Занесение константы Пи=3.141592653589793 в регистр Х
21
[]
Извлечение квадратного корня содержимого X
22
[X2]
Возведение в квадрат содержимого Х
23
[1/x]
Вычисление обратной величины от X
24
[XY]
Возведение числа X в степень Y
25
[]
Кольцевое передвижение информации в стеке чисел:
Предварительная информация
20
21
FRS-100
Содержимое остальных регистров стека остается неизменным
26
[O ' ->]
Перевод величин, выраженных в градусах (часах), минутах и долях
минуты в значения выраженные в градусах (часах) и долях градусов (часов)
27
[DEG]
Включение
режима
вычисления
тригонометрических функций - в градусах.
28
представления
аргументов
представления
аргументов
[GRA]
Включение
режима
вычисления
тригонометрических функций - в градах.
2A
аргументов
[RAD]
Включение
режима
вычисления
тригонометрических функций - в радианах.
29
представления
[O ' " ->]
Перевод величин, выраженных в градусах (часах), минутах, секундах и
долях секунды в значения выраженные в градусах (часах) и долях градусов
(часов)
2B
[CLS]
Очистка содержимого дисплея (в режиме выполнения программы)
2С
[ || ]
Вычисление формулы X * Y / (X + Y). Данную формулу можно
использовать, например, для вычисления сопротивления резисторов,
включенных параллельно.
30
[O' " <-]
Перевод величин, выраженных в градусах (часах) и долях градусов
(часов) в величины, выраженные в градусах (часах), минутах, секундах и долях
секунды
Предварительная информация
21
22
FRS-100
31
[ |X| ]
Вычисление абсолютной величины X
32
[ Sign(x) ]
Определение знака числа (в регистр X помещается число 1, если число
положительное, -1, если число отрицательное и 0, если число = 0)
33
[O ' <-]
Перевод величин, выраженных в градусах (часах) и долях градусов
(часов) в величины, выраженные в градусах (часах), минутах и долях минуты
34
[ [X] ]
Отделение целой части числа
35
[ {X} ]
Отделение дробной части числа
36
[Max]
Определение максимального из чисел, находящихся в регистрах X и Y
37
[AND]
Вычисление логической функции И над двоичным представлением
регистров X и Y
38
[OR]
Вычисление логической функции ИЛИ над двоичным представлением
регистров X и Y
39
[XOR]
Вычисление логической функции ИСКЛЮЧАЮЩЕЕ ИЛИ над двоичным
представлением регистров X и Y
3A
[NOT] не реализовано
Предварительная информация
22
23
FRS-100
Инвертирование двоичного представления содержимого X
3B
[Сч]
Формирование случайного числа в диапазоне от 0. до 1.
3С
Занесение
информации.
3D
[ПСР] [xx]
содержимого
X
в
специальный
регистр
занесения
[ИПСР] [xx]
Извлечение числа из содержимого специального регистра извлечения
информации.
3E
[]
???
40..4E
[П] [n]
Занесение содержимого X в регистр памяти с номерами n=0..9, A, B, C,
D, E соответственно кодов 40..49, 4A, 4B, 4C, 4D, 4E
4F
[П(X)]
Занесение содержимого Y в регистр памяти с номером, находящимся в
регистре X
50
[С/П]
Команда старта / останова программы
51
[БП] [xx]
Команда безусловного перехода по адресу xx (00-99). Для перехода к
адресам, имеющим адрес более 99 необходимо использовать команду
косвенного перехода [К БП]. См. также п. **** "Режим программирования".
52
[В/0]
Предварительная информация
23
24
FRS-100
Команда возврата из подпрограммы (во время выполнения программы).
Команда перехода к адресу 0 (во время автоматической работы)
53
[ПП] [xx]
Переход на подпрограмму с адресом xx (в режиме выполнения
программы). Выполнение одного шага программы (в режиме автоматической
работы)
54
[НОП]
Команда отсутствия операции
55
[Displ] [xy]
Выводит содержимое регистра X на дисплей в формате с
фиксированной запятой. Параметр X определяет количество знаков,
резервируемых до запятой (включая знак), Y определяет количество знаков
после запятой. См. также [Pos]
56
[Pos] [xx]
Установка позиции для последующего вывода чисел на дисплей.
Параметр XX может принимать значения от 1 до 18.
57
[x <> 0] [xx]
Проверка выполнения условия "X не равно 0". Если условие не
выполняется, то выполнение программы продолжается с адреса, указанного
параметром XX. В противном случае программа выполняется со следующего
адреса.
58
[L2] [xx]
Команда организации циклов с регистром 02. Если при выполнении
команды в регистре находится число, большее или равное двум, то из регистра
вычитается единица и выполнение продолжается с адреса, указанного
параметром XX. В противном случае программа выполняется со следующего
адреса.
59
[x >= 0]
Проверка выполнения условия "X больше или равно 0". Если условие не
выполняется, то выполнение программы продолжается с адреса, указанного
Предварительная информация
24
25
FRS-100
параметром XX. В противном случае программа выполняется со следующего
адреса.
5A
[L3] [xx]
Команда организации циклов с регистром 03. Если при выполнении
команды в регистре находится число, большее или равное двум, то из регистра
вычитается единица и выполнение продолжается с адреса, указанного
параметром XX. В противном случае программа выполняется со следующего
адреса.
5B
[L1] [xx]
Команда организации циклов с регистром 01. Если при выполнении
команды в регистре находится число, большее или равное двум, то из регистра
вычитается единица и выполнение продолжается с адреса, указанного
параметром XX. В противном случае программа выполняется со следующего
адреса.
5C
[x < 0]
Проверка выполнения условия "X меньше 0". Если условие не
выполняется, то выполнение программы продолжается с адреса, указанного
параметром XX. В противном случае программа выполняется со следующего
адреса.
5D
[L0] [xx]
Команда организации циклов с регистром 00. Если при выполнении
команды в регистре находится число, большее или равное двум, то из регистра
вычитается единица и выполнение продолжается с адреса, указанного
параметром XX. В противном случае программа выполняется со следующего
адреса.
5E
[x = 0]
Проверка выполнения условия "X равно 0". Если условие не
выполняется, то выполнение программы продолжается с адреса, указанного
параметром XX. В противном случае программа выполняется со следующего
адреса.
5F
[LX] [yy]
Команда организации циклов с регистром, номер которого указан в
регистре X. Если при выполнении команды в регистре находится число,
Предварительная информация
25
26
FRS-100
большее или равное двум, то из регистра вычитается единица и выполнение
продолжается с адреса, указанного параметром YY. В противном случае
программа выполняется со следующего адреса.
60..6E
[ИП] [n]
Извлечение содержимого регистра памяти с номерами n=0..9, A, B, C, D,
E в регистр X, соответственно кодов 60..69, 6A, 6B, 6C, 6D, 6E
6F
[ИПx]
Извлечение содержимого регистра памяти номер которого указан в
регистре X.
70..7E
[KX<>0] [n]
Проверка выполнения условия "X не равно 0". Если условие не
выполняется, то выполнение программы продолжается с косвенного адреса,
номер которого указан содержимым регистра n=0, 1, ..., 9, A, B, C, D, E. В
противном случае программа выполняется со следующего адреса. Перед
выполнением сравнения содержимое регистра изменяется (см. "изменение
содержимого регистров при косвенных вызовах", стр. !!!!).
7F
[KY<>0x]
Проверка выполнения условия "Y не равно 0". Если условие не
выполняется, то выполнение программы продолжается с косвенного адреса,
номер которого указан содержимым регистра, номер которого находится в
регистре X. В противном случае программа выполняется со следующего
адреса.
80..8E
[К БП] [n]
Косвенный переход к программе и по адресу, номер которого указан
содержимым регистра n=0, 1, ..., 9, A, B, C, D, E. См. "Организация
взаимодействия между программами", п. *****
8F
[КБПx]
Косвенный переход к программе и по адресу, номер которого указан
содержимым регистра X. См. "Организация взаимодействия между
программами", п. *****
Предварительная информация
26
27
FRS-100
90..9E
[KX>=0] [n]
Проверка выполнения условия "X больше, либо равно 0". Если условие
не выполняется, то выполнение программы продолжается с косвенного адреса,
номер которого указан содержимым регистра n=0, 1, ..., 9, A, B, C, D, E. В
противном случае программа выполняется со следующего адреса. См. также
"Организация взаимодействия между программами", п. *****
9F
[KY>=0x]
Проверка выполнения условия "Y больше, либо равно 0". Если условие
не выполняется, то выполнение программы продолжается с косвенного адреса,
номер которого указан содержимым регистра, номер которого находится в
регистре X. В противном случае программа выполняется со следующего
адреса. См. "Организация взаимодействия между программами", п. *****
A0..AE
[К ПП] [n]
Косвенный переход на подпрограмму по адресу, номер которого указан
содержимым регистра n=0, 1, ..., 9, A, B, C, D, E. См. "Организация
взаимодействия между программами", п. *****
AF
[К ППx]
Косвенный переход на подпрограмму по адресу, номер которого указан
содержимым регистра X. См. "Организация взаимодействия между
программами", п. *****
B0..BE
[К П] [n]
Косвенное сохранение содержимого регистра X в ячейку памяти, номер
которой указан содержимым регистра n=0, 1, ..., 9, A, B, C, D, E. Перед
сохранением содержимое регистра изменяется (см. "изменение содержимого
регистров при косвенных вызовах", стр. !!!!).
BF
[КПx]
Косвенное сохранение содержимого регистра Y в ячейку памяти, номер
которой указан содержимым регистра X.
C0..CE
[KX<0] [n]
Проверка выполнения условия "X меньше 0". Если условие не
выполняется, то выполнение программы продолжается с косвенного адреса,
номер которого указан содержимым регистра n=0, 1, ..., 9, A, B, C, D, E. В
Предварительная информация
27
28
FRS-100
противном случае программа выполняется со следующего адреса
@@См. "Организация взаимодействия между программами", п. *****
CF
[KY<0x]
Проверка выполнения условия "Y меньше 0". Если условие не
выполняется, то выполнение программы продолжается с косвенного адреса,
номер которого указан содержимым регистра, номер которого находится в
регистре X. В противном случае программа выполняется со следующего
адреса. См. "Организация взаимодействия между программами", п. *****
D0..DE
[К ИП] [n]
Косвенное извлечение содержимого ячейки памяти, номер которой
указан содержимым регистра n=0, 1, ..., 9, A, B, C, D, E, в регистр X. Перед
сохранением содержимое регистра изменяется (см. "изменение содержимого
регистров при косвенных вызовах", стр. !!!!).
DF
[К ИПx]
Косвенное извлечение содержимого ячейки памяти, номер которой
указан содержимым регистра X.
E0..EE
[KX=0] [n]
Проверка выполнения условия "X равно 0". Если условие не
выполняется, то выполнение программы продолжается с косвенного адреса,
номер которого указан содержимым регистра n=0, 1, ..., 9, A, B, C, D, E. В
противном случае программа выполняется со следующего адреса. См.
"Организация взаимодействия между программами", п. *****
EF
[KY=0x]
Проверка выполнения условия "Y равно 0". Если условие не
выполняется, то выполнение программы продолжается с косвенного адреса,
номер которого указан содержимым регистра, номер которого находится в
регистре X. В противном случае программа выполняется со следующего
адреса. См. также "Организация взаимодействия между программами", п. *****
FF
[Reset]
Перезапуск вычислителя.
Предварительная информация
28
29
FRS-100
Изменение содержимого регистров при косвенных вызовах
При косвенных переходах, а также при косвенных сохранениях и
извлечениях из регистра для получения адреса перехода используется
содержимое регистра косвенного вызова, номер которого указывается
непосредственно в команде. Например, при выполнении команды [K П 6] в
качестве регистра косвенного вызова будет использован регистр 6.
Перед выполнением команды содержимое регистра косвенного вызова
специальным образом изменяется:
1. Из находящегося в регистре числа отделяется целая часть.
2. Над полученной целой частью производятся вычисления:
- для регистров 0, 1, 2, 3 - вычитается единица;
- для регистров 4, 5, 6 - прибавляется единица;
- остальные регистры не изменяются.
Таким образом, если в регистре 6 находилось число 3.2, то при
выполнении команды [К П 6] число из регистра X сохранится в регистре 4, и в
регистре 6 будет записано число 4.
Организация взаимодействия между программами
В вычислителе предусмотрено сохранение программ пользователя в
области долговременного ОЗУ. Каждая программа, записываемая в ОЗУ,
имеет идентификатор в виде названия программы длиной до 15 символов,
номера группы и номера программы в группе. Всего может быть до 65535
номеров групп с номерами от 00001 до 65535, и 65535 номеров программ в
группе.
Программы объединяются в группы программ. Если программа
обращается к какой либо программе внутри одной группы, то указывается
номер группы, равным нулю. Таким образом достигается возможность
создания библиотек программ.
Для взаимодействия с файловой системой вычислителя используются
следующие команды:
STORE
Рег.Х.: 19.[xxxxx][yyyyy]
Код: 90
Сохраняет редактируемую программу в ОЗУ с указанным номером
группы и номером программы в группе. Если программа с данными атрибутами
уже имеется в ОЗУ, то та программа стирается и заменяется новой
@@Если параметр xxxxx = 0 и yyyyy = 0, то в качестве номеров группы и
программы в группе берутся соответствующие номера редактируемой
программы.
Предварительная информация
29
30
FRS-100
RECALL
Рег.Х.: 19.xxxxxyyyyy
Код: 91
Загружает программу с указанным номером группы и
программы в группе из ОЗУ в область редактируемой программы.
DELETE
Рег.Х.: 19.xxxxxyyyyy
номером
Код: 92
Удаляет программу с указанным номером группы и номером программы
в группе из ОЗУ.
RENAME
Рег.Х.: 19.xxxxxyyyyy
Код: 93
Переименовывает программу в ОЗУ с указанным номером группы и
номером программы в группе в номер группы и программы в группе,
являющиеся текущими.
SETLNG
Рег.Х.: 19.xxxxx
Код: 94
Резервирует xxxxx байт ОЗУ для хранения редактируемой программы.
Если параметр xxxxx = 0, то резервируется 100 байт.
GETLNG
1.xxxxx -> Рег.Х.
Код: 95
Загружает в регистр X количество байт ОЗУ, зарезервированное для
хранения редактируемой программы в формате 1.xxxxx. Например, если
зарезервировано 100 байт, то в регистр X загрузится число 1.001.
GETFREE
1.xxxxx -> Рег.Х.
Код: 96
Загружает в регистр X максимально возможное количество байт для
редактируемой программы.
SETNAME
Рег.Х.: 19.xxxxxyyyyy
Код: 97
Устанавливает текущий номер группы и программы в группе.
GETNAME
1.xxxxxyyyyy -> Рег.Х.
Код: 98
Загружает в регистр X текущий номер группы и программы в группе.
NEW
Код: 99
Заполняет байты области редактируемой программы значениями 00 и
Предварительная информация
30
31
FRS-100
устанавливает программный счетчик на адрес 00.
RUN
Рег.Х.: 19.xxxxxyyyyyzzzzz
Код: 9A
Запускает программу в ОЗУ с указанным номером группы xxxxx и
номером программы в группе yyyyy с шага zzzzz.
DIR
Код: 9B
Выводит на дисплей директорий хранимых в ОЗУ программ в формате:
AAA.BBBBB.CCCCC.DDDDD
AAA - номер по порядку, 001...999
BBBBB - номер группы
CCCCC - номер программы в группе
DDDDD - длина программы в байтах
При выводе параметра очередной программы необходимо нажать
любую клавишу.
Блок аналогово-цифровых преобразователей
Блок аналогово-цифровых преобразователей позволяет измерять
напряжения по восьми каналам в диапазоне от 0 вольт до значения
напряжения на входе VREF. Стандартно вход VREF соединен с линией +5 В.
Блок счета внешних импульсов
Блок параллельного порта КР580ВВ55А
Блок TTL входов
Блок хранения байтов данных
Блок интерфейса TWI (Two Wire Interface - Двухпроводной
интерфейс)
Предварительная информация
31
FRS-100
32
Команда XX YY ZZ
Передача массива информации по интерфейсу TWI длиной ZZ байт
(коды начинаются сразу после кода этой команды).
йцуйцуйцуйцу
Предварительная информация
32
Скачать