Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[4]

В модернизированных моделях микроконтроллеров семейства MCS-51 может иметься третий таймер счетчик T/C2 и (или) блок программных счетчиков PCA, которые тоже могут быть использованы для отсчета временных интервалов.

3.4.Последовательный порт микроконтроллера 8051.

Через универсальный асинхронный приемопередатчик UART (Universal Asynchronous Receiver-Transmitter) осуществляются прием и передача информации, представленной последовательным кодом (младшими битами вперед), в полном дуплексном режиме обмена. В состав приемопередатчика, называемого часто последовательным портом входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приемопередатчика.

Кроме того, работой последовательного порта управляют два служебных регистра -

•Регистр управления/статуса приемопередатчика SCON

•Бит SMOD регистра управления мощностью PCON

Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного. Но если к моменту окончания приема байта предыдущий не был считан из SBUF, то он будет потерян.

Последовательный порт 8051 может работать в четырех различных режимах.

•Режим 0. Информация и передается, и принимается через вывод входа приемника (RXi TXi). Принимаются или передается 8 бит данных. Через вывод выхода передатчика (TXD; выдаются импульсы сдвига, которые сопровождают каждый бит. Частота передачи бита информации равна 1/12 частоты кварцевого резонатора

•Режим 1. В этом режиме передаются через вывод TXD или принимаются через RXD 10 бит информации: старт-бит (0), 8 бит данных и стоп-бит (1) при приеме информации в бит RB8 регистра управления/статуса приемопередатчика SCON заносятся стоп-бит Скорость приема/передачи - величина переменная и задается таймером.

•Режим 2. В этом режиме через вывод TXD передаются или через RXD принимаются 11 бит информации: старт-бит, 8 бит данных, программируемый девятый бит и стоп-бит. При передаче девятый бит данных может принимать значение 0 или 1 или, например, для повышения достоверности передачи путем контроля по четности в него может быть помещено значение признака паритета из слова состояния программы (PSW.0). При приеме девятый бит данных помещается в бит RB8 SCON, а стоп-бит, в отличие от режима 1, теряется. Частота приема/передачи выбирается программой и может быть равна либо 1/32, либо 1/64 частоты резонатора в зависимости от управляющего бита SMOD.

•Режим 3. совпадает с режимом 2 во всех деталях, за исключением частоты приема/передачи, которая является величиной переменной и задается таймером.

Во всех случаях передача инициализируется инструкцией, в которой данные перемещаются в SBUF. Прием инициализируется при обнаружении перепада из 1 в 0 на входе приемника. При этом в режиме 0 этот переход должен сопровождаться выполнением условий R1 = 0 и REN= 1 (см. табл. 8), а для остальных режимов - REN = 1.

3.5.Регистр управления/статуса приемопередатчика SCON.

Управление режимом работы приемопередатчика осуществляется через специальный регистр с символическим именем SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и ТВ8) и биты прерывания приемопередатчика (R1 и Т1).

Прикладная программа путем загрузки в старшие биты регистра SCON двухбитного кода определяет режим работы приемопередатчика. Во всех четырех режимах работы передача инициализируется любой командой, в которой буферный регистр SBUF указан как получатель байта. Как уже отмечалось, прием в режиме 0 осуществляется при условии, что R1 = 0 и REN = 1, в остальных режимах - при условии, что REN

= 1.

В бите ТВ8 программно устанавливается значение девятого бита данных, который будет передан 8 режиме 2 или 3. В бите RB8 в этих режимах фиксируется девятый принимаемый бит данных. В режиме 1 в бит RB8 заносится стоп-бит. В режиме 0 бит RB8 не используется.

Флаг прерывания передатчика Т! устанавливается аппаратно в конце периода передачи стоп-бита во всех режимах. Соответствующая подпрограмма обслуживания прерывания должна сбрасывать бит TL.

Флаг прерывания приемника RI устанавливается аппаратно в конце периода приема восьмого бита данных в режиме 0 и в середине периода приема стоп-бита в режимах 1, 2 и 3. Подпрограмма обслуживания прерывания должна сбрасывать бит RI.


3.5.1.Функциональное назначение бит регистра управления/статуса приемопередатчика SCON.

Символ

Позиция

SM0

SCON.7

SM1

SCON.6

SM2

SCON.5

REN

SCON.4

TB8

SCON. 3

RB8

SCON.2

TI

SCON. 1

RI

SCON.0

Имя и назначение

SM0

SM1

0

0

0

1

1

0

1

1

программно см. примечание 1

Режим работы приемопередатчика

Сдвигающий регистр расширения ввода/вывода

8 битовый приемопередатчик, изменяемая скорость передачи 9 битовый приемопередатчик. Фиксированная скорость передачи

9 битовый приемопередатчик, изменяемая скорость передачи

Бит управления режимом приемопередатчика. Устанавливается программно для запрета приема сообщения, в котором девятый бит имеет значение 0

Бит разрешения приема. Устанавливается/сбрасывается программно для разрешения/запрета приема последовательных данных

Передача бита 8. Устанавливается/сбрасывается программно для задания девятого передаваемого бита в режиме 9-битового передатчика

Прием бита 8. Устанавливается/сбрасывается аппаратно для фиксации девятого принимаемого бита в режиме 9-битового приемника

Флаг прерывания передатчика. Устанавливается аппаратно при окончании передачи байта. Сбрасывается программно после обслуживания прерывания

Флаг прерывания приемника. Устанавливается аппаратно при приеме байта. Сбрасывается программно после обслуживания прерывания

3.5.2.Скорость приема/передачи информации через последовательный порт.

Скорость приема/передачи, т.е. частота работы приемопередатчика в различных режимах, определяется различными способами.

В режиме 0 частота передачи зависит только от резонансной частоты кварцевого резонатора f РЕЗ:

1=1Рез/12.

За машинный цикл последовательный порт передает один бит информации. В режимах 1, 2 и 3 скорость приема/передачи зависит от значения управляющего бита SMOD в регистре специальных функций PCON.

3.5.3.Регистр управления мощностью PCON.

Символ

Позиция

Наименование и функция

SMOD

PCON.7

Удвоенная скорость передачи. Если бит установлен в 1, то скорость передачи вдвое больше, чем при SMOD = 0. По сбросу SMOD = 0.

PCON.6

Не используется

PCON.5

Не используется

PCON.4

Не используется

GF1 GF0

PCON.3 PCON.2

Флаги, специфицируемые пользователем (флаги общего назначения)

PD

PCON.1

Бит пониженной мощности. При установке бита в 1 микро-ЭВМ переходит в режим пониженной потребляемой мощности

IDL

PCON.0

Бит холостого хода. Если бит установлен в 1, то микро-ЭВМ переходит в режим

холостого хода

Примечание. При одновременной записи 1 в PD и IDL бит PD имеет преимущество. Сброс содержимого PCON выполняется путем загрузки в него кода 0XXX0000.

В режиме 2 частота передачи определяется выражением f =2 fpЕз/64.

Иными словами, при SMOD = 0 частота передачи равна 1/64 частоты ЕЗ, а пои SMOD = 1 - 1/32 частоты ЕЗ.

В режимах 1 и 3 в формировании частоты передачи, кроме управляющего бита SMOD, принимает участие таймер 1. При этом частота передачи f зависит от частоты переполнения f OVLT определяется следующим образом:

f=2 fOVTL1/32

Прерывание от таймера 1 в этом случае должно быть заблокировано. Сам же таймер может работать как в режиме таймера, так и в режиме счетчика. Номер режима (0, 1, 2) роли не играет. Наиболее типично использование его в режиме таймера с автоперезагрузкой (старшая тетрада TMOD = 0010В). При этом частота передачи определяется выражением:


f = 2SMODfpEs/(32x12x(256 -ТН1)).

Частота приема/передачи (BAUD RATE)

Частота резонатора МГц

Таймер/счетчик 1

SMOD

С/Т

Режим (MODE)

Перезагружаемое число

Режим 0, макс: 1 МГц

12

X

X

X

X

Режим 2, макс: 375 Кгц

12

1

X

X

X

Режим 1, 3: 62,2 Кгц

12

1

0

2

0FFH

19,2 Кгц

11,059

1

0

2

0FDH

9,6 Кгц

11,059

0

0

2

0FDH

4,8 Кгц

11,059

0

0

2

0FAH

2,4 Кгц

11,059

0

0

2

0F4H

1,2 Кгц

11,059

0

0

2

0F4H

137,5 Гц

11,059

0

0

2

1DH

110 Гц

6

0

0

2

72H

110 Гц

12

0

0

1

0FEEВН

Таблица.5.Настройка таймера 1 для управления частотой работы приемопередатчика.

Отметим, что скорости приема и передачи могут различаться. Предельно низких частот приемопередачи можно достичь при использовании таймера в режиме 1 (16-битный таймер) и разрешении прерываний от таймера (старший полубайт TMOD = 0001В). Перезагрузка 16-битного таймера должна осуществляться программным путем.

З.б.Система прерываний микроконтроллера 8051.

Упрощенная схема прерываний микро-ЭВМ 8051 показана на рисунке.

INTO

TF0

IT0

1Е0

> 2

INT1

TF1

IT1

IE1

► 4

TI

RI

► 5

со

о

Q. О

со

X <D со (О Q.

(О О О Q.

О <=L о; о. О П.

Рис. 8. Схема прерываний.

Адрес вектора

ОООЗН

ооовн

0013Н

001 вн

0023Н

Внешние прерывания INT 0 и INT 1 могут быть вызваны либо уровнем, либо переходом сигнала из 1 в 0 на входах 8051 в зависимости от значений управляющих бит IT0 и IT1 в регистре TCON. От внешних прерываний устанавливаются флаги IE0 и IE1 в регистре TCON, которые инициируют вызов соответствующей программы обслуживания прерывания. Сброс этих флагов выполняется аппаратно только в том случае, если прерывание было вызвано по переходу (срезу) сигнала. Если же прерывание вызвано уровнем входного сигнала, то сбросом флага I должна управлять соответствующая подпрограмма обслуживания прерывания путем воздействия на источник прерывания с целью снятия им запроса.

Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически при передаче управления подпрограмме обслуживания. Флаги запросов прерывания RI и TI устанавливаются блоком управления приемопередатчика аппаратно, но сбрасываться должны программным путем.

Прерывания могут быть вызваны или отменены программой, так как все названные флаги программно доступны и могут быть установлены/ сброшены программой с тем же результатом, как если бы они были установлены/сброшены аппаратными средствами.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23]