КАТЕГОРИИ: Архитектура-(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) |
Таймери/лічильники
У початковій архітектурі MCS - 51 два 16-розрядні таймери/лічильника, Таймер 0 і Таймер 1. Кожен з них незалежно може бути запрограмований на роботу в якості або таймера(відлік часу через підрахунок внутрішніх імпульсів синхронізації), або лічильника(підрахунок подій на зовнішньому вході). У обох випадках перехід через заздалегідь встановлений рубіж призводить до формування запиту переривання. Вибір режиму роботи кожного з таймерів робиться бітами З/Тх# (х = 0,1) регістра TMOD. Підрахунок подій робиться за допомогою інкремента програмно доступного регістра даних, який з¬стоїть з регістра молодшого байта TLx і регістра старшого байта ТНх. При роботі в режимі таймера(З/Тх# = 0) регістр TLx нарощується в кожному машинному циклі і частота рахунку рівна Fosc/12. У режимі лічильника(З/Тх# = 1) регістр TLx нарощується при пері¬ході сигналу на вході Тх з " 1" в " 0". Входи опитуються під час фази S5P2 кожного машинного циклу. При виявленні високого рівня сигналу в одному циклі і низького рівня в наступному циклі лічильник инкрементируется. Нове значення в регістрі з'являється під час фази S3P1 циклу, що йде за тим, в якому був виявлений перехід. По¬скольку на розпізнавання переходу йде два машинні цикли, максимальна частота рахунку складає Fosc/24. Обмежень на шпаруватість вхідного сигналу немає, але для упевненої фіксації перепаду сигнал повинен утримуватися в кожному значенні принаймні один машинний цикл. Лічильники/таймери обслуговуються регістром режиму TMOD і регістром управління TCON.
Біти Ml і МО таким чином визначають режими роботи таймерів/ лічильників:
Вибір типу підраховуваних подій для Таймера 0 і Таймера 1, тобто призначення їм функції таймера або лічильника, визначається значенням біта управління З/Тх# регістра TMOD. Таймери здатні працювати в трьох режимах, вибір режиму для кожного таймера робиться комбінацією бітів Mix, Мох того ж регістра. Рахунок дозволяється бітом TRx, якщо біт GATEx = 0. Коли рахункове значення переходить із стану все " 1" в стан все " 0", встановлюється прапор запиту переривання TFx. Установка біта GATEx = 1 дає можливість управляти таймером від входу INTx# і вимірювати таким чином ширину імпульсів. Установка бітів запуску не очищає рахункові регістри. Режим 0. У цьому режимі має місце 13-розрядний рахунковий регістр, в якому регістр ТНх працює як 8-розрядний лічильник, а регістр TLx використовується як 5-бітового переддільника. Режим 1. Цей режим аналогічний режиму 0, але використовуються усі 16 розрядів регістрів ТНх і TLx. Режим 2. У цьому режимі регістр TLx працює 8-розрядний рахунковий регістр. Після переповнювання він автоматично перезавантажується значенням з регістра ТНх, який при цьому свого заздалегідь запрограмованого значення не втрачає. Режим 3. Таймер 1 в цьому режимі блокований, начебто біт TR1 був скинутий. Таймер 0 в режимі 3 працює як два незалежні рахункові регістри, причому регістр TL0 управляється бітами управління Таймера 0, а регістр ТНО управляється бітами управління Таймера 1.
Дата добавления: 2014-01-03; Просмотров: 1841; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |