Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекція1_3. Робота системних таймерів. МК MCS51

Робота системних таймерів. Типи таймерів.

В базових моделях сімейства MCS-51 є два програмованих 16-бітних таймери/лічильники (Т/С0 і Т/С1), які можуть бути використані як в якості таймерів (для реалізації програмно керованих затримок та виконання функції задання часу), так і в якості лічильників (для підрахунку зовнішніх подій). В першому випадку вміст відповідного таймера/лічильника (Т/С) інкрементується в кожному машинному циклі, тобто через кожні 12 періодів коливань кварцового резонатора, а в другому випадку – він інкрементується під дією переходу з 1 в 0 зовнішнього вхідного сигналу, що подається на відповідний (Т0, Т1) вивід МК. Вміст лічильника збільшиться на 1, якщо в попередньому циклі надійшов сигнал високого рівня (1), а в наступному – сигнал низького рівня (0). Так як на розпізнавання періоду потрібно 2 машинні цикли, то максимальна частота підрахунку вхідних сигналів дорівнює 1/24 частоти резонатора. На тривалість періоду вхідних сигналів обмежень зверху немає. Для гарантованого читання вхідний сигнал повинен утримувати значення 1, як мінімум, на протязі одного машинного циклу МК.

Регістри Т/С0 і Т/С1 використовуються для зберігання результатів підрахунку, кожен з них може бути використаний як РЗП, якщо відповідний таймер не використовується. Початковий код лічби заноситься в регістри Т/С програмно. Ознакою закінчення лічби є переповнення регістра Т/С, тобто перехід його вмісту зі стану «всі одиниці» в стан «всі нулі».

Сторожовий таймер (Watchdog) – це схема, яка автоматично скидає МК, якщо не отримує від управляючої системи сигналу, що підтверджує, що не відбулося ніякого збою. Такі пристрої використовуються в системах, де є електричні завади або збої по живленню, і де потрібно забезпечити велику надійність.

 

2. Регістр стану таймера і регістр керуючого слова. Програмування таймерів.

Для управління режимами роботи Т/С і для організації їх взаємодії з системою переривань використовуються два регістри спеціальних функцій (TMOD i TCON).

Регістр управління/статусу таймера TCON призначений для приймання і зберігання коду керуючого слова.

Призначення бітів регістра TCON

Біт Познач Призначення
  TF1 Прапорець переповнення таймера 1. Встановлюється апаратно при переповненні Т/С. Скидається при обслуговуванні переривання апаратно.
  TR1 Біт управління таймера 1.Встановлюється, /скидається програмно для пуску/зупинки. TR=0 – вимкнений, TR=1 – увімкнений.
  TF0 Прапорець переповнення таймера 0. Встановлюється апаратно при переповненні Т/С. Скидається при обслуговуванні переривання апаратно.
  TR0 Біт управління таймера 0.Встановлюється /скидається програмно для пуску/зупинки Т/С. TR=0 – вимкнений, TR=1 – увімкнений.
  IE1 Прапорець запиту зовнішнього переривання по входу INT1.Встановлюється апаратно при детектуванні зрізу запиту зовнішнього сигналу INT1. (зріз/низький рівень). Скидається при обслуговуванні переривання.
  IT1 Біт управління типом переривання 1. Встановлюється/скидається програмно для визначення типу переривання по входу INT1.
  IE0 Прапорець запиту зовнішнього переривання по входу INT0.Встановлюється апаратно при детектуванні зрізу запиту зовнішнього сигналу INT0. (зріз/низький рівень). Скидається при обслуговуванні переривання.
  (IT0) Біт управління типом переривання 0. Встановлюється/скидається програмно для визначення типу переривання по входу INT0.

Регістр режимів TMOD

Призначений для приймання і зберігання коду, який визначає:

- один з 4 можливих режимів роботи кожного Т/С;

- виконання функцій таймерів або лічильників;

- керування Т/С по зовнішньому виводу.

 

 

Призначення бітів регістра TMOD

Біт Позначення Призначення
7 для Т/С1 (3 для Т/С0) GATE1 (GATE0) Управління блокуванням.Дозволяє керувати таймером від зовнішнього виводу (INT0- для Т/С0, INT1-для Т/С1). GATE=0 – керування заборонено, GATE=1 – керування дозволено.
6 для Т/С1 (2 для Т/С0) С/Т1 (С/Т0) Біт вибору функції таймера або лічильника.Якщо біт скинуто, то працює таймер від внутрішнього джерела сигналів синхронізації, якщо біт встановлено, то працює лічильник від зовнішніх сигналів на входах Т0 (Т1).
5 для Т/С1 (1 для Т/С0) М1.1 (М1.0) Вибір режиму роботи.
4 для Т/С1 (0 для Т/С0) М0.1 М0.0

Вибір режиму роботи здійснюється окремо для Т/С0 і для Т/С1 згідно зі значенням бітів М1.0(М1.1) та М0.0(М0.1):

М1 М0 Режим
     
     
     
     

Режими роботи Т/С.

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

Режим 0 (М0=0, М1=0) Таймер в режимі 0 являє собою пристрій на базі 13-розрядного регістра і є 8-розрядним таймером (лічильником) з 5 розрядним перед дільником на 32. Для Т/С0 13-розрядний регістр являє собою 8 розрядів регістра ТН0 та 5 молодших розрядів регістра TL0, а для Т/С1 – 8 розрядів регістра Т/Н1 і 5 молодших розрядів регістра TL1. Вони є програмно доступними, але значущі в них лише 5 молодших розрядів. При переповненні Т/С, тобто при переході вмісту регістра Т/С зі стану «всі одиниці» в стан «всі нулі», встановлюється прапорець TF0 (для T/C0) і TF1 (для T/C1) у регістрі TCON. Установка біта GATE в 1 дозволяє використовувати таймер для вимірювання тривалості імпульсного сигналу, що подається на вхід запиту переривання.

Режим 1 (М0=1, М1=0) Відмінність від режиму 0 полягає в тому, що встановлення режиму 1 перетворює Т/С на пристрій з 16-розрядним регістром. Для Т/С0 регістр складається з програмно доступних пар TL0, ТН0, для Т/С1 – TL1, ТН1.

Режим 2 (М0=0, М1=1) У режимі 2 Т/С являє собою пристрій на базі 8-розрядного регістра TL0 для Т/С0 і TL1 для Т/С1. При кожному переповненні TL, крім установлення прапорця TF в регістрі TCON, здійснюється автоматичне перезавантаження вмісту ТН у TL. Регістри ТН0 і ТН1 завантажуються програмно. Перезавантаження TL0 з ТН0 та TL1 з TL1 не впливає на вміст регістрів ТН0 і ТН1.

Режим 3 (М0=1, М1=1) Т/С1 – заблокований і зберігає своє значення. Т/С0 в режимі 3 являє собою два незалежні пристрої на базі 8-розрядних регістрів TL0 і ТН0. Пристрій на базі TL0 може працювати як в режимі таймера так і в режимі лічильника, а на базі ТН0 – тільки в режимі таймера. Для забезпечення роботи Т/С0 в режимі 3 використовують біти TR1 і TF1, тому вони не можуть використовуватись для керування Т/С1. це призводить до того, що при встановленні Т/С0 в режим 3, а Т/С1 – в режим 0, 1 або 2, таймер Т/С1 при GATE1=1 завжди ввімкнений. При GATE1=0 вмикання Т/С1 визначається зовнішніми сигналами аналогічно розглянутому режиму 0. При переповненні у режимах 0 і 1 Т/С1 обнулюється, а в режимі 2 – перезавантажується без встановлення прапорця TF1.

Оскільки Т/С1 апаратно пов’язаний з послідовним портом, то під час роботи Т/С0 в режимі 3 можна використовувати Т/С1 в режимі 2 для задання швидкості роботи послідовного порту, або інших завдань, що не потребують переривань.

<== предыдущая лекция | следующая лекция ==>
Лекция: Компьютерное моделирование и вычислительный эксперимент. Решение математических моделей | Поділ іменників І відміни за групами. Відмінювання іменників І відміни
Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 636; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.