Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розділ 5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.71 Mб
Скачать

5.4. Програмований таймер

Програмований таймер (ПТ) КР1810ВИ54 призначений для організації роботи МП систем та формування сигналів з різними часовими і частотними характеристиками. Структур­ну схему ВІС зображено на рис. 5.34, а умовне позначен­ня — на рис. 5.35.

Схема таймера містить блок керування читанням-записом RWCU з регістром працювати у двійковому або двійково-десятковому коді. Максимальна частота лічильника становить 2 МГц для тай­мера КР580ВИ53 та 5МГц для, таймера КР1810ВИ54

У табл. 5.6 наведено призначення виводів ПТ КР580ВИ54.

Рис. 5.34. Структурна схема ВІС таймера КР580ВИ54:

CLK — входи тактових (лічильних) імпульсів; GATE — входи дозволу

лічення (залежить від режиму роботи каналу); OUT — виходи лічильника

Рис. 5.35. Умовне позначення ВІС таймера КР580ВИ54

Розряди ЛІ, АО (див. рис. 5.34) обирають звернення до лічильників або до регістра керуючого слова RCW:

А1

А2

Звернення

0

0

СТ0

0

1

СТ1

1

0

СТ2

1

1

RCW

Сигнали керування роботою ВІС WR, RD, CS подаються на блок RWCU і разом з адресними розрядами А0, А1зада­ють вид виконуваної операції згідно з табл. 5.7.

Узагальнену схему під'єднання програмованого таймера до шин мікропроцесора зображено на рис. 5.36. Наприклад, на адресні лінії А1, АО можна під'єднати лінії А2, А1 шини адрес, а на вхід подати сигнал з виходу дешифратора (див. рис. 5.9 або рис. 5.19).

Таблиця 5.6. Призначення виводів ВІС таймера КР580ВИ54

Позначення

Номер виводу

Призначення виводів

D7-D0

1-8

Мультиплексована шина даних (DB), по якій з розподілом у часі передаються дані

21

Вибірка кристалу; за = 0 робота ВІС дозволяється

22

Читання. Сигнал RD = 0 налагоджує вхід­ний буфер на виведення, за якого програ­мований таймер видає інформацію у МП

23

Запис. Сигнал WR - 0 налагоджує вхід­ний буфер на введення, за якого програмо­ваний таймер приймає інформацію від МП

А0, А1

19; 20

Адресні входи, за якими відбувається адресація до одного з трьох каналів тай­мера

CLK2-

CLK0

9; 15; 18

Вхід тактових сигналів для керування лічильником-таймером. Зріз сигналу на вхо­ді CLK призводить до зменшення вмісту лічильника таймера на одиницю

САТЕ2-

GATE0

11; 14; 16

Входи дозволу лічби

OUT2-OUT0

10; 13; 17

Виходи лічильника-таймера

Таблиця 5.7. Вид операції програмованого таймера залежно від сиг­налів керування та адресних розрядів

Операція

Сигнали керування

А0

А1

Запис керуючого слова в RCW

Завантаження

СТ0

СТ1

СТ2

Читання

СТ0

СТ1

СТ2

Від'єднання програмова­ного таймера від шини

0

0

0

0

1

1

1

1

1

1

1

1

0

0

0

1

0

0

0

0

0

0

0

0

1

0

0

1

0

0

1

х

1

0

1

0

0

1

0

х

Примітка, х — будь-яке значення (0 або 1).

Рис. 5.36. Під'єднання програмованого таймера до шин мікропроцесора

D7

D6

D5

D4

D3

D2

D1

D0

CNT1

CNT0

RW1

RW0

M2

M1

M0

K

Рис. 5.37. Формат керуючого слова програмованого таймера

Установлення режиму роботи кожного каналу програмо­ваного таймера здійснюється програмно — записуванням ке­руючого слова (рис. 5.37) і початкового вмісту лічильника.

За значеннями розрядів D7 (СNT1) та D6 (CNT0) виби­рають лічильник (табл. 5.8).

За значеннями розрядів D5 (RW1) та D4 (RW2) вибира­ють спосіб читання-запису (табл. 5.9).

За значеннями розрядів D3 —D1 (M2M0) вибирають один з шести режимів роботи лічильника (табл. 5.10).

Таблиця 5.8. Вибирання лічильника

Розряд

Лічильник

D7

D6

0

0

СТ0

0

1

СТ1

1

0

СТ2

1

1

Заборонена комбінація для таймера КР580ВИ53 та команда читання слову стану для таймера КР1810ВИ54

Таблиця 5.9. Спосіб читання-запису

Розряд

Спосіб читання-запису

D5

D4

0

0

Читання вмісту лічильника

0

1

Запис лише молодшого байта

1

0

Запис лише старшого байта

1

1

Запис молодшого, а потім старшого байтів

Таблиця 5.10. Режими роботи програмованого таймера

М2

М1

М0

Режим

М2

М1

М

Режим

0

0

0

0

x

1

1

3

0

0

1

1

1

0

0

4

x

1

0

2

1

0

1

5

Розряд D0 (K) визначає спосіб кодування:

D0 = 0 — двійковий лічильник;

D0 = 1 — двійково-десятковий лічильник.

Приклад 5.12. Запрограмувати лічильник 0 в режим 1. Адреса лічильника 0 — 10Я, регістра керуючого слова — 16Я. Визначимо керуюче слово: 0011 0010 = 32Я Програма матиме такий вигляд:

МOV AL, 32H

OUT 16H,AL

MOV AL, «молодший байт»

OUT 10Н, AL

MOV AL, «старший байт»

OUT 10H, AL

Формування керуючого слова

Виведення в RCW

Завантаження молодшого байта коду

Попереднє встановлення

Завантаження старшого байта коду

Попереднє встановлення

Порядок програмування каналів таймера надзвичайно гнучкий. Можна записати керуючі слова режимів у всі канали, а потім у довільно­му порядку завантажувати коди попереднього встановлення, а можна запрограмувати окремо кожний канал (як у прикладі 5.12).

У процесі роботи програмованого таймера вміст будь-якого з лічиль­ників можна прочитати двома способами:

призупинити роботу лічильника надходженням сигналу GATE - 0 або блокуванням тактових імпульсів, а потім прочитати вміст лічильника, починаючи з молодшого байта, за допомогою двох команд введення. Перша команда введення прочитає молодший байт, друга — старший;

записати у програмований таймер керуюче слово, що містить нулі в розрядах D4, D5 (нулі в цих розрядах указують на виконання операції «замкнення» вмісту лічильника у вихідному регістрі каналу в момент запису керуючого слова). Потім прочитати вміст лічильника за допо­могою команд введення.

Приклад 5.13. Прочитати вміст лічильника СТО і записати його у регістр ВХ.

Візьмемо адреси таймера такі, як у прикладі 5.12. Запрограмувати лічильник 0 у режимі 1.

Визначимо керуюче слово для фіксації вмісту лічильника:

0000 00102 = 02H

Програма буде така:

MOVAL,02H

OUT 16H, AL

IN AL, 10Н

MOV BL, AL

INAL, 10Н

MOV BH, AL

Формування керуючого слова

Виведення в RCW Читання молодшого байта

Пересилання молодшого байта у BL

Читання старшого байта

Пересилання старшого байта у ВН

Отже, після виконання програми у ВХ буде вміст лічильника на момент його читання, а лічильник продовжуватиме лічення.

Крім того, у ВІС К1810ВИ54 можна прочитати слова стану лічиль­ника. Для цього треба записати керуюче слово (рис. 5.38):

D7

D6

D5

D4

D3

D2

D1

D0

1

0

COUNT

STAT

CT2

CT1

CT0

0

Рис. 5.38. Керуюче слово ВІС К1810ВИ54: СТ0, СТ1, СТ2 — вибір лічильника

Лічильник вибирається для запису одиниці у відповідний двійковий розряд. Значення STAT = 0 вказує на те, що буде прочитано слово стану каналу, зазначеного в розрядах D3D1. Значення COUNT = 0 свідчить про те, що буде запам'ятовано вміст лічильників, зазначених у розрядах D3D1 та вихідних регістрах каналів.

Слово стану каналу має вигляд, показаний на рис. 5.39.

D7

D6

D5

D4

D3

D2

D1

D0

OUT

FN

RW1

RW0

M2

M1

M0

K

Рис. 5.39. Вигляд слова стану каналу:

OUT — стан виходу OUT (0,1); FN — прапорець перевантаження (FN = 1, якщо було перезавантаження коду переднього встановлення); RW1, RW0, М2, M1, M0, К — розряди (дублюють розряди керуючого слова, див. рис. 5.38)

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

Режими роботи таймера. Лічильники таймера можуть пра­цювати у таких шести режимах: 0 — програмована затримка; 1 — програмований мультивібратор; 2 — програмований гене­ратор тактових імпульсів; 3 — генератор прямокутних сигна­лів; 4 — програмно-керований строб; 5 — апаратно-керований строб. Вплив сигналу GATE на відповідний лічильник залежить від режиму роботи.

Рис. 5.40. Режим програмованої затримки

Режим 0. Програмована затримка. У цьому режимі (рис. 5.40) на виході вибраного каналу таймера формується сигнал Я-рівня з програмно-керованою затримкою. Затримка відлічується від заднього фронту першого імпульсу CLK після запису молодшого байта коду перестановки константи. Після запису керуючого слова на виході OUT вибраного кана­лу таймера встановлюється сигнал L-рівня. Такий самий стан зберігається під час запису молодшого байта константи. Якщо під час лічення GATE = 0, то лічення припиняється, а з поя­вою GATE = 1 — відновлюється з перерваного значення. Після закінчення лічення на виході OUT встановлюється сиг­нал Я-рівня. Завантаження у лічильник нового значення мо­лодшого байта у процесі лічення його припиняє, а після заван­таження старшого байта починається новий цикл лічення.

Режим 1. Програмований мультивібратор. На виході лічильника формується імпульс L -рівня з програм-но-керованою тривалістю, причому точкою початку відліку є задній фронт першого імпульсу CLK після появи сигналу GATE (рис. 5.41).

Якщо значення сигналу GATE = 1, на виході OUT фор­мується імпульс L-рівня тривалістю N періодів тактових імпульсів CLK. Завантаження у процесі лічення нового зна­чення N поточного режиму лічення не змінює.

Мультивібратор автоматично перезапускається після кож­ного переднього фронту сигналу GATE.

Режим 2. Програмований генератор тактових імпульсів. У цьому режимі (рис. 5.42) обраний канал здійснює розподіл частоти імпульсів CLK на програмно-ке­рований коефіцієнт N, тобто програмований таймер генерує періодичний сигнал з частотою у N разів меншою, ніж часто­та тактових імпульсів CLK.

Рис. 5.41. Режим програмованого мультивібратора

Рис. 5.42. Режим програмованого генератора тактових імпульсів

Вихідний сигнал L-рівня встановлюється на останньому такті періоду. Завантаження лічильника новим значенням N у процесі лічби призводить до зміни розміру періоду. Сиг­нал GATE можна використовувати для зовнішньої синхроні­зації програмованого таймера, оскільки значення GATE = 0 забороняє лічення, встановлюючи значення сигналу OUT = 1, а значення GATE = 1 починає лічення спочатку.

Режим 3- Генератор прямокутних імпульсів. Об­раний канал формує прямокутні імпульси з програмно-керо­ваним періодом. Дія сигналу GATE аналогічна режиму 0. За парного значення N на виході лічильника генерується сигнал Я-рівня впродовж першої половини періоду і сигнал L-рівня впродовж другої половини. У разі непарного N три­валість сигналу H-рівня на один такт більша, ніж для сигна­лу L-рівня. У режимі 3 число N = 3 завантажувати у лічиль­ник не дозволяється. Часові діаграми для цього режиму зобра­жено на рис. 5.43.

Рис. 5.43. Режим генератора прямокутних імпульсів

Рис. 5.44. Діаграми роботи таймера:

а - для таймера КР580ВИ53; б - для таймера КР1810ВИ54

Режим 4. Програмовано-керований строб. У цьому режимі на виході лічильника формується строб L-рівня три­валістю TCLK з програмно-керованою затримкою щодо моменту запису молодшого байта команди. Перезавантаження молодшого байта у процесі лічби не впливає на поточне лічення, а завантаження старшого байта починає новий цикл лічення.

Режим 5. Апаратно-керований строб. Цей режим аналогічний режиму 4. Його відмінність від режиму 4 по­лягає в тому, що початком відліку програмно-керованої затримки є передній фронт сигналу GATE. Запуск лічильника здійснюється переднім фронтом сигналу GATE. Завантаження у лічильник нового значення N у процесі лічення не впливає на тривалість поточного циклу, але такий цикл відповідатиме новому значенню N.

Діаграми роботи таймера, що ілюструють дію сигналу GATE, зображено на рис. 5.44, а для таймера КР580ВИ53 і тайме­ра КР1810ВИ54 - на рис. 5.44, б. Для таймера КР580ВИ53 з появою L-рівня сигналу GATE лічення припиняється, а з появою Я-рівня — відновлюється з перерваного значення. Для таймера КР1810ВИ54 з появою L-рівня сигналу GATE лічення також припиняється, а з появою H-рівня — почи­нається зі значення коду попереднього встановлення.

Приклад 5.14. Запрограмувати лічильник СТ0 у режим генератора прямокутних імпульсів для отримання частоти .

Візьмемо адреси таймера такі, як у прикладі 5.12. Для отримання послідовності імпульсів 1 кГц підключимо до виводу G0 сигнал H-рівня, а на вивід CLK0 — тактові імпульси з частотою 5 МГц.

Знаходимо значення коефіцієнта ділення:

.

Згідно з рис. 5.43 визначимо керуюче слово для програмування лічильника СТ0 у режимі 3, з двійково-десятковим засобом кодування:

00 11 011 12 =37H

Тоді програма буде така:

MOV

OUT

MOV

OUT

MOV

OUT

AL, 37H

16H, AL

AL, 00

10H, AL

AL,50H

10H, AL

Програмування

таймера

Запис молодшого

байта 00 попереднього встановлення

Запис старшого байта

; попереднього встановлення

Після виконання програми на виводі OUT0 прямокутні імпульси з частотою 1 кГц триватимуть доти, доки не буде перепрограмовано тай­мер або вимкнено джерело живлення таймера.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]