- •Содержание
- •Заключение 107 список используемой литературы 108 введение
- •1. Микропроцессорный контроллер dl205
- •1.1. База контроллера dl205
- •1.2. Центральный процессор dl240
- •1.2.1. Основные характеристики цп dl240
- •1.2.2. Аппаратные средства цп
- •1.3. Входные и выходные модули
- •1.3.1. Типы входных/выходных модулей
- •1.3.2. Дискретные входные модули
- •1.3.3. Дискретные выходные модули
- •1.4. Системные операции цп
- •1.4.1. Режимы работы цп
- •1.4.2. Цикл выполнения программы
- •1.4.3. Считывание входов
- •1.4.4. Обслуживание периферии и возбуждение входов/выходов
- •1.4.5. Время отклика «вход-выход»
- •1.4.6. Время сканирования цп
- •1.5. Организация памяти данных
- •1.5.1. Дискретная память и слово памяти
- •1.5.2. Типы данных
- •1.6. Выводы по разделу 1
- •2. DirectSoft программирование
- •2.1. Представление окна программирования
- •2.2. Описание программного окна
- •2.3.2. Редактор параметров команд
- •2.3.3. Панель редактирования
- •2.4. Выводы по разделу 2
- •3. Система команд микроконтроллера dl205
- •3.1. Булевы операции
- •3.2. Сравнительные булевы операции
- •3.3. Таймеры и счетчики
- •3.4. Команды работы с аккумулятором.
- •3.5. Логические команды
- •3.6. Математические команды
- •3.7. Команды операций с битами
- •3.8. Команды преобразования чисел
- •3.9. Команды, контролирующие работу цп.
- •3.10. Команды контроля программы.
- •3.11. Команды операций с таблицами данных
- •3.12. Выводы по разделу 3.
- •4. Лабораторные работы
- •4.1. Лабораторная работа №1. «Изучение программирования булевых операций»
- •4.1.1. Цель работы
- •4.1.2. Теоретическое введение
- •4.1.3. Задание к самостоятельной подготовке
- •4.1.4. Задание и порядок выполнения работы
- •4.1.5. Контрольные вопросы
- •4.2. Лабораторная работа №2. Изучение программирования логических команд (типа Box)
- •4.2.1. Цель работы
- •4.2.2. Теоретическое введение
- •4.2.3. Задание к самостоятельной подготовке
- •4.2.4. Порядок выполнения работы
- •4.2.5. Контрольные вопросы
- •4.3. Лабораторная работа №3. «Изучение математических команд и методовпрограммирования таймеров»
- •4.3.1. Цель работы
- •4.3.2. Теоретическое введение
- •4.3.3. Задание к самостоятельной подготовке
- •4.3.4. Порядок выполнения работы
- •4.3.5. Контрольные вопросы
- •4.4. Лабораторная работа №4. «Изучение методов программирования счетчиков»
- •4.4.1. Цель работы
- •4.4.2. Теоретическое введение
- •4.4.3. Задание к самостоятельной подготовке
- •4.4.4. Порядок выполнения работы
- •4.4.5. Контрольные вопросы
- •4.5. Выводы по разделу 4
- •5. Эргономический анализ системы отображения информации
- •5.1. Общая характеристика конкретной системы отображения информации (сои) и связь с темой дипломного проекта
- •5.2. Психофизиологические требования к сои
- •5.3. Условия использования сои. Дистанция и угол наблюдения, освещенности, контрастность. Соответствие потока информации возможности оператора
- •5.4. Реализация требований к предъявляемой информации
- •5.5. Расчет размеров знаков и символов
- •5.6. Пульт управления и компоновка рабочего места оператора
- •5.7. Выводы по разделу
- •Заключение
- •Список используемой литературы
3.6. Математические команды
Математические операции выполняются между числами, представленными в двоично-десятичных кодах. Результат операции помещается в аккумулятор.
Дискретный бит флага |
Описание |
SP63 |
Включен, когда после выполнения команды, значение в аккумуляторе равно нулю. |
SP66 |
Включен, когда выполнение 16-ти разрядной команды приводит к переносу. |
SP67 |
Включен, когда выполнение 32-х разрядной команды приводит к переносу. |
SP70 |
Включен, когда значение в аккумуляторе отрицательное. |
SP75 |
Включен, когда при выполнении команды встретилось число не в двоично-десятичном коде. |
Таблица 3.13. Дискретные биты флагов состояний математических команд
Команда Add (см. рис. 3.18.а) складывает значения в аккумуляторе и в ячейке памяти с адресом (Vaaa). Данная команда оперирует с 16-ти разрядными величинами.
Команда Add Double (см. рис. 3.18.б) складывает значение в аккумуляторе и значение операнда Aaaa. Операнд может указывать на содержимое двух последовательных ячеек V-памяти, начиная с Aaaa, или быть 8-и разрядной константой. Данная команда оперирует с 32-х разрядными величинами.
Команда Subtract (см. рис. 3.18.в) вычитает значение операнда Aaaa из значения, находящегося в младших 16 битах аккумулятора. Операнд может указывать на содержимое ячейки V-памяти или быть 4-х разрядной константой. Данная команда оперирует с 16-ти разрядными величинами.
К
Рис.
3.18. Обозначение математических команд
последовательных ячеек V-памяти, начиная с Aaaa, или быть 8-и разрядной константой. Данная команда оперирует 32-х разрядными величинами.
Команда Multiply (см. рис. 3.18.д) умножает значение операнда Aaaa на число, находящееся в младших 16 битах аккумулятора. Операнд может указывать на содержимое ячейки V-памяти или быть 4-х разрядной константой. Данная команда оперирует 16-ти разрядными величинами.
Команда Divide (см. рис. 3.18.е) делит содержимое аккумулятора на значение операнда Aaaa. Операнд может указывать на содержимое ячейки V-памяти или быть 4-х разрядной константой. При выполнении операции целая часть частного хранится в аккумуляторе, а остаток находится в первом уровне стека. Данная команда оперирует 16-ти разрядными величинами.
Команда(см. рис. 3.19.а) увеличивает двоичное значение в указанной ячейке V-памяти на 1 каждый раз, когда она выполняется.
К
Рис.
3.19. Обозначение
команд
Increment Binary и
Decrement Binary
3.7. Команды операций с битами
Команда Shift Left (см. рис. 3.20.а) сдвигает биты в аккумуляторе влево на указанное число (Aaaa) битов. Освобожденные правые позиции в аккумуляторе заполняются нулями, а смещенные левые – отбрасываются. Данная команда оперирует с 32-х разрядными величинами. Типы операндов для данной команды представлены в табл. 3.14.
-
Тип операнда
Обозначение (А)
Диапазон
aaa
V-память
V
см. таблицу 1.9.
Константа
K
1 – 32
Таблица 3.14. Типы операндов для команд семейства Shift
Команда Shift Right (см. рис. 3.20.б) сдвигает биты в аккумуляторе вправо на указанное число (Aaaa) битов. Освобожденные левые позиции в аккумуляторе заполняются нулями, а смещенные правые – отбрасываются. Данная команда оперирует с 32-х разрядными величинами. Типы операндов для данной команды представлены в табл. 3.14.
Команда Encode (см. рис. 3.20.в) кодирует позицию бита в аккумуляторе, который содержит “1”, и возвращает соответствующее номеру этой позиции двоичное представление. Если старший бит (бит 31) аккумулятора будет установлен в “1”, то данная команда поместит шестнадцатеричный эквивалент числа 31, а именно 1F, в аккумулятор. Если будут кодироваться числа 0000 или 0001, то данная команда поместит в аккумулятор 0. Если в кодируемой величине число битов, содержащих “1”, больше одного, то самый младший из них будет закодирован и включится флаг SP53.
Команда Decode (см. рис. 3.20.г) выполняет действия, обратные команде Encode. Она декодирует 5-и разрядную двоичную величину, соответствующую десятичной величине 0 – 31 шестнадцатеричной 0 – 1F в аккумуляторе. Эта величина представляет собой номер позиции, на которую данная команда поместит “1”. Если аккумулятор содержит значение F (шестнадцатеричное), то данная команда поместит “1” в 15-й разряд аккумулятора. Если декодируемая величина больше 31, то она будет делиться на 32, пока не станет меньше 32-х, а затем будет декодирована /3/.
Рис. 3.20. Обозначение
команд операций с битами