- •Раздел I. Общие сведения о микроконтроллерах. Тема 1.1. Понятие микроконтроллера.
- •Тема 1.2. Типы микроконтроллеров.
- •Встраиваемые микроконтроллеры.
- •16-И 32-разрядные микроконтроллеры (микроконтроллеры с внешней памятью).
- •Цифровые сигнальные процессоры.
- •Тема 1.3. Архитектура процессоров. Cisc и risc процессоры.
- •Гарвард против принстона.
- •Тема 1.4. Типы памяти микроконтроллеров
- •Память программ
- •Память данных
- •Тема 1.5. Регистры микроконтроллера. Пространство ввода-вывода
- •Внешняя память
- •Раздел II. Аппаратные средства микроконтроллеров Тема 2.1. Корпуса устройств
- •Тема 2.2. Питание микроконтроллеров.
- •Потребляемая мощность.
- •Подключение питания.
- •Тема 2.3. Запуск микроконтроллера (сброс в начальное состояние). Тактирование системы.
- •Тактирование системы
- •Тема 2.4. Командные циклы. Программный счетчик. Алу. Командные циклы.
- •Программный счетчик.
- •Арифметико-логическое устройство
- •Тема 2.5. Сторожевые таймеры. Прерывания. Сторожевые таймеры.
- •Прерывания.
- •Раздел III. Средства обмена в микроконтроллерах. Тема 3.1. Таймеры.
- •Тема 3.2. Параллельный ввод-вывод данных. Преобразование логических уровней. Параллельный ввод-вывод данных
- •Преобразование логических уровней.
- •Тема 3.3. Последовательный ввод-вывод данных.
- •Асинхронный последовательный обмен.
- •Синхронный последовательный обмен.
- •Тема 3.4. Протоколы передачи данных. Протокол microwire.
- •Протокол spi.
- •Протокол i2с
- •Раздел IV. Микроконтроллеры семействаMcs-51 Тема 4.1. Фирмы-производители микроконтроллеров. Типовые характеристики семейства mcs-51.
- •Тема 4.2. Структура микроконтроллеров mcs-51 и функции выводов
- •Тема 4.3. Организация памяти и программно доступные ресурсы.
- •Тема 4.4. Синхронизация, магистральные циклы.
- •Тема 4.5. Методы адресации и система команд.
- •Методы адресации
- •Регистровая адресация.
- •Прямая адресация.
- •Косвенно-регистровая адресация.
- •Непосредственная адресация.
- •Система команд семейства mcs-51
- •Арифметические команды.
- •Логические команды.
- •Команды пересылки данных.
- •Команды работы с битами.
- •Команды передачи управления.
- •Тема 4.6. Система прерываний
- •Особенности запросов внешних прерываний.
- •Тема 4.7. Параллельные порты
- •Обновление данных в портах
- •Операции типа «чтение-модификация-запись»
- •Тема 4.8. Таймеры-счетчики
- •Тема 4.9. Последовательный порт
- •Синхронный обмен (режим 0)
- •Асинхронный обмен (режимы 1, 2, 3)
- •Обмен в многопроцессорных системах
Синхронный обмен (режим 0)
В этом режиме по линии TxD выдается восемь синхроимпульсов, а по линии RxD принимается или передается байт данных. Передача и прием данных осуществляются начиная с младшего бита, сдвиг происходит в S6P2 каждого машинного цикла (рис. 4.13). Таким образом последовательный обмен производится с фиксированной частотой Fosc/12. Это максимально возможная скорость обмена через последовательный порт микроконтроллера. Передача информации заключается в реализации следующих действий:
запись в регистр SCON байта управления, очищающего биты SM0, SM1, REN;
запись байта данных в регистр SBUF.
Передача начинается в следующем (после записи в регистр SBUF) машинном цикле с выдвижения бита D0 на линию RxD в фазе S6P2. В S3P1 следующего цикла на линии TxD появляется «0» первого импульса синхронизации. Выдвижение битов данных продолжается в каждом цикле до девятого включительно, когда на линии RxD появляется старший бит D7.
Рис. 4.13 - Работа последовательного порта в режиме 0
В начале десятого цикла линия RxD переводится в высокоуровневое состояние и устанавливается флаг RI, что свидетельствует об окончании передачи.
Прием информации инициируется записью в регистр SCON байта управления, очищающего биты SM0, SM1, RI и устанавливающего бит REN. Во втором цикле после этой операции записи в фазе S3P1 на линии TxD появляется «0» первого импульса синхронизации, а на фазе S5P2 выполняется ввод младшего бита данных D0 с линии RxD в сдвиговый регистр. Ввод повторяется в последующих циклах и после восьми сдвигов в регистр вводится старший бит D7, устанавливается флаг TI. После этого подпрограмма обслуживания может прочесть байт данных из SBUF.
Асинхронный обмен (режимы 1, 2, 3)
При асинхронном обмене данные передаются по линии TxD, а принимаются но линии RxD.
В режиме 1 кадр данных состоит из 10 бит (рис. 4.14): старт-бит, восемь битов данных, стоп-бит. При приеме в разряд RB8 регистра SCON записывается стоп-бит. Скорость обмена определяется переполнением таймера 1.
В режимах 2 и 3 кадр данных состоит из 11 бит (рис. 4.15): старт-бит, восемь битов данных, программируемый бит, стоп-бит. При приеме подпрограмма обслуживания может прочитать девятый бит из разряда RB8 регистра SCON. При передаче девятый бит записывается в ТВ8 регистра SCON.
Рис. 4.14 - Работа последовательного порта в режиме 1
Пользователь может использовать девятый бит по своему усмотрению (часто это бит контроля). Скорость обмена в режиме 2 равна 1/32 (SMOD = 1) или 1/64 (SMOD = 0) частоты синхросигнала. Скорость передачи в режиме 3 определяется переполнением таймера 1. Передача информации заключается в реализации следующих действий:
запись в регистр SCON байта управления, определяющего биты SM0, SM1 (выбор режима) и очищающего бит REN. Для режимов 2 и 3 следует записать значение девятого бита данных в ТВ8;
запись байта данных в регистр SBUF.
Для инициализации приема следует установить бит REN регистра SCON. Прием данных начинается после идентификации перехода «1»-«0» на линии RxD.
При синхронизации последовательного порта от Таймера 1, работающего в режиме автоперезагрузки, скорость обмена определяется по формуле:
где (ТН) - содержимое регистра ТН1 в десятичном представлении.
Рис. 4.15 - Работа последовательного порта в режимах 2 и 3