
- •Глава 3. Однокристальные микроконтроллеры семейства mcs51
- •Микропроцессоры и микроконтроллеры
- •Микроконтроллеры семейства mcs51
- •А. Общие характеристики и назначение выводов
- •Б. Организация памятимикроконтроллера
- •В. Таймеры-счетчики мк
- •Г. Приемо-передатчик
- •Д. Системапрерываний микроконтроллера
- •Е. Системакоманд мк
- •3.3. Супервизорные схемы
Г. Приемо-передатчик
Микроконтроллер имеет встроенный универсальный синхронно-асинхронный прие- мопередатчик. В англоязычной технической литературе такое устройство определяют обычно аббревиатурой USART. Он способен работать в четырех режимах в дуплексном режиме и имеет в пространстве SFR два связанных с ним регистра, регистр управления приемо- передатчиком SCON ибуферный режим SBUF. Также с работой приемопередатчика сущест- венно связан регистр управления мощностью PCON. МКимеетдвавыводаRxD (P3.0) иTxD (P3.1), которые специализированы для обмена по последовательному каналу и выполняют эти функции, если в защелки этих битов порта предварительно записаны единицы. Кстати, запись единиц во все защелки портов осуществляется автоматически при сбросе МК.
Буфер последовательного порта SBUF представляет собой два отдельных реги- стра: буфер передатчика и буфер приемника. Если команда МК использует SBUF как ре- гистр назначения, то обращение происходит к буферу передатчика, данные записываются в SBUF и автоматически инициируется их передача через последовательный порт. Содер- жимое SBUF побитно автоматически выдается на линию в соответствии с протоколом вы- бранного режима. Буфер приемника также автоматически заполняется в соответствии с вы- бранным режимом. По завершении заполнения буфера приемника наступает прерывание, при обработке которого следует организовать чтение SBUF. Хотя логическое имя и адрес регист- ра (99Н) при чтении и записи одинаковы, физически это два разных регистра. Если команда использует SBUF как регистр источника, то обращение происходит к буферу приемника.
Прием и выдача байта начинается с младшего разряда и заканчивается старшим.
Регистр управления мощностью PCON (87h) (табл. 3.13, 3.14) предназначен для реа- лизации специальных режимов пониженного энергопотребления и холостого хода, которые мы здесь рассматривать не будем, в приложении приведено полное описание МК. Но один 7- ой бит этого регистра – бит SMOD существенно влияет на скорость приемо-передатчика и позволяет удваивать ее значение при программной установке этого бита в единицу.
Таблица 3.13
Биты |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Обозначение |
SMOD |
- |
- |
- |
GF1 |
GF0 |
РD |
IDL |
Таблица 3.14. Назначение битов регистра PCON.
Биты |
Наименование |
Назначение битов |
Примечание |
7 |
SMOD |
Бит удвоения скорости |
Для приемо-передатчика |
6, 5, 4 |
— |
Резервный |
|
3, 2 |
GF1, GF0 |
Флаг общего назначения |
|
1 |
РD |
Бит режима микропотребления |
|
0 |
IDL |
Бит холостого хода |
|
Биты PCON c номерами 4-6 зарезервированы для дальнейшего расширения семей- ства. При чтении значениеэтих разрядов не определено. Программист недолжен записы- вать «1» в эти биты, т. к. они могут использоваться в будущих разработках ОМЭВМ се- мейства МК51 длязадания новых функций В этом случае пассивное значениебитов4 - 6 будет "0", а активное - "1"
Бит SMOD определяет частоту приемо-передатчика и при установке из нуля в
126
единицу удваивает ее. Далее при описании режимов приведены формулы для задания час- тоты.
Регистр управления приемо-передатчиком SCON задает правила и управляет об- меном по последовательному каналу. Обозначение разрядов регистра приведено в таблице 3.15. Все разряды регистра SCON программно доступны для записи и чтения.
Таблица 3.15
Биты |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Обозначение |
SM0 |
SM1 |
SM2 |
REN |
TB8 |
RB8 |
T1 |
R1 |
Разряды SM0, SM1 определяют режим работы ПИП, как указано в табл. 3.16.
Таблица 3.16
SM0 |
SM1 |
Режим |
Наименование |
Скорость передачи |
0 |
0 |
0 |
Сдвиговый регистр |
fBQ/12 |
0 |
1 |
1 |
8-битовый универсальный асинхронный приемник/передатчик (УАПП) |
переменная, задается Т/С1 |
1 |
0 |
2 |
9-битовый (УАПП) |
fBQ/32 или fBQ/64 |
1 |
1 |
3 |
9-битовый (УАПП) |
переменная, задается Т/С1 |
Режим 0. Синхронный режим. Здесь буферы приемника и передатчика работают как сдвиговые регистры, тактируемые машинными циклами. Информация передается и принимается через вход приемника RxD (вывод Р3.0 МК). Через выход передатчика TxD (вывод Р3.1) выдаются импульсы синхронизации, стробирующие каждый передаваемый или принимаемый бит информации. Формат посылки — 8 бит. Частота приема и передачи
— fBQ /12, где fBQ — тактовая частота МК.
Режим 1. Асинхронный байтовый обмен с регулируемой частотой. Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки — 10 бит: старт-бит (ноль), восемь бит данных и стоп-бит (единица). Частота приема и передачи задается первым таймером-счетчиком Т/С1:
2SMOD
F
f
2SMOD i f
,
BQ
32 OV
32i12i(256 (TH ))
где - fOV — частота переполнений Т/С1, (ТН) — десятичный код содержимого ТН1. Для использования Т/С1 в качестве источника для задания частоты необходимо:
запретить прерывания от Т/С1;
запрограммировать работу Т/С1 вкачестве таймераили вкачестве счетчика, установив при этом для него режим 2;
запустить Т/С1 на счет.
Если необходим последовательный обмен с очень низкой скоростью, то можно ис- пользовать Т/С1 в режиме 16-разрядного таймера (режим 1), разрешив при этом прерыва- ние от Т/С1 с целью перезагрузки TL1/TH1 в подпрограмме обслуживания прерывания.
Следуетотметить, что настроить приемопередатчик МК на стандартный ряд частот от 19,2 до 1,2 бит в секунду не просто, удобнее всего здесь использовать кварцевый резо- натор на частоту 11,059 МГц. Значения ТН для различных скоростей обмена для такого резонатора приведены в табл. 3.17.
Таблица 3.17
Скорость кбит/с |
19,2 |
9,6 |
4,8 |
2,4 |
1,2 |
Значение ТН1 |
FDH |
FDH |
FAH |
E4H |
E8H |
Значение SMOD |
1 |
0 |
0 |
0 |
0 |
Режим 2. Асинхронный 9-и битовый обмен с дискретной частотой. Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки — 11 бит: старт-бит (ноль), восемь бит данных, программируемый девя- тый бит и стоп-бит (единица). Передаваемый девятый бит данных принимает значение би- та ТВ8 из регистра специальных функций SCON. Бит ТВ8 в регистре SCON может быть программно установлен в "О" или в "1", или в него, например, можно поместить значение бита четности Р из регистра PSW для повышения достоверности принимаемой информа- ции (контроль по паритету). При приеме девятый бит данных принятой посылки поступа- ет в битRB8 регистра SCON. Частотаприема и передачи в режиме 2 задаетсяпрограммно и может быть равна fBQ/32 или fBQ/64.
Режим 3. Асинхронный 9-и битовый обмен с регулируемой частотой. Режим 3 полностью идентичен режиму 2 за исключением частоты приема и передачи, которая в режиме 3 задается таймером-счетчиком Т/С1.
Перейдем к описанию других битов SCON, нарушив их очередность в регистре. Бит
SM2 мы рассмотрим последним.
Бит REN - разрешение приема последовательных данных. Устанавливается и сбра- сывается программно соответственно для разрешения и запрета приема.
Бит ТВ8 — девятый бит передаваемых данных в режимах 2 и 3. Устанавливается и сбрасывается программным обеспечением.
Бит RB8 — девятый бит принятых данных в режимах 2 и 3. В режиме 1, если
SM2=0, RB8 является принятым стоп-битом. В режиме 0 бит RB8 не используется.
TI — флаг прерывания передатчика. Устанавливается аппаратно в конце времени выдачи 8-го бита в режиме 0 или в начале стоп-бита в других режимах. Сбрасываетсяпро- граммно.
Бит RI — флаг прерывания приемника. Устанавливается аппаратно в конце времени приема 8-го бита в режиме 0 или через половину интервала стоп-бита в режимах 1, 2, 3 при SM2=0. При SM2=1 см. описание бита SM2.
Бит SM2 — разрешение многопроцессорной работы. В режимах 2 и 3 (9-и битовый обмен асинхронный обмен) при SM2=1 флаг RI не активизируется, если девятый приня- тый бит данных равен "0". В режиме 1 при SM2=1 флаг RI не активизируется, если не принят стоп-бит, равный "1". В режиме 0 бит SM2 должен быть установлен в "0".
Режимы 2 и 3 последовательного порта с использованием бита SM2 позволяют ор- ганизовать работу МК в многопроцессорных системах, использующих для обмена инфор- мацией между собой разделяемый моноканал (коаксиальный кабель, витая пара, оптово- локно), т.е. при магистральной архитектуре сети. В этих режимах принимается 9 бит дан- ных и 9-й принятый бит записывается в RB8 регистра SCON. При этом, если бит SM2 ре- гистра SCON установлен в 1, то после приема посылки флаг прерывания приемника RI будет установлен только в том случае, если RB8=1.
Когда ведущий сети хочет передать блок данных одной из ведомых МК, он выдает в моноканал посылку с адресом ведомого, которому будет передан блок данных. Адресная посылка отличается от посылки с данными тем, что в адресной посылке 9-й бит данных равен "1", а в посылках с данными "0".
Таким образом, при SM2=1 ни одна ведомый МК не будет реагировать на посылку с данными, но все ведомые среагируют на адресную посылку. Проанализировав получен- ный адрес, адресуемый МК сбрасывает свой бит SM2, а остальные оставляют его без из- менения и вновь переходят к выполнению прерванной программы. После этого ведущий МК может начинать выдачу в моноканал блока данных, на посылки которогобудет реаги- ровать только МК, у которой SM2=0.