- •Российская открытая академия транспорта микропроцессорные информационно-управлчющие системы
- •Микроконтроллеры серии 1830ве51
- •1.1. Структурная схема микроконтроллера 1830ве51
- •1.1.1. Блок управления
- •1.1.2. Арифметико-логический блок
- •1.1.3. Организация памяти программ
- •1.1.4. Резидентная память данных
- •1.1.7. Таймеры/счетчики
- •1.1.5. Счетчик команд и регистр указателя данных
- •1.1.6. Регистр указателя стека
- •Режимы работы таймера/счетчика
- •1.1.8. Блок последовательного интерфейса и прерываний
- •1.1.9. Порты мк51
- •1.1.10. Начальная установка и режимы работы мк51
- •1.2. Система команд микроконтроллера 1830ве51
- •1.2.1. Команды пересылки данных
- •1.2.2. Команды арифметических операций
- •1.2.3. Команды логических операций
- •1.2.4. Команды операций над битами
- •1.2.5. Команды передачи управления
- •1.3. Структурная организация систем на основе микроконтроллеров
- •1.3.1. Подключение внешней памяти
- •1.3.2. Расширение каналов ввода/вывода информации
- •2. Программная реализация типовых вычислительных процедур
- •2.1 Типовые структуры схем алгоритмов обработки данных
- •2.2 Приемы программирования
- •2.3 Примеры программ обработки данных в мк51
- •2.3.1 Примеры использования команд передачи данных
- •2.3.2 Примеры использования команд арифметических операций
- •2.3.3 Примеры использования команд логических операций
- •3. Применение микропроцессорных информационно-управляющих систем на железнодорожном транспорте
- •3.1. Классификация микропроцессорных информационно-управляющих систем на железнодорожном транспорте
- •3.2 Автоматизированные системы управления и контроля движения поездов
- •3.3 Автоматизированные системы диспетчерского контроля
- •3.4 Информационные системы обслуживания пассажиров
- •Литература
1.1.2. Арифметико-логический блок
Восьмиразрядный АЛБ предназначен для выполнения арифметических операций: сложение, вычитание, умножение и деление; логических операций: И, ИЛИ, исключающие ИЛИ, циклического сдвига, сброса, инвертирования и т.д. АЛБ включает в себя следующие функциональные узлы:
Восьмиразрядное ALU, которое позволяет выполнять арифметические и логические операции над 4 типами данных: булевскими (1 бит), цифровыми (4 бита), байтовыми (8 бит) и адресными (16 бит);
Аккумулятор – восьмиразрядный параллельный регистр, предназначенный для хранения одного из операндов АЛУ, приема результата арифметико-логической операции, ряда операций передачи данных. Кроме этого, операции сдвигов, проверка их на ноль, формирование флага паритета, выполняются только над содержимым Аккумулятора;
Регистр В – восьмиразрядный параллельный регистр, предназначенный для хранения второго операнда при выполнении операции умножения и деления. В остальных случаях может использоваться как любой другой программно доступный регистр;
Два восьмиразрядных, программно-недоступных, регистра временного хранения операндов Т1 и Т2;
Схема десятичной коррекции DCU;
Регистр признаков (PSW) – предназначен для хранения признаков (флагов), вырабатываемых АЛУ при выполнении многих операций. В табл.1.2 приведено мнемоническое имя, назначение и способ установки разрядов регистра PSW.
Таблица 1.2
Разряд |
Имя |
Назначение битов |
Доступ к битам |
|
PSW.7 |
C |
Флаг переноса. Изменяется во время выполнения некоторых арифметических и логических команд |
аппаратный или программный |
|
PSW.6 |
AC |
Флаг промежуточного переноса устанавливается/сбрасывается при возникновении/отсутствии переноса или заема в бите 3 при образовании младшего полубайта результата |
аппаратный или программный |
|
PSW.5 |
F0 |
Флаг 0. Флаг состояния определенный пользователем. |
программный |
|
PSW.4 |
RS1 |
Указатель банка рабочих регистров. |
программный |
|
PSW.3 |
RS0 |
Указатель банка рабочих регистров. |
программный |
|
|
RS1 |
RS0 |
|
|
0 |
0 |
Банк 0 с адресами (00Н-07Н) |
|
|
0 |
1 |
Банк 1 с адресами (08Н-0FН) |
|
|
1 |
0 |
Банк 2 с адресами (10Н-17Н) |
|
|
1 |
1 |
Банк 3 с адресами (18Н-1FН) |
|
|
PSW.2 |
OV |
Флаг переполнения. |
аппаратный или программный |
|
PSW.1 |
- |
Резервный. Содержит триггер, который можно использовать. |
программный |
|
PSW.0 |
P |
Бит четности |
аппаратный или программный |
|
Флаг переполнения OV устанавливается, если возник перенос в знаковый разряд, а из знакового разряда перенос отсутствует (индикатор переполнения разрядной сетки) при выполнении операций сложение/вычитание. При выполнении операции деления флаг OV аппаратно сбрасывается, а в случае деления на ноль устанавливается. При выполнении операции умножения флаг OV аппаратно устанавливается, если результат больше 255.
Флаг Р является дополнением содержимого Аккумулятора до четности в девятиразрядном слове состоящем из восьми разрядов Аккумулятора и бита P, число один всегда четное. Если в Аккумуляторе все разряды установлены в ноль, то Р=0. Этот бит программно доступен только по чтению.
