МК
Периферийные
средства МК-51 (Лекция) ПЛАН ЛЕКЦИИ 1. Параллельные каналы связи 2. Последовательный канал связи 3. Таймеры/счетчики 4. Система
прерываний 1. Параллельные каналы связи Подсистема ВВ микроконтроллера МК-51 размещается непосредственно на
кристалле. Для ВВ данных и управления процессом их передачи в состав МК введен
ряд портов данных и регистров управления/состояния, совокупность которых
образует набор специальных регистров. Физическая система ВВ микроконтроллера МК-51
состоит из четырех двунаправленных 8-разрядных портов Р0 - РЗ. Все порты ВВ
отображены в пространстве внутренней памяти DSEG по адресам 80Н, 90Н, 0А0Н, 0В0Н и ничем не отличаются от
обычных ячеек памяти. Отказ от изолированного пространства ВВ, используемого в
архитектуре ВЕ48, позволил увеличить вычислительную эффективность МС
интенсивного ВВ, привел к более регулярной структуре набора команд ВЕ51. Любая
команда с операндом из внутренней памяти может быть применена к содержимому
портов Р0 - РЗ. Кроме того, порты Р0 - РЗ совмещены с битовым пространством BSEG, что обеспечивает доступ
к отдельным его разрядам независимо от других. Порты Р0 - РЗ занимают адреса BSEG: 80Н - 87Н, 90Н -97Н,
0А0Н -0А7Н и 0В0Н - 0В7Н соответственно. Расширение пространства ВВ может быть выполнено за счет области XSEG или другими средствами с
помощью самих портов Р0 - РЗ и SBUF. При обращении к внешней памяти программ или данных порты Р0, Р2
выполняют функции системных шин AD
и АВ соответственно. Младший байт адреса и данные передаются через Р0 в
мультиплексном режиме: сначала выводится адрес, а затем для передачи данных
используется порт. Старший байт адреса формируется на Р2. Линии порта РЗ реализуют
управление циклами обмена и другие специальные функции аппаратного уровня Таблица
1. Линии порта РЗ
2. Последовательный канал связи В состав МК-51 входит дуплексный канал последовательной связи с
буферизацией, который может быть запрограммирован для работы в одном из четырех
режимов: 1)
режим 0-синхронный последовательный ВВ со скоростью OSC/12; 2)
режим 1-асинхронный с 10-битовым кадром и переменной
скоростью передачи; 3)
режим 2 - асинхронный с 11-битовым кадром и
фиксированной скоростью передачи OSC/32 или OSC/64; 4)
режим 3-асинхронный с 11-битовым кадром и переменной
скоростью передачи. Входные и выходные данные хранятся в буферном регистре SBUF с адресом 99Н. Управление работой
приемопередатчиков осуществляется через слово управления и состояния SCON, расположенное в
регистре по адресу 98Н: SCON.0 RI Флаг прерывания приемника SCON.l TI Флаг прерывания
передатчика SCON.2 RB8 Восьмой бит приемника в режимах 2 и 3. В режиме 1, если SM2
= 0, то отображает стоп-бит. В режиме 0 не используется. SCON.3 ТВ8 Восьмой бит передатчика в режимах 2 и 3 SCON 4 REN Разрешение приема SCON.5 SM2 Запрещение приема кадров с нулевым восьмым битом
данных. В режиме 0 должен быть сброшен SCON.6 SMI Младший разряд для кодирования номера режима SCON.7 SM0 Старший разряд для кодирования номера режима:
3. Таймеры/счетчики К стандартным средствам поддержки режима реального времени относятся
таймеры/счетчики и подсистема прерываний. Если таймеры необходимы для
организации системных меток реального времени и отработки временных интервалов,
то подсистема прерываний обеспечивает своевременную реакцию МК на асинхронные
события, происходящие как внутри МС, так и вне ее. В состав МК-51 входят два 16-разрядных таймера/счетчика СТ0, СТ1. Еще
один (СТ2) добавлен в архитектуре 8052. Состояние таймеров/счетчиков отражается
программно-доступными регистровыми парами (TH0, TL0),
(TH1, ТЫ) и (ТН2, TL2) соответственно, размещенными
в пространстве DSEG по
адресам (8СН, 8АН), (8DH,
8ВН) и (0CDH, 0ССН). Таймеры/счетчики СТ0 - СТ2 могут быть запрограммированы для работы либо
в качестве таймера, либо в качестве счетчика. Функция таймера состоит в счете
числа машинных циклов, следующих с частотой OSC/12. Функция счетчика заключается в отслеживании числа
переходов из 1 в 0 на соответствующих входах Т0, Tl, T2. Управление режимом работы СТ0, СТ1 осуществляет регистр TMOD (Timer/Counter Mode), который расположен по адресу 89Н.
Регистр разбит на два 4-разрядных подрегистра T0MOD и T1MOD, которые ответственны за
управление СТО и СТ1 соответственно: Таблица
3
4.
Система прерываний
Архитектура МК- 51 поддерживает
двухуровневую приоритетную систему прерываний с пятью (или шестью в случае
8052) источниками запросов на обслуживание, имеющими фиксированные векторы
прерываний. Программное управление системой осуществляется через два
8-разрядных регистра: IP (Interrupt Priopity) - регистр приоритета прерываний
и IE (Interrupt Enable) - регистр разрешения
прерываний.
Для приема внешних запросов на прерывание служат линии INT0 и INT1, которые могут быть
запрограммированы на срабатывание как по переходу из одного состояния в другое,
так и по уровню входного сигнала независимо друг от друга. Управление типом
входа осуществляется флажками IT0/TCON.0 (Interrupt Туре 0) и IT1/TCON.2. При ITi
= l устанавливается режим
срабатывания по переходу из 1 в 0, в противном случае - по напряжению низкого
уровня на входе INTi, i = 0-1. Запросы на
прерывание от внешних источников INT0 или INT1
устанавливают флажки IE0/TCON.1 (Interrupt Edge 0) и IE1/TCON.3. В случае работы по переходу эти флажки сбрасываются автоматически
при входе в соответствующую процедуру обслуживания прерывания. В случае режима
работы по уровню флажки отслеживают состояние сигналов на входных линиях INT0 и INT1, повторяя все их изменения. Источниками внутренних запросов могут быть: флажок TF0/TCON.5 (Timer Flag
0) - признак переполнения СТ0, с флажок TF1/TCON.7
- признак переполнения СП, а также флажок TI/SCON.1
(Transmit Interrupt)
или флажок RI/SCON.O (Recive Interrupt). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||