Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гл3_06.unlocked.docx
Скачиваний:
27
Добавлен:
09.02.2015
Размер:
635.45 Кб
Скачать

Г. Приемо-передатчик

Микроконтроллер имеет встроенный универсальный синхронно-асинхронный прие- мопередатчик. В англоязычной технической литературе такое устройство определяют обычно аббревиатурой 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 вкачестве таймераили вкачестве счетчика, установив при этом для него режим 2;

  3. запустить Т/С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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]