Регистр TMOD (Timer/counter Mode). Наименование и назначение разрядов регистра TMOD приведены в табл.2.4. Все разряды этого регистра доступны по записи и по чтению.

При работе в качестве таймера содержимое T/Cj инкрементируется с частотой , где f есть частота синхронизации микроконтроллера. При работе T/Cj в качестве счетчика внешних событий, его содержимое инкрементируется в ответ на переход из "1" в "0" сигнала на j-ом счетном входе микроконтроллера. Для надежной работы T/Cj в режиме счетчика необходимо, чтобы максимальная частота указанного сигнала была не более , а уровень этого сигнала оставался неизменным в течение как минимум одного машинного цикла ( ).

Таблица 2.4

Биты

Наименование

Назначение

7

GATE1

Бит разрешает (запрещает) управлять T/C1 от внешнего вывода .

GATE1=1 - управление разрешено,

GATE1=0 - управление запрещено.

6

Бит определяет работу T/C1 в качестве таймера (=0), счетчика внешних событий (=1).

5

4

М1.1

М0.1

Биты определяют один из 4-х режимов работы T/C1.

M1.1

M0.1

Режим

0

0

0

0

1

1

1

0

2

1

1

3

3

GATE0

Бит разрешает (запрещает) управлять T/C0 от внешнего вывода .

GATE0=1 - управление разрешено,

GATE0=0 - управление запрещено.

2

Бит определяет работу T/C0 в качестве таймера (=0), счетчика внешних событий (=1).

1

0

М1.0

М0.0

Биты определяют один из 4-х режимов работы T/C0.

M1.0

M0.0

Режим

0

0

0

0

1

1

1

0

2

1

1

3

Таймер/счетчик T/Cj в режиме 0 (1) представляет собой устройство на основе 13- (16-) разрядного регистра, состоящего из 8-ми разрядов регистра THj и 5-ти младших разрядов (8-ми разрядов) регистра TLj. В режиме 2 T/Cj представляет собой устройство на основе 8-разрядного регистра TLj. При каждом переполнении TLj кроме установки в регистре TCON флага TFj происходит автозагрузка регистра TLj содержимым THj, причем указанная автозагрузка не влияет на содержимое регистра THj. Таймер/счетчик T/C1 в режиме 3 заблокирован (значение кода в регистрах TH1, TL1 не изменяется). Эффект такой же, как при сбросе TR1 в "0". Таймер/счетчик T/C0 в режиме 3 представляет собой два независимых устройства на основе регистров TH0 и TL0. Устройство на основе TL0 может работать в режиме таймера или в режиме счетчика и при переполнении устанавливает флаг TF0. За этим устройством сохраняются биты управления TR0, GATE0, . Устройство на основе регистра TH0 может работать только в режиме таймера. Оно использует бит включения TR1, при переполнении выставляет флаг TF1. Других битов управления устройство на основе TH0 не имеет.

НЕ нашли? Не то? Что вы ищете?

Регистр SCON (Serial port Control) предназначен для приема и хранения кода, который управляет последовательным интерфейсом. Наименование и назначение разрядов регистра SCON приведены в табл.2.5. Все разряды этого регистра программно доступны по записи и чтению.

Таблица 2.5

Биты

Наименование

Назначение

7

6

SM0

SM1

Биты определяют один из 4-х режимов работы последовательного порта

SM0

SM1

Режим

Характеристика режима

0

0

0

Сдвиговый регистр. Скорость (частота) приема/ передачи f/12.

0

1

1

8-битовый универсальный асинхронный приемник/ передатчик (УАПП). Скорость (частота) приема/ передачи задается частотой переполнений T/C1.

1

0

2

9-битовый УАПП. Скорость (частота) приема/ передачи f/64 или f/32.

1

1

3

9-битовый УАПП. Скорость (частота) приема/ передачи задается частотой переполнений T/C1.

5

SM2

Бит разрешения многопроцессорной работы.

4

REN

Бит разрешает (запрещает) прием.

REN=1 - прием разрешен,

REN=0 - прием запрещен.

3

TB8

Девятый бит передаваемых данных в режимах 2, 3.

2

RB8

Девятый бит принятых данных в режимах 2, 3.

1

TI

Флаг прерывания передатчика.

0

RI

Флаг прерывания приемника.

В режимах 2 и 3 при SM2=1 флаг RI не активизируется (не устанавливается в "1"), если девятый принятый бит данных равен "0". В режиме 1 при SM2=1 флаг RI не активизируется, если не принят стоп-бит равный "1". В режиме 0 бит SM2 не используется и должен быть сброшен в "0". Флаг TI аппаратно устанавливается в "1" в конце периода передачи 8-го бита в режиме 0 или в начале периода передачи стоп-бита в других режимах. Флаг RI аппаратно устанавливается в "1" в конце периода приема 8-го бита в режиме 0 или в середине периода приема стоп-бита (девятого бита) в режиме 1 (в режимах 2 и 3) при SM2=0.

Режим 2 и режим 3 последовательного порта позволяют организовать работу микроконтроллеров 8051 в многопроцессорных системах, использующих для обмена информацией между МК разделяемый моноканал (коаксиальный кабель, витая пара, оптоволокно и др.). В этих режимах флаг RI установится только в том случае, когда либо SM2=0, либо принятый девятый бит данных равен "1". Указанную особенность работы последовательного порта можно использовать для организации межконтроллерного обмена следующим образом. Пусть ведущему МК требуется передать блок данных некоторому (нескольким) ведомому (ведомым) МК. С этой целью ведущий МК в протокольном режиме "широковещательной" передачи (всем ведомым МК) выдает в моноканал байт-идентификатор абонента (код адреса МК-получателя), который отличается от байтов данных только тем, что в его девятом бите содержится "1". Программа реализации протокола сетевого обмена информацией должна быть построена таким образом, чтобы при получении байта-идентификатора во всех ведомых МК произошли прерывание прикладных программ и вызов подпрограммы сравнения байта-идентификатора с кодом собственного сетевого адреса. Адресуемый МК сбрасывает свой управляющий бит SM2 в "0" и готовится к приему блока данных. Остальные ведомые МК, адрес которых не совпал с кодом байта-идентификатора, оставляют неизменным состояние SM2=1 и передают управление основной программе. Байты данных, поступающие по моноканалу в последовательный порт ведомых микроконтроллеров у которых SM2=1, прерывание не вызывают (не устанавливается флаг RI), т. е. игнорируются.

Регистр SBUF (Serial port Buffer). Через SBUF обеспечивается программный доступ к регистрам передатчика и приемника последовательного порта. Причем передача начинается любой командой микроконтроллера, использующей SBUF в качестве регистра назначения, т. е. выполняющей операцию "запись в SBUF".

Регистр IE (Interrupt Enable) используется для разрешения или запрещения прерываний от соответствующих источников. Наименование и назначение разрядов регистра IE приведены в табл.2.6. Все биты указанного регистра программно доступны по записи и чтению.

Регистр IP (Interrupt Priority) используется для установки уровня приоритета прерывания для каждого из пяти источников прерываний. Наименование и назначение разрядов регистра IP приведены в табл.2.7. Все биты этого регистра программно доступны по записи и чтению. Наличие в заданном разряде регистра IP "1" устанавливает для соответствующего источника высокий уровень приоритета, а наличие "0" - низкий уровень приоритета.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22