Лек2 (1084887), страница 4

Файл №1084887 Лек2 (Лекции по микропроцессорам) 4 страницаЛек2 (1084887) страница 42018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

Таблица. 2.7

Биты

7

6

5

4

3

2

1

0

Обозначение

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

Таблица. 2.8

Биты

Наименов.

Назначение битов

Примечание

6

4

TR1

TR0

Биты выключения Т/С, отдельно для Т/С0 и Т/С1.

TR=0 – выключен,

TR=1 – включен.

Биты устанавливаются и сбрасываются программно.

Доступны по чтению.

7

5

TF1

TF0

Флаги переполнения Т/С.

Биты сбрасываются и устанавливаются аппаратно и программно.

Доступны по чтению.

2

0

IT1

IT0

Биты, определяющие вид прерывания по входам INT0, INT1:

IТ=0 – прерывание по уровню (низкому)

IТ=1 – прерывание по фронту (переход из "1" в "0")

Биты устанавливаются и сбрасываются программно.

Доступны по чтению.

3

1

IE1

IE0

Флаги запроса внешних прерываний по входам INT0, INT1

Биты сбрасываются и устанавливаются аппаратно и программно.

Доступны по чтению.

Биты 4, 5 относятся к Т/С0; биты 6, 7 – к Т/С1. Биты 0,1 определяют внешние прерывания по входу INT0, биты 2,3 – по входу INT1.

Флаги переполнения TF0 и TF1 устанавливаются аппаратно при переполнении соответствующих Т/С (переход Т/С из состояния "все единицы" в состояние "все нули"). Если при этом прерывание от соответствующего Т/С разрешено, то установка флага TF вызовет прерывание. Флаги TF0 и TF1 сбрасываются аппаратно при передаче управления программе обработки соответствующего прерывания.

Флаги TF0 и TF1 программно доступны и могут быть установлены/сброшены программой. Используя этот механизм, прерывания по TF0 и TF1 могут быть вызваны (установка TF) и отменены (сброс TF) программой.

Флаги IE0 и IE1 устанавливаются аппаратно от внешних прерываний (соответственно входы INT0 и INT1) или программно и инициируют вызов программы обработки соответствующего прерывания. Сброс этих флагов выполняется аппаратно при обслуживании прерывания только в том случае, когда прерывание было вызвано по фронту сигнала. Если прерывание было вызвано уровнем сигнала на входе INT0 (INT1), то сброс флага IE должна выполнять программа обслуживания прерывания, воздействуя на источник прерывания для снятия запроса.

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

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

2.7. 2. Режимы работы Т/С

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

Режимы 0 и 3 используются сравнительно редко, поэтому рассматривать их не будем. Рассмотрим только режимы 1 и 2.

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

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

На рис.2.9 источник тактовой частоты обозначен OSC. На выходе OSC — частота Fт. Бит С/Т регистра TMOD определяет работу Т/С или в качестве таймера (С/Т=0), или в качестве счетчика (С/Т=1). Счет начинается при установке бита TR регистра TCON в состояние "1". При необходимости управления счетом извне бит GATE регистра TMOD устанавливается в состояние "1". Тогда при TR=1 счет будет разрешен, если на входе INT0 (для Т/С0) или INT1 (для Т/С1) установление состояние "1" и будет запрещен, если установлено состояние "0". Установка бита TR0 для Т/С0 и TR1 для Т/С1 в состояние "0" выключает Т/С независимо от состояния других битов.

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

Установка битов MХ1=1, MХ0=0 определяет режим 2. В этом режиме Т/С представляет собой устройство на основе восьмиразрядного регистра TL0 для Т/С0 и ТL1 для Т/С1. При каждом переполнении TL0 кроме установки в регистре TCON флага TF0 происходит автоматически перезагрузка содержимого из ТН0 в TL0. Соответственно для Т/С1 при переполнении ТL1 в регистре TCON устанавливается флаг TF1 и происходит перезагрузка TL1 из ТН1. Регистры ТН0 и ТН1 загружаются программно. Перезагрузка TL0 из ТН0 и TL1 из ТН1 не влияет на содержимое регистров ТН0 и ТН1. Логика работы Т/С1 в режиме 2 показана на рис.2.10. Логика работы Т/С0 в режиме 2 аналогична.

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

2.7.3. Применение таймеров/счетчиков:

1.) Таймеры/счетчики могут создавать временные интервалы.

2.) Таймеры/счетчики могут определять длительность отдельных фрагментов программы.

3.) Таймеры/счетчики можно использовать, как частотомер.

4.) Таймеры/счетчики можно использовать для определения длительности импульсов.

5.)Таймер/счётчик 1 в режиме 2 используется как источник синхросигналов для УСАПП.

Пример № 1.

Организовать временную задержку на 100 микросекунд, используя таймер/счетчик ноль. Структурная схема программы на рис.2.11.

РИС.2.11. Структурная схема программы задержки

MOV TL0, #156 ; загрузка константы 156 в TL0; (256 – 100 = 156).

MOV TH0, #0FFH ; запишем в TH0 максимальное значение.

MOV TMOD, #01 ; в регистре TMOD выберем 1 режим работы T/C0.

SETB TR0 ; для пуска T/C0 установим бит TR0 в 1.

POVT: JNB TF0, POVT ; если TF0=0,то переход на метку POVT, а если TF0=1,то переход к следующей команде.

………………………….

Пример № 2.

Подсчитать количество импульсов на входе Т1 за время 50 мс. Таймеры/счетчики ведут два счета одновременно: Т/С0 формирует требуемый временной интервал, Т/С1 подсчитывает количество импульсов на входе Т1 за это время.

Рассмотрим два варианта решения:

  1. С программным опросом флага переполнения TF0 и последующим остановом счёта импульсов.

  2. Используя режим прерываний. По окончанию заданного времени происходит прерывание от Т/С0, если оно разрешено . Адрес вектора прерывания от Т/С0 равен 0ВН (1110). В подпрограмме обслуживания прерывания остановим счёт внешних импульсов.

Первый вариант

MOV TH0, #3CH ; Запись начальных значений в Т/С0

MOV TL0, #B0H

MOV TL1, #0 ; Обнуление (0)  (TL1)

MOV TH1, #0 ; (0)  (TH1)

ORL TCON, #01010000В ; Одновременный запуск Т/С

POVT: JNB TF0, POVT ; если TF0=0, то переход на POVT, а если TF0=1,то выполняется следующая команд.

CLR TR1 ; останов счётчика внешних импульсов

END

Второй вариант

ORG 0 ; Директива размещения в памяти программ

LJMP MAIN ;Безусловный переход к осн. программе

ORG 0BH ;Адрес вектора прерывания

CLR TR1 ; Останов счётчика внешних импульсов

RETI ; Возврат из подпрограммы обслуживания прерывания

;Основная программа

MAIN: MOV TH0, #3CH ; (3CH)(TH0)

MOV TL0, #B0H ;(B0H) (TL0)

MOV TL1, #0 ; (0)  (TL1)

MOV TH1, #0 ; (0)  (TH1)

ORL TCON, #01010000В ; (01010000) ( TCON)

SETB ET0 ;Разрешение прерываний от Т/С0

SETB EA ;Общее разрешение прерываний

END ;Директива окончания текста программы

Пояснение к выбору начального значения таймера:

Полный цикл 16-разрядного счётчика: 65536 микросекунд.

50 мс = 50000 мкс. Значит, первоначально должно быть записано: 65536 – 50000 = 15536 (мкс). Переведем 15536 в 16-тиричную систему счисления:

Получим: 3CB0.

Проверим: 3CB0 = 3 ∙ 4096 + 12 ∙ 256 + 11 ∙ 16 + 0 ∙ 1 = 15536.

3C (16) = 60 (10) = 111100 (2), а B0 (16) = 176 (10) = 10110000 (2).

Пример 3

Измерить длительность положительного импульса на входе INT0. Связь таймера/счётчика Т/С0 с выводом INT0 осуществляется битом GATE0. При установки этого бита в единичное состояние, т.е. при GATE0 =1 счёт ведётся до тех пор, пока на входе INT0 присутствует высокий потенциал. Настроим Т/С0 на работу в режиме 1 в качестве таймера и будем проверять состояние INT0 (Р3.2). При появлении нулевого состояния на этом входе прекратим счёт.

MOV TMOD, # 00001001B; Настройка Т/С0

SETB TR0 ; Запуск Т/С0

POVT: JB P3.2, POVT; Проверка состояния входе INT0

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

Тип файла
Документ
Размер
1,03 Mb
Тип материала
Высшее учебное заведение

Список файлов лекций

Лекции по микропроцессорам
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее