MCS-51 (1031646), страница 4
Текст из файла (страница 4)
Если прерывание было вызвано уровнем сигнала на входе INT0 (INT1), тосброс флага IE должна выполнять программа обслуживания прерывания, воздействуя наисточник прерывания для снятия им запроса.Схема инкремента предназначена:— для увеличения на 1 в каждом машинном цикле содержимого регистров Т/С0,Т/С1, для которых установлен режим таймера и счет разрешен;— для увеличения на 1 содержимого регистров Т/С 0, Т/С 1, для которых установлен режим счетчика, счет разрешен и на соответствующем входе ОМЭВМ (Т0 для Т/С0 иТ1 для Т/С1) зафиксирован счетный импульс.Схема фиксации INT0, INT1, Т0, Т1 представляет собой четыре триггера.
В каждоммашинном цикле в момент S5P2 в них запоминается информация с выводов ОМЭВМINT0, INT1, Т0, Т1.Схема управления флагами вырабатывает и снимает флаги переполнения Т/С ифлаги запросов внешних прерываний.Логика управления Т/С синхронизирует работу регистров Т/С 0 и Т/С 1 в соответствии с запрограммированными режимами работы и синхронизирует работу блока Т/С сработой ОМЭВМ.Таблица 2.9БитыОбозначение7ТF16TR15TF04TR03IE12IT11IE00IT0Таблица 2.10Биты6475ОбознаНазначение битовчениеTR1Биты выключения Т/С, отдельноTR0для Т/С 0 и Т/С 1.TR=0 - выключен,TR=1 - включен.ТF1Флаги переполнения Т/С.ТF020IT1IT031IE1IE0Биты, определяющие вид прерывания по входам INT0, INT1:IТ=0 - прерывание по уровню(низкому)IТ=1 - прерывание по фронту(переход из "1" в "0") .Флаги запроса внешних прерываний по входам INT0, INT1ПримечаниеБиты устанавливаются и сбрасываются программно.
Доступны почтению.Биты сбрасываются и устанавливаются аппаратно и программно.Доступны по чтению.Биты устанавливаются и сбрасываются программно. Доступны почтению.Биты сбрасываются и устанавливаются аппаратно и программно.Доступны по чтению.Режимы работы Т/С. Режим работы каждого Т/С определяется значением битовМ0, Ml в регистре TMOD. Т/С 0 и Т/С 1 имеют четыре режима работы. Режимы работы 0,1, 2 одинаковы для обоих Т/С; Т/С 0 и Т/С 1 в этих режимах полностью независимы друг19от друга.
Работа Т/С 0 и Т/С 1 в режиме 3 различна. При этом установка режима 3 в Т/С 0влияет на режимы работы Т/С 1.Установка битов M0=0, М1=0 определяет режим работы 0. Т/С в режиме 0 представляет собой устройство на основе 13-разрядного регистра и функционально совместимс таймером/счетчиком семейства МК48 (восьмиразрядный таймер/счетчик с предделителем на 32).13-разрядный регистр состоит для Т/С 0 из 8 разрядов регистра ТН0 и 5 младшихразрядов регистра TL0, а для Т/С 1 — из 8 разрядов регистра ТН1 и 5 младших разрядоврегистра TL1.В этом режиме функцию делителя на 32 выполняют регистры TL0, ТL1. Они являются программно доступными, но надо помнить, что значащими в режиме 0 являютсятолько пять младших разрядов регистров TL0, TL1.
Логика работы в режиме 0 на примереТ/С 1 показана на рис. 2.3. Для Т/С 0 логика работы аналогична. На рис. 2.3—2.6 OSC —источник синхронизации ОМЭВМ (внутренний или внешний). На выходе OSC — частотаfBQ- Бит С/Т регистра TMOD определяет работу Т/С или в качестве таймера (С/Т=0), илив качестве счетчика (С/Т=1).Счет начинается при установке бита TR регистра ТCON в состояние "1".
Принеобходимости управления счетом извне бит GATE регистра TMOD устанавливается в состояние "1". Тогда при TR=1 счет будет разрешен, если на входе INT0 (дляТ/С 0) или INT1 (для Т/С1) установлено состояние "1" и будет запрещен, если установленосостояние "0". Установка бита TR0 для Т/С0 и ТR1 для Т/С1 в состояние "0" выключаетТ/С независимо от состояния других битов.Рис. 2.3 Логика работы Т/С1 в режиме 0При переполнении Т/С (переход содержимого регистра Т/С из состояния "все единицы" в состояние "все нули") устанавливается флаг TF0 для Т/С 0 или TF1 для Т/С 1 врегистре TCON.Установка битов М1=0, М0=1 определяет режим работы 1. Режим 1 аналогиченрежиму 0. Отличие состоит в том, что установка режима 1 превращает Т/С в устройствона основе 16-разрядного регистра.
Для Т/С 0 регистр состоит из программно доступныхпар TL0, ТН0, для Т/С 1 из программно доступных пар TL1, ТН1. Логика работы в режиме1 на примере Т/С 1 показана на рис. 2.4.20Рис. 2.4. Логика работы Т/С1 в режиме 1Установка битов М1=1, М0=0 определяет режим 2. В этом режиме Т/Спредставляет собой устройство на основе восьмиразрядного регистра TL0 для Т/С 0 и TL1для T/C1. При каждом переполнении TL0 кроме установки в регистре TCON происходитавтоматически перезагрузка содержимого из ТН0 в TL0.
Соответственно; 1 при переполнении ТЫ в регистре TCON устанавливается 1 и происходит перезагрузка TL1 из ТН1.Регистры ТН0 и ТН1 загружаются программно. Перезагрузка TL0 из ТН0 и TL1 из ТН1 невлияет на содержимое регистров ТН0 и ТН1. Логика работы Т/С1 в режиме 2 показана нарис. 2.5. Логика работы Т/С0 в режиме 2 аналогична. Назначение битов управления TR0,TR1, GATE0, GATE1, C/T0, C/T1 такое же, как и в режиме 0.Рис. 2.5. Логика работы Т/С1 в режиме 2Установка битов M1=1, M0=1 определяет режим 3.
Т/С 1 в режиме 3 заблокирован и просто сохраняет свой счет (значение кода в регистре Т/С) Эффект такой же, как приустановке TR1=0. Т/С0 в режиме 3 представляет собой два независимых устройства на основе восьмиразрядных регистров TL0 и TH0. Устройство на основе регистра TL0 можетработать в режиме таймера и в режиме счетчика. За ним сохраняются все биты управления Т/С0, оно реагирует на воздействия по входам Т0, INT0. При переполнении TL0 устанавливается флаг TF0. Устройство на основе регистра ТН0 может работать только в режиме таймера. Оно использует бит включения TR1, при переполнении TH0 выставляетфлаг TF1.
Других битов управления устройство на основе TH0 в этом режиме не имеет.Логика работы Т/С 0 в режиме 3 показана на рис. 2.6.21Рис. 2.5. Логика работы Т/С0 в режиме 3Установка Т/С0 в режим 3 лишает Т/С1 бита включения TR1. Поэтому Т/С1 в режимах 0, 1, 2 при GATE1=0 всегда включен и при переполнении в режимах 0 и 1 Т/С1 обнуляется, а в режиме 2 перезагружается не устанавливая флаг, если Т/С0 находится в режиме 3. Управление от входов INT1, Т1, биты управления C/Tl, GATE1 для Т/С1 не зависят от режима Т/С0.Т/С1 аппаратно связан с блоком синхронизации последовательного интерфейса(ПИ). При работе в режимах 0, 1, 2 при переполнении Т/С1 всегда вырабатывает импульстактировки ПИ. Поэтому 3-й режим Т/С0 удобно применять тогда, когда требуется работаПИ и двух таймеров или ПИ, таймера и счетчика.Когда Т/С0 переведен в режим 3, Т/С1 можно выключить, переведя его также в режим 3, использовать с последовательным портом для выработки импульсов тактировкиили в любых других приложениях, не требующих прерывания.Дополнительная информация.
Выключение Т/С с помощью битов TR0, TR1(сброс этих битов в"0") или с помощью входов ОМЭВМ INT0, INT1 (установка на этихвходах логического "0" при GATE=1) не искажает код, находящийся в регистре Т/С. Т/Сможно выключить, через произвольное время вновь включить и счет начнется с той величины, которая была в регистре Т/С на момент выключения (если, конечно, после выключения регистр Т/С не перезаписывался).Новая загрузка Т/С сразу же означает новую величину счета, а старая теряется. Если загрузка произведена при включенном Т/С, счет продолжится с новой величины.
Очередность загрузки регистров TL0, TH0. TL1, ТН1 — произвольная.Во всех режимах, кроме режима 2, после переполнения Т/С счет продолжается свеличины 00Н, если Т/С не выключить с помощью битов TR0, TR1 или входов INT0,INT1.2.2.4. Блок последовательного интерфейса и прерываний.
РегистрыSCON, IP, IEБлок последовательного интерфейса и прерываний (ПИП) предназначен для организации ввода-вывода последовательных потоков информации и организации системыпрерывания программ.В состав блока ПИП входят: буфер ПИП, логика управления ПИП, регистр управления, буфер передатчика, буфер приемника, приемник/передатчик последовательного22порта, регистр приоритетов прерываний, регистр разрешения прерываний, логика обработки флагов прерываний и схема выработки вектора.Буфер ПИП обеспечивает побайтовый обмен информацией между внутренней магистралью данных и шиной ПИП.Логика управления ПИП предназначена для выработки сигналов управления,обеспечивающих четыре режима работы последовательного интерфейса, и организациипрерывания программ.Последовательный интерфейс (последовательный порт) МК51 может работать вследующих четырех режимах:Режим 0.