Смекни!
smekni.com

Арифметико-логическое устройство (АЛУ). Регистр PSW (стр. 2 из 2)

Схема инкремента предназначена;

—для увеличения на 1 в каждом машинном цикле содержимого регистров Т/С 0, Т/С 1, для которых установлен режим таймера и счет разрешен;

— для увеличения на 1 содержимого регистров Т/С 0, Т/С 1, для которых установлен режим счетчика, счет разрешен и на соответствующем входе ОМЭВМ (Т0 для Т/С 0 и Т1 для Т/С 1) зафиксирован счетный импульс.

Схема фиксации INT0, INT1, Т0, Т1 представляет собой четыре триггера. В каждом машинном цикле в момент S5P2 в них запоминается информация с выводов ОМЭВМ INT0, INT1, Т0, Т1.

Схема управления флагами вырабатывает и снимает флаги переполнения Т/С и флаги запросов внешних прерываний.

Логика управления Т/С синхронизирует работу регистров Т/С 0 и Т/С 1 в соответствии с запрограммированными режимами работы и синхронизирует работу блока Т/С с работой ОМЭВМ.

Таблица 6

Биты 7 6 5 4 3 2 1 0
Обозначение TF1 TR1 TF0 TR0 IЕ1 IT1 IЕ0 IT0

Таблица 7

Би-ты Наименование Назначение битов Примечание
6 TR1 Биты выключения Т/С, отдельно для Биты устанавливаются и
4 ТR0 Т/С в и Т/С 1. сбрасываются программно.
TR=0 - выключен, Доступны по чтению.
TR=1 - включен.
7 TF1 Флаги переполнения Т/С. Биты сбрасываются и
5 ТF0 устанавливаются аппаратно
и программно.
Доступны по чтению.
2 IT1 Биты, определяющие вид прерывания Биты устанавливаются и
0 IТ0 по входам INT0, INT1: сбрасываются программно
IТ=0 - прерывание по уровню Доступны по чтению.
(низкому)
IТ=1 - прерывание по фронту
(переход из "1" в "0")
3 IE1 Флаги запроса внешних прерываний, Биты сбрасываются и устанавливаются аппа-
1 IE0 по входам INT0, INT1 ратно и программно.
Доступны по чтению.
Биты 4,5 относятся к Т/С в; биты 6, 7 - к Т/С 1. Биты 0,1 определяют внешние прерывания по входу INT0, биты 2,3 - по входу INT1.

Режим работы каждого Т/С определяется значением битов М0, М1 в регистре TMOD. Т/С 0 и Т/С 1 имеют четыре режима работы. Режимы работы 0, 1, 2 одинаковы для обоих Т/С; Т/С 0 и Т/С 1 в этих режимах полностью независимы друг от друга. Работа Т/С 0 и Т/С 1 в режиме 3 различна. При этом установка режима 3 в Т/С 0 влияет на режимы работы Т/С 1.

Установка битов М0=0, М1=0 определяет режим работы 0. Т/С в режиме 0 представляет собой устройство на основе 13-разрядного регистра и функционально совместим с таймером/счетчиком семейства МК48 (восьмиразрядный таймер/счетчик с пред делителем на 32).

13-разрядный регистр состоит для Т/С 0 из 8 разрядов регистра ТН0 и 5 младших разрядов регистра TL0, а для Т/С 1—из 8 разрядов регистра ТН1 и 5 младших разрядов регистра TLI.

В этом режиме функцию делителя на 32 выполняют регистры TL0, TL1. Они являются программно доступными, но надо помнить, что значащими в режиме 0 являются только пять младших разрядов регистров TL0, TL1.

Для Т/С 0 логика работы аналогична. Источник синхронизации ОМЭВМ (внутренний или внешний). На выходе OSC — частота fBQ. Бит С/Т регистра TMOD определяет работу Т/С или в качестве таймера (С/Т=0), или в качестве счетчика (С/Т=1). Счет начинается при установке бита TR регистра Tcon в состояние "1". При необходимости управления счетом извне бит GATE регистра THOD устанавливается в состояние "1". Тогда при TR=1 счет будет разрешен, если на входе INT0 (для Т/С 0) или INTI (для Т/С 1) установленно состояние "1" и будет запрещен, если установлено состояние "0". Установка бита TR0 для Т/С 0 и TR1 для Т/С 1 в состояние "0" выключает Т/С независимо от состояния других битов.

При переполнении Т/С (переход содержимого регистра Т/С из состояния "все единицы" в состояние "все нули") устанавливается флаг TF0 для Т/С 0 или TF1 для Т/С 1 в регистре TCON.

Установка битов М1=0, М0=1 определяет режим работы 1. Режим 1 аналогичен режиму 0. Отличие состоит в том, что установка режима 1 превращает Т/С в устройство на основе 16-разрядного регистра. Для Т/С 0 регистр состоит из программно доступных пар TL0, ТН0, для Т/С 1 из программно доступных пар TL1, ТН1. Логика работы в режиме 1 на примере Т/С 1 показана на рис. 1.

Рис. 1. Логика работы Т/С 1 в режиме 1

Установка битов М1=1, М0=0 определяет режим В этом режиме Т/С представляет собой устройство на основе восьмиразрядного регистра TL0 для Т/С 0 и TLI для Т/С 1. При каждом переполнении TL0 кроме установки в регистре TCON флага TF0 происходит автоматически перезагрузка содержимого из ТН0 в TL0. Соответственно для Т/С 1 при переполнении TLI в регистре TCON устанавливается флаг TFI и происходит перезагрузка TLI из ТН1. Регистры ТН0 и ТН1 загружаются программно. Перезагрузка TL0 из ТН0 и TLI из ТН1 не влияет на содержимое регистров ТН0 и ТН1. Логика работы Т/С 0 в режиме 2 аналогична. Назначение битов управления TR0, TR1, GATE0, GATE1, С/Т 0, С/Т 1 такое же как режиме 0.

Установка битов М1=1, М0=1 определяет режим 3. Т/С 1 в режиме 3 заблокирован и просто сохраняет свой счет (значение кода в регистре Т/С). Эффект такой же, как при установке TR1=0.

Т/С 0 в режиме 3 представляет собой два независимых устройства на основе восьмиразрядных регистров TL0 и ТН0. Устройство на основе регистра TL0 может работать в режиме таймера и в режиме счетчика. За ним сохраняются все биты управления Т/С 0, оно реагирует на воздействия по входам Т0, INT0. При переполнении TL0 устанавливается флаг TF0. Устройство на основе регистра ТН0 может работать только в режиме таймера. Оно использует бит включения TR1, при переполнении ТН0 выставляет флаг TF1. Других битов управления устройство на основе ТН0 в этом режиме не имеет.

Установка Т/С 0 в режим 3 лишает Т/С 1 бита включения TRI. Поэтому Т/С 1 в режимах 0, 1, 2 при GATE1=0 всегда включен и при переполнении в режимах 0 и 1 Т/С 1 обнуляется, а в режиме 2 перезагружается не устанавливая флаг, если Т/С 0 находится в режиме 3. Управление от входов INT1, Т1, биты управления C/T1, GATE1 для Т/С 1 не зависят от режима Т/С 0.

Т/С 1 аппаратно связан с блоком синхронизации последовательного интерфейса (ПИ). При работе в режимах 0, 1, 2 при переполнении Т/С 1 всегда вырабатывает импульс тактировки ПИ. Поэтому 3-й режим Т/С 0 удобно применять тогда, когда требуется работа ПИ и двух таймеров или ПИ, таймера и счетчика.

Когда Т/С 0 переведен в режим 3, Т/С 1 можно выключить, переведя его также в режим 3, использовать с последовательным портом для выработки импульсов тактировки или в любых других приложениях, не требующих прерывания. Дополнительная информация. Выключение Т/С с помощью битов TR0, TR1 (сброс этих битов в "0") или с помощью входов ОМЭВМ INT0, INT1 (установка на этих входах логического "0" при GATE=1) не искажает код, находящийся в регистре Т/С. Т/С можно выключить, через произвольное время вновь включить и счет начнется с той величины, которая была в регистре Т/С на момент выключения (если, конечно, после выключения регистр Т/С не перезаписывался).

Новая загрузка Т/С сразу же означает новую величину счета, а старая теряется. Если загрузка произведена при включенном Т/С, счет продолжится с новой величины. Очередность загрузки регистров TL0, ТН0, TL1, ТН1 — произвольная.

Во всех режимах, кроме режима 2, после переполнения Т/С счет продолжается с величины 00Н, если Т/С не выключить с помощью битов TR0, TR1 или входов INT0, INT1.


Литература

1 Тавернье К. PIC-микроконтроллеры. Практика применения: Пер. с фр. -М: ДМКПресс, 2008. - 272 с.: ил. (Серия «Справочник»).

2 Борзенко А.Е. IBMPC: устройство, ремонт, модернизация. – 2-е изд. перераб. и доп. – М.: ТОО фирма «Компьютер Пресс», 2006. – 344с.: ил.

3 Цифровые интегральные микросхемы: Справ./М. И. Богданович, И.Н. Грель, В.А. Прохоренко, В.В. Шалимо.–Мн.: Беларусь, 2001. – 493 с.: ил.

4 ДСТУ 3008-95. Документация. Отчеты в сфере науки и техники. Структура и правила оформления.