КАТЕГОРИИ: Архитектура-(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
Регістр режимів TMOD Призначений для приймання і зберігання коду, який визначає: - один з 4 можливих режимів роботи кожного Т/С; - виконання функцій таймерів або лічильників; - керування Т/С по зовнішньому виводу.
Призначення бітів регістра TMOD
Вибір режиму роботи здійснюється окремо для Т/С0 і для Т/С1 згідно зі значенням бітів М1.0(М1.1) та М0.0(М0.1):
Режими роботи Т/С. Режим роботи кожного Т/С визначається значенням бітів М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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |