- •Российская открытая академия транспорта микропроцессорные информационно-управлчющие системы
- •Микроконтроллеры серии 1830ве51
- •1.1. Структурная схема микроконтроллера 1830ве51
- •1.1.1. Блок управления
- •1.1.2. Арифметико-логический блок
- •1.1.3. Организация памяти программ
- •1.1.4. Резидентная память данных
- •1.1.5. Счетчик команд и регистр указателя данных
- •1.1.6. Регистр указателя стека
- •1.1.7. Таймеры/счетчики
- •Режимы работы таймера/счетчика
- •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.1. Блок управления
Блок управления предназначен для выработки синхронизирующих и управляющих сигналов. В состав БУ входят:
Устройство выработки временных интервалов;
Логика ввода/вывода;
Регистр команд;
Регистр управления энергопотреблением;
Дешифратор команд;
ПЛМ и логика управления микро-ЭВМ.
Устройство выработки временных интерваловпредназначено для формирования внутренних синхросигналов, которые определяют продолжительность выполнения команд. Практически все команды выполняются за 1 или 2 машинных цикла, кроме команд умножения и деления (время выполнения последних составляет 4 машинных цикла). Машинный цикл включает в себя шесть состояний S1…S6, каждый из которых состоит из двух фаз Р1 и Р2. Длительность каждой фазы равна периоду следования синхроимпульсов, который задается частотой кварцевого резонатора, подключаемого к выводам XTAL1 и XTAL2 МК51, или резонансной частотой LC контура, или внешним генератором. Схема подключения элементов к МК51 показаны на рис. 1.3.
|
Cв=10 пФ |
Рис. 1.3. Схема подключения цепей синхронизации к МК51
Все машинные циклы МК51 одинаковые и состоят из 12 периодов сигнала XTAL. Машинный цикл состоит из шести состояний S1…S6, каждый из которых включает в себя две фазы P1 и P2 (рис. 1.4). Длительность фазы равна периоду следования внешнего тактового сигнала.
Рис. 1.4. Диаграмма формирования машинных циклов МК51
Дважды за машинный цикл формируется сигнал ALE, который используется в качестве стробирующего импульса, для записи младшей части адреса внешней памяти.
Логика ввода/вывода предназначенадля приема и выдачи сигналов, обеспечивающих обмен информацией МК51 с внешними устройствами через порты ввода/вывода Р0…Р3.
Регистр командпредназначен для записи и хранения кода текущей команды. Команда с помощью дешифратора команд преобразовывается в 24-разрядный код управления ПЛМ. Последняя вырабатывает набор микроопераций в соответствии с микропрограммой выполняемой команды.
Регистр команд программно недоступен.
Регистр управления энергопотреблением (PCON)предназначен для управления последовательным портом и режимами энергопотребления МК51. В табл. 1.1 приведено обозначение разрядов PCON.
Таблица 1.1
Разряды |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Обозначение |
SMOD |
- |
- |
- |
GF1* |
GF0* |
PD* |
IDL* |
Примечание: биты отмеченные звездочкой присутствуют только в МК51 серии 1830.
Все биты регистра PCON доступны по записи и чтению.
Бит SMOD управляет скоростью передачи через последовательный порт (при установке его в «1» скорость передачи удваивается).
Бит PD при установке его в «1» переводит МК51 в режим микропотребления.
Бит IDL равный «1» устанавливает режим холостого хода.
Биты GF0 и GF1 – флаги общего назначения.
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. Этот бит программно доступен только по чтению.