Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Мета роботи


Дата добавления: 2014-11-10; просмотров: 692



Опанування методів використання таймерів MCS-51 для обробки часових параметрів сигналів керування.

2.9.2. Теоретичні відомості

Блок таймерів лічильників призначений для підрахунку зовнішніх імпульсів (функція лічильника), реалізації програмно-керованих затримок та виконання функції завдання часу (функція таймера).

В лабораторній роботі №1 використовувались програмні методи формування мікроконтролером часових інтервалів у вигляді вкладених програмних циклів. Основним недоліком описаних методів є завантаження ресурсів мікроконтролера, внаслідок чого він не може одночасно використовуватись для виконання обчислювальних задач. Наявність в мікроконтролерах програмованих таймерів дозволяє звільнити акумулятор та регістри загального призначення для виконання обчислень чи функцій керування технологічним обладнанням, а формування (відлік) часових інтервалів доручити програмованим таймерам/лічильникам.

У системах автоматичного керування часто приходиться вимірювати такі величини як: частота f, період T, тривалість τ, зсув фаз φ. Для цього застосовується перетворення частота-код. В залежності від того, який саме параметр потрібно виміряти застосовують різні підходи.

Рис.2.29. Часова діаграма вимірювання частоти.

При вимірюванні частоти fx виконується підрахунок кількості імпульсів вхідного сигналу протягом фіксованого відрізку часу Т0 (рис.2.29.). Тоді частоту знаходять як

.

Такий метод прийнятний для вимірювання частот більше 100Гц. Верхня межа обмежується швидкодією елементів схеми і розрядністю лічильників використаного мікроконтролера.

Вимірювання частот нижче 100Гц заміняється вимірюванням періоду Тх. При цьому виробляється підрахунок імпульсів фіксованої частоти f0 за інтервал часу, що рівний або кратний вимірюваному періоду (Рис.2.30)

Рис.2.30. Вимірювання періоду слідування методом підрахунку кількості імпульсів відомої частоти.

У такий же спосіб вимірюється тривалість τ імпульсів. Спосіб полягає в тому, що підраховується кількість N імпульсів відомої частоти f0 за час від початку (фронту) імпульса до завершення (спаду) імпульса. Тоді тривалість вимірюваного імпульса τ =N/f0.

Для вимірювання зсуву фаз між двома імпульсними сигналами f1 та f2 (часові діаграми 1 та 2) другий сигнал інвертується як показано на рис.2.31 ( f2 – часова діаграма 3). Підрахунок кількості N імпульсів заданої частоти f0 (часова діаграма 5) запускається фронтом першого імпульса f1 і закінчується спадом проінвертованого другого імпульсу f2 (часова діаграма 4). Тоді вимірюваний зсув фаз φ визначається з відомої формули φ = N/f0 (часова діаграма 6).

У мікроконтролері AT89C51 реалізовано два 16-бітних таймера/лічильника: T/С0 і T/С1. Обидва можуть бути налаштовані на роботу в режимі таймера, або лічильника. Коли Timer/Counter налаштований як таймер, то його регістр (ТНх – старші 8 бітів та TLx – молодші) інкрементується з кожним машинним циклом. Таким чином, таймер рахує машинні цикли. Оскільки машинний цикл складається з 12 коливань вбудованого генератора тактових імпульсів, то таймер змінює свій стан з частотою 1 мГц.

Рис.2.31. Часова діаграма вимірювання зсуву фаз.

Якщо Timer/Counter налаштований як лічильник, то його регістр інкрементується коли відбувається зміна „1→0” на функціональній лінії Т0, Т1. Коли високий рівень на вході в одному машинному циклі змінюється низьким рівнем в наступному, значення лічильника збільшується на 1. Нове значення лічильника заноситься в регістр на кроці S3P1, наступного машинного циклу, що слідує за циклом, в якому був визначений перехід від 1 до 0. Таким чином, необхідно два машинних цикли для встановлення переходу від 1 до 0, тому максимальна частота підрахунку складає 1/24 частоти генератора. Таймер/лічильники можуть працювати в чотирьох режимах: 13-бітний таймер, 16-бітний таймер, 8-бітний з авто-перезавантаженням, розділений таймер.

Функція таймера чи лічильника вибирається бітом в регістрі TMOD. Обидва таймери мають чотири режими роботи, які вибираються бітовими парами (М1, М0) в TMOD (Рис.2.32). Режими 0, 1, 2 однакові для обох таймерів/лічильників, а режим 3 відрізняється (Табл.2.18.).

 

Gate M1 M0 Gate M1 M0
Timer 1 Timer 0

Рис.2.32. Регістр конфігурації таймерів TMOD.

Біт Gate – дозволяє керувати таймером від зовнішнього виводу. Коли біт встановлений, то Timer/Counter працює при умові, що на INTx високий рівень та біт TRx (біт увімкнення таймера) встановлений в 1. У випадку, коли Gate=0, то таймер вмикається лише бітом TRx. Значення біту – 0 відповідає за режим таймера, а 1 – лічильника. Біти М0 та М1 призначені для вибору режиму роботи таймерів у відповідності з табл.2.18.

Таблиця 2.18. Режими роботи таймерів.

М1 М0 Режим Опис режиму
Режим 13-бітного таймера. 8-бітний таймер (ТНх) з 5-бітним (TLx) подільником частоти.
Режим 16-бітного таймера. Подільник частоти відсутній.
Режим 8-бітного таймера з автозавантаженням. В ТНх знаходиться (записується програмно) значення, що завантажується в TLx при кожному переповненні. Наприклад, якщо TH=200, то при переповнені регістра TL (наступний машинний цикл після значення TL=255) підрахунок починається не з нуля а з 200.
Режим роздільного таймера. (Timer 0). TL0 є 8-бітним таймером/лічильником, робота якого керується бітами Timer 0. ТН0 8-бітний таймер, контролюється бітами Timer 1. Робота Timer1 заблокована.

Для керування роботою таймерів використовується регістр управління TCON (Рис.2.33).

 

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

Рис.2.33. Регістр управління таймерами TCON.

Окремі біти регістра TCON виконують такі функції:

-TF1(TF0) – прапор переповнення Т/С1(0). Якщо TF = 0, то переповнення не відбулося. Якщо TF =1, то відбулося переповнився Т/С.

- TR1(TR0) – вмикання таймерів/лічильників. Якщо TR = 1, то відповідний Т/С увімкнений. Якщо TR = 0, то Т/С вимкнений.

- IE1(IE0) – біти запиту зовнішніх переривань з входу .

- IT1(IT0) – біти визначають тип переривання, що надходять з входу .

Таймери в мікроконтролерах також використовуються для уведення/виведення сигналів із широтно-імпульсною модуляцією PWM (Pulse Width Modulated). PWM сигнал часто використовується для передачі значення аналогового сигналу в цифрову систему чи з неї. Сигнал має періодичну повторювану форму, де тривалість імпульсу пропорційна значенню переданої аналогової величини (рис.

 
 

2.34).

Рисунок 2.34. Часові параметри ШИМ (PWM) – сигналу: τ - тривалість імпульсу, T – період повторення, S = T/τ = скважність, D =1/S – коефіцієнт заповнення.

PWM-сигнали часто використовується для керування електродвигунами, задаючи швидкість обертання чи положення валу в електроприводі. При зміні скважності змінюється тривалість імпульсу напруги, а значить значення діючої напруги за період, що приводить до зміни потужності електричного струму, що передається в навантаження за період.

Для демонстрації механізма використання таймерів MCS-51 розглянемо підпрограму формування прямокутних імпульсів, тобто імпульсного генератора з періодом Т= 2с та скважністю S=2. При напрузі високого рівня необхідно засвічувати лінійку світлодіодів.


<== предыдущая лекция | следующая лекция ==>
Мета роботи | IMP_GEN-2
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | <== 12 ==> | 13 | 14 | 15 |
Studopedia.info - Студопедия - 2014-2024 год . (0.194 сек.) російська версія | українська версія

Генерация страницы за: 0.194 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7