АЛЬТЕРНАТИВНЫЕ ФУНКЦИИ ПОРТОВ P0, P2 и P3 МК 80С51

Обозначение Разряд Наименование и назначение
A0/D0 P0.0 Разряд 0 шины адреса/данных.
A1/D1 P0.1 Разряд 1 шины адреса/данных
A2/D2 P0.2 Разряд 2 шины адреса/данных
A3/D3 P0.3 Разряд 3 шины адреса/данных
A4/D4 P0.4 Разряд 4 шины адреса/данных.
A5/D5 P0.5 Разряд 5 шины адреса/данных.
A6/D6 P0.6 Разряд 6 шины адреса/данных.
A7/D7 P0.7 Разряд 7 шины адреса/данных.
A8 P2.0 Разряд 8 шины адреса
A9 P2.1 Разряд 9 шины адреса
A10 P2.2 Разряд 10 шины адреса
A11 P2.3 Разряд 11 шины адреса
A12 P2.4 Разряд 12 шины адреса
A13 P2.5 Разряд 13 шины адреса
A14 P2.6 Разряд 14 шины адреса
A15 P2.7 Разряд 15 шины адреса
RXD P3.0 Вход приемника последовательного порта в режиме UART. Ввод/вывод данных в синхронном режиме
TXD P3.1 Выход передатчика последовательного порта в режиме UART. Выход синхронизации в синхронном режиме
INT0’ P3.2 Вход запроса прерывания 0. Активным является сигнал низкого уровня (логический 0) или перепад 1 ® 0
INT1’ P3.3 Вход запроса прерывания 1. Активным является сигнал низкого уровня (логический 0) или перепад 1 ® 0
T0 P3.4 Вход таймера/счетчика 0
T1 P3.5 Вход таймера/счетчика 1
WR’ P3.6 Выход “ЗАПИСЬ”. Активный сигнал низкого уровня формируется при обращении к внешней памяти данных
RD’ P3.7 Выход “ЧТЕНИЕ”. Активный сигнал низкого уровня формируется при обращении к внешней памяти данных

 

 

В режиме таймера (т.е. счетчика времени) содержимое счетчика инкрементируется в каждом машинном цикле. В режиме счета внешних событий содержимое счетчика инкрементируется под воздействием перехода из 1 в 0 внешнего логического сигнала, поступающего на соответствующий вход микроконтроллера.

2.11.2. При работе таймера/счетчика в режиме счетчика внешних событий максимальная частота входных импульсов не должна превышать 1/24 тактовой частоты микроконтроллера, поскольку для распознавания перехода внешнего сигнала из 1 в 0 требуется два машинных цикла. Для того, чтобы обеспечить надежное считывание значения внешнего входного сигнала, сигнал не должен изменяться в течение одного полного машинного цикла. Длительность периода входного сигнала сверху не ограничена.

2.11.3. Для управления работой таймеров/счетчиков и организации взаимодействия таймеров/счетчиков с системой прерываний используются два регистра специальных функций – регистр управления режимом TMOD (Timer/Counter Mode Control Register) и регистр управления TCON (Timer/Counter Control Register), форматы которых приведены в табл. 2.7 и табл. 2.8, соответственно.

2.11.4. Выбор функционального назначения таймера/счетчика (“таймер” или “счетчик внешних событий”) осуществляется программированием бита C/T’ регистра TMOD (см. табл. 2.7).

2.11.5. Каждый таймер/счетчик (в дальнейшем таймер) имеет четыре режима работы, индивидуально программируемых с помощью битов M0 и M1 регистра TMOD (см. табл. 2.7). Выбранный режим определяет не только алгоритм работы таймера, но также и его внутреннюю структуру (рис. 2.11). Режимы 0, 1 и 2 одинаковы для обоих таймеров. В режиме 3 таймеры работают по-разному. Ниже рассмотрены все режимы работы таймеров на примере таймера 0.

2.11.6. В режиме 0 таймер 0 представляет собой программно управляемый
13-разрядный двоичный счетчик импульсов, состоящий из 8-разрядного счетчика TH0, вход которого подключен к выходу 5-разрядного делителя частоты TL0 (рис. 2.11, А). При переполнении счетчика (когда счетчик переходит из состояния “все единицы” в состояние “все нули”) таймер устанавливает флаг TF0 (см. табл. 2.8).

 

 

Таблица 2.7

РЕГИСТР УПРАВЛЕНИЯ РЕЖИМОМ ТАЙМЕРА/СЧЕТЧИКА

Обозначение Разряд Наименование и назначение
M0 TMOD.0 Режим работы таймера/счетчика 0:
M1 TMOD.1 M1=0, M0=0 – 13-разрядный таймер/счетчик (TL0 - 5 бит, TH0 - 8 бит); M1=0, M0=1 – 16-разрядный таймер/счетчик (TL0 - 8 бит, TH0 - 8 бит); M1=1, M0=0 – 8-разрядный таймер/счетчик TL0 с авто- перезагрузкой. При переполнении TL0 в TL0 загружается содержимое TH0; M1=1, M0=1 – TL0 – 8-разрядный таймер/счетчик, TH0 – 8-разрядный таймер, управляемый сигналом TR1 и устанавливающий флаг переполнения TF1.
C/T’ TMOD.2 Выбор режима таймера/счетчика 0: C/T’=1 – режим счетчика внешних событий. Содержимое счетчика инкрементируется при перепаде 1 ® 0 на входе T0 (в следующем машинном цикле), C/T’=0 – режим таймера. Инкрементируется в каждом машинном цикле.
GATE TMOD.3 Управление блокировкой таймера/счетчика 0. Если бит установлен, то сигнал на вход таймера/счетчика 0 поступает только при условии INT0’=1
M0 TMOD.4 Режим работы таймера/счетчика 1:
M1 TMOD.5 M1=0, M0=0 – 13-разрядный таймер/счетчик (TL1 - 5 бит, TH1 - 8 бит); M1=0, M0=1 – 16-разрядный таймер/счетчик (TL1 - 8 бит, TH1 - 8 бит); M1=1, M0=0 – 8-разрядный таймер/счетчик TL1 с авто- перезагрузкой. При переполнении TL1 в TL1 загружается содержимое TH1; M1=1, M0=1 – останов таймера/счетчика 1.
C/T’ TMOD.6 Выбор режима таймера/счетчика 1: C/T’=1 – режим счетчика внешних событий. Содержимое счетчика инкрементируется при перепаде 1 ® 0 на входе T1 (в следующем машинном цикле), C/T’=0 – режим таймера. Инкрементируется в каждом машинном цикле.
GATE TMOD.7 Управление блокировкой таймера/счетчика 1. Если бит установлен, то сигнал на вход таймера/счетчика 1 поступает только при условии INT1’=1

 

Таблица 2.8

РЕГИСТР УПРАВЛЕНИЯ ТАЙМЕРА/СЧЕТЧИКА

Обознач. Разряд Наименование и назначение
IT0 TCON.0 Бит управления типом внешнего прерывания 0: IT0=1 - активным сигналом на входе INT0’ является перепад 1 ® 0; IT0=0 - активным сигналом на входе INT0’ является 0.
IE0 TCON.1 Флаг фронта внешнего прерывания 0. Устанавливается по перепаду 1 ® 0 на входе INT0’. Сбрасывается аппаратно при обслуживании прерывания.
IT1 TCON.2 Бит управления типом внешнего прерывания 1: IT0=1 - активным сигналом на входе INT1’ является перепад 1 ® 0; IT0=0 - активным сигналом на входе INT1’ является 0.
IE1 TCON.3 Флаг фронта внешнего прерывания 1. Устанавливается по перепаду 1 ® 0 на входе INT1’. Сбрасывается аппаратно при обслуживании прерывания.
TR0 TCON.4 Бит управления таймером 0. Устанавливается/сбрасывается программно для пуска/останова таймера/счетчика 0.
TF0 TCON.5 Флаг переполнения таймера 0. Устанавливается аппаратно при переполнении таймера 0. Сбрасывается аппаратно при обслуживании прерывания.
TR1 TCON.6 Бит управления таймером 1. Устанавливается/сбрасывается программно для пуска/останова таймера/счетчика 1.
TF1 TCON.7 Флаг переполнения таймера 1. Устанавливается аппаратно при переполнении таймера 1. Сбрасывается аппаратно при обслуживании прерывания.

 

 

 

Рис. 2.11. Таймер-счетчик 0 в разных режимах работы:

А. Режим 0: 13-разрядный счетчик,

В. Режим 2: 8-разрядный счетчик с автоперезагрузкой,

С: Режим 3: два 8-разрядных счетчика

 

Счетные импульсы поступают на вход счетчика TL0, когда TR0=1 и либо GATE=0, либо INT0’=1, где TR0 – управляющий бит регистра TCON (см. табл. 2.8), GATE – бит 3 регистра TMOD (см. табл. 2.7), а INT0’ – внешний сигнал запроса прерывания.

2.11.7. Режим 1 отличается от режима 0 (см. рис. 2.11, А) только тем, что счетчик TL0 имеет разрядность 8 бит, а весь таймер, в структуру которого входят два последовательно включенных счетчика TL0 и TH0, имеет разрядность 16 бит.

2.11.8. В режиме 2 таймер 0 представляет собой 8-разрядный счетчик с автоперезагрузкой (см. рис. 2.11, В). При переполнении счетчика TL0 не только устанавливается флаг TF0, но и автоматически загружается в TL0 содержимое счетчика TH0. После перезагрузки содержимое счетчика TH0 остается прежним. Начальная установка счетчика TH0 выполняется программным путем.

2.11.9. В режиме 3 таймеры 0 и 1 работают по-разному.

Содержимое таймера 1 в режиме 3 сохраняется неизменным (эффект такой же, как при TR1=0).

Счетчики TL0 и TH0 таймера 0 работают как два независимых 8-разрядных счетчика (см. рис. 2.11, С). Счетчик TL0 использует управляющие биты таймера 0: C/T’, GATE, TR0, INT0’ и TF0. Счетчик TH0, который может выполнять только функции таймера (считать машинные циклы), использует управляющий бит TR1 и флаг TF1 таймера 1.

Режим 3 используется тогда, когда для реализации требуемого алгоритма нужен дополнительный 8-разрядный таймер или счетчик. Если таймер 0 работает в режиме 3, в составе МК 80С51 имеется три таймера. При этом таймер 1 может быть выключен путем перевода в свой собственный режим 3, может быть использован последовательным портом в качестве формирователя частоты синхронизации, а также может быть использован в любом применении, не требующем прерывания.

 








Дата добавления: 2015-10-09; просмотров: 1768;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.