приветствую создателей курса и благодарю за доступ к информации! понимаю, что это уже никто не исправит, но, возможно, будут следующие версии и было бы неплохо дать расшифровку сокращений имен регистров итд, дабы закрепить понимание их роли в общем процессе. |
Архитектура однокристального микроконтроллера
Организация ввода-вывода информации в микроконтроллере
Однокристальные микроконтроллеры обладают широкими возможностями по вводу и выводу информации. Микроконтроллеры семейства МК-51 для этих целей имеют:
- 4 параллельных 8-разрядных порта P0-P3, каждая линия которых может индивидуально настраиваться на ввод либо вывод информации;
- один последовательный порт.
Параллельные порты. Помимо возможности использования любого из параллельных портов для ввода или вывода информации за каждым из них аппаратно закреплены определенные функции.
Порт P0:
- выводит младший байт адреса (А7-А0) при работе с внешней памятью программ и внешней памятью данных;
- выдает из МК и принимает в МК байт данных при работе с внешней памятью; при этом выдача адреса и обмен данными мультиплексируются во времени аппаратными средствами микроконтроллера, а для хранения младшего байта адреса в микропроцессорной системе должен быть предусмотрен внешний по отношению к МК регистр адреса;
- задает данные при программировании внутреннего ППЗУ в тех БИС, где оно предусмотрено, и читает содержимое внутренней памяти программ.
Порт P1. Через порт P1 вводится младший байт адреса (А7-А0) при программировании внутреннего ППЗУ и чтении внутренней памяти программ.
Порт P2. Порт P2 применяется для вывода старшего байта адреса (А15-А8) при обращении к внешней памяти программ и данных и ввода разрядов адреса А11-А8 при программировании внутреннего ППЗУ и чтении внутренней памяти программ.
Порт Р3. Каждый из разрядов порта Р3 используется для выполнения альтернативных функций (табл. 14.10).
Для выполнения этим портом альтернативных функций необходимо, чтобы защелки соответствующих разрядов содержали "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).
Режим 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, структура и основные блоки микроконтроллера, а также его система команд. Разобраны особенности режимов адресации и использования различных команд. Рассмотрены порядок работы микроконтроллера при обработке прерываний, работа блока таймеров/счетчиков в различных режимах как при отсчете временных интервалов, так и для счета внешних событий. Разобрана работа параллельных и последова тельного портов. Представлены форматы управляющих регистров.