Национальный исследовательский ядерный университет «МИФИ»
Опубликован: 03.03.2010 | Доступ: свободный | Студентов: 5328 / 1303 | Оценка: 4.35 / 3.96 | Длительность: 24:14:00
ISBN: 978-5-9963-0267-3
Специальности: Разработчик аппаратуры
Лекция 14:

Архитектура однокристального микроконтроллера

< Лекция 13 || Лекция 14: 12345 || Лекция 15 >

Организация ввода-вывода информации в микроконтроллере

Однокристальные микроконтроллеры обладают широкими возможностями по вводу и выводу информации. Микроконтроллеры семейства МК-51 для этих целей имеют:

  • 4 параллельных 8-разрядных порта P0-P3, каждая линия которых может индивидуально настраиваться на ввод либо вывод информации;
  • один последовательный порт.

Параллельные порты. Помимо возможности использования любого из параллельных портов для ввода или вывода информации за каждым из них аппаратно закреплены определенные функции.

Порт P0:

  • выводит младший байт адреса (А7-А0) при работе с внешней памятью программ и внешней памятью данных;
  • выдает из МК и принимает в МК байт данных при работе с внешней памятью; при этом выдача адреса и обмен данными мультиплексируются во времени аппаратными средствами микроконтроллера, а для хранения младшего байта адреса в микропроцессорной системе должен быть предусмотрен внешний по отношению к МК регистр адреса;
  • задает данные при программировании внутреннего ППЗУ в тех БИС, где оно предусмотрено, и читает содержимое внутренней памяти программ.

Порт P1. Через порт P1 вводится младший байт адреса (А7-А0) при программировании внутреннего ППЗУ и чтении внутренней памяти программ.

Порт P2. Порт P2 применяется для вывода старшего байта адреса (А15-А8) при обращении к внешней памяти программ и данных и ввода разрядов адреса А11-А8 при программировании внутреннего ППЗУ и чтении внутренней памяти программ.

Порт Р3. Каждый из разрядов порта Р3 используется для выполнения альтернативных функций (табл. 14.10).

Таблица 14.10. Альтернативные функции порта Р3
Позиция в регистре Мнемоника бита Функция
0 RxD Вход последовательного порта
1 TxD Выход последовательного порта
2 INT0 Вход запроса внешнего прерывания 0
3 INT1 Вход запроса внешнего прерывания 1
4 T0 Счетный вход таймера/счетчика 0

Для выполнения этим портом альтернативных функций необходимо, чтобы защелки соответствующих разрядов содержали "1".

Каждая линия каждого параллельного порта может независимо от других настраиваться как на ввод, так и на вывод данных. Для использования линии в качестве входа необходимо, чтобы его защелка содержала "1". Несмотря на различия в электрической организации этих портов, логическая схема их работы выглядит так, как представлено на рис. 14.7 на примере линии 1 порта Р1.

Логическая схема работы линии Р1.1 при вводе и выводе информации

Рис. 14.7. Логическая схема работы линии Р1.1 при вводе и выводе информации

При выводе информация записывается в некоторую внутреннюю защелку P1.1. Информация, вводимая по этой линии, маскируется этой защелкой. Если данная линия не настроена на ввод, то есть в защелку не занесена "1", то в микроконтроллер будет вводиться только "0".

Блок последовательного интерфейса

Блок последовательного интерфейса предназначен для обмена данными между микроконтроллером и внешними устройствами в последовательном коде посредством линий P3.0 и P3.1 порта P3, которые имеют специальные обозначения RxD и TxD соответственно.

Управление работой последовательного порта осуществляется программированием регистра SCON из блока регистров специальных функций. Назначение разрядов этого регистра приведено в табл. 14.11.

Работа блока последовательного интерфейса в различных режимах осуществляется следующим образом.

Режим 0. Информация передается и принимается через вход RxD (P3.0). Через выход передатчика TxD (P3.1) выдаются синхроимпульсы, стробирующие принимаемые или выдаваемые биты. Формат посылки -8 бит. Частота приема и передачи - fBQ/12, то есть частота тактирования равна частоте машинного цикла микроконтроллера.

Режим 1. Информация передается через выход TxD, а принимается через вход RxD. Формат посылки - 10 бит (стартовый "0", 8 информационных и стоповый - "1"). Частота приема и передачи задается програм мированием таймера/счетчика 1 (T/C1).

Таблица 14.11. Назначение разрядов регистра SCON
Позиция в регистре Мнемоника бита Функция
7 SM0 Бит определения режима работы
6 SM1 Бит определения режима работы
5 SM2 Бит разрешениямногопроцессорной работы
4 REN Бит разрешения приема последовательных данных
3 TB8 9-й бит передаваемых данных в режимах 2 и 3
2 RB8 9-й бит принимаемых данных в режимах 2 и 3
1 TI Флаг прерывания передатчика
0 RI Флаг прерывания приемника

Режим 2. Информация передается через выход TxD, а принимается через вход RxD. Формат посылки - 11 бит (стартовый "0", 8 информационных, программируемый 9-й бит и стоповый - "1"). 9-й бит при передаче берется из разряда TB8 регистра SCON, а при приеме сохраняется в бите RB8 регистра SCON. 9-й бит используется по усмотрению программиста, например, как бит контроля передаваемой информации по четности.

Частота приема и передачи задается программно и может быть равна fBQ/32 или fBQ/64.

Режим 3 аналогичен режиму 2, за исключением того, что частота приема и передачи определяется переполнением таймера/счетчика 1.

Во всех режимах работы передача инициируется любой командой, которая использует буферный регистр последовательного порта Sbuf как регистр назначения.

Прием информации в режиме 0 инициируется условием ( RI = 0 ) & ( REN = 1 ). В остальных режимах прием инициируется приходом стартбита, если REN = 1.

Прием и выдача байта данных начинается с младшего бита.

Бит SM2 регистра SCON используется для организации работы многопроцессорных систем на основе данного микропроцессора. При SM2 =1 бит RI не активизируется, если в режимах 2 и 3 9-й принимаемый бит данных равен "0". Это позволяет, например, разделить посылку, содержащую адрес, и посылку с данными.

В режиме 1 бит RI не активизируется, если не принят стоп-бит, равный "1". В режиме 0 SM2 должен быть равен "0".

Краткие итоги. В лекции рассмотрены общая организация и принципы работы однокристального микроконтроллера MSC-51 (МК-51), архитектура которого фактически является стандартной для микропроцессоров этого класса. Представлены характеристики микроконтроллеров с архитектурой МК-51, структура и основные блоки микроконтроллера, а также его система команд. Разобраны особенности режимов адресации и использования различных команд. Рассмотрены порядок работы микроконтроллера при обработке прерываний, работа блока таймеров/счетчиков в различных режимах как при отсчете временных интервалов, так и для счета внешних событий. Разобрана работа параллельных и последова тельного портов. Представлены форматы управляющих регистров.

< Лекция 13 || Лекция 14: 12345 || Лекция 15 >
Владислав Салангин
Владислав Салангин

приветствую создателей курса и благодарю за доступ к информации! понимаю, что это уже никто не исправит, но, возможно, будут следующие версии и было бы неплохо дать расшифровку сокращений имен регистров итд, дабы закрепить понимание их роли в общем процессе. 

Михаил Королёв
Михаил Королёв