Регістр керування/статусу приемопередавача scon
Керування режимом роботи приемопередавача здійснюється через спеціальний регістр із символічним ім'ям SCON. Цей регістр містить не тільки керуючі біти, що визначають режим роботи послідовного порту, але й дев'ятий біт прийняті або передані даних (RB8 і ТВ8) і біти переривання приемопередавача (R1 і Т1).
Прикладна програма шляхом завантаження в старші біти регістра SCON двох-бітного коду визначає режим роботи приемопередавача. У всіх чотирьох режимах роботи передача ініціалізуеться будь-якою командою, у якій буферний регістр SBUF зазначений як одержувач байта. Як ми вже відзначали, прийом у режимі 0 здійснюється за умови, що R1 = 0 й REN = 1, в інших режимах - за умови, що REN = 1.
У біті ТВ8 програмно встановлюється значення дев'ятого біта даних, що буде переданий 8 режимі 2 або 3. У біті RB8 у цих режимах фіксується дев'ятий прийнятий біт даних. У режимі 1 у біт RB8 заноситься стоп-біт У режимі 0 біт RB8 не використається.
Прапор переривання передавача ТI установлюється апаратно наприкінці періоду передачі стоп-біта у всіх режимах. Відповідна підпрограма обслуговування переривання повинна скидати біт TL.
Прапор переривання приймача RI установлюється апаратно наприкінці періоду прийому восьмого біта даних у режимі 0 й у середині періоду прийому стоп-біта в режимах 1, 2 й 3. Підпрограма обслуговування переривання повинна скидати біт RI.
Таблиця 3. - Функціональне призначення біт регістра керування/статусу приемопередавача SCON.
Символ |
Позиція |
Ім'я й призначення |
|||||||||||||||
SM0 |
SCON.7 |
Біти керування режимом роботи приемопередавача. Установлюються/скидаються програмно див. примітка 1
|
|||||||||||||||
SM1 |
SCON.6 |
||||||||||||||||
SM2 |
SCON.5 |
Біт керування режимом приемопередавача. Установлюється програмно для заборони прийому повідомлення, у якому дев'ятий біт має значення 0 |
|||||||||||||||
REN |
SCON.4 |
Біт дозволу прийому. Установлюється/скидається програмно для дозволу/заборони прийому послідовних даних |
|||||||||||||||
TB8 |
SCON. 3 |
Передача біта 8. Установлюється/скидається програмно для завдання дев'ятого переданого біта в режимі 9-бітового передавача |
|||||||||||||||
RB8 |
SCON.2 |
Прийом біта 8. Установлюється/скидається апаратно для фіксації дев'ятого прийнятого біта в режимі 9-бітового приймача |
|||||||||||||||
TI |
SCON. 1 |
Прапор переривання передавача. Установлюється апаратно при закінченні передачі байта. Скидається програмно після обслуговування переривання |
|||||||||||||||
RI |
SCON.0 |
Прапор переривання приймача. Установлюється апаратно при прийомі байта. Скидається програмно після обслуговування переривання |
Швидкість прийому/передачі інформації через послідовний порт
Швидкість прийому/передачі, тобто частота роботи приемопередавача в різних режимах, визначається різними способами.
У режимі 0 частота передачі залежить тільки від резонансної частоти кварцового резонатора f РЕЗ:
f=fРЕЗ/12
За машинний цикл послідовний порт передає один біт інформації. У режимах 1, 2 й 3 швидкість прийому/передачі залежить від значення керуючого біта SMOD у регістрі спеціальних функцій PCON.
Таблиця 4. - Регістр керування потужністю PCON.
Символ |
Позиція |
Найменування й функція |
SMOD |
PCON.7 |
Подвоєна швидкість передачі. Якщо біт установлений в 1, то швидкість передачі вдвічі більше, ніж при SMOD = 0. По скиданню SMOD = 0. |
|
PCON.6 |
Не використається |
|
PCON.5 |
Не використається |
|
PCON.4 |
Hе використається |
GF1 GF0 |
PCON.3 PCON.2 |
Прапори, специфікується користувачем (прапори загального призначення) |
PD |
PCON.1 |
Біт зниженої потужності. При установці біта в 1 мікро-ЭВМ переходить у режим зниженої споживаної потужності |
IDL |
PCON.0 |
Біт холостого ходу. Якщо біт установлений в 1, то мікро-ЭВМ переходить у режим холостого ходу |
Примітка. При одночасному записі 1 в PD й IDL біт PD має перевага. Скидання вмісту PCON виконується шляхом завантаження в нього коду 0XXX0000.
У режимі 2 частота передачі визначається вираженням
f =2SMODfРЕЗ/64.
Іншими словами, при SMOD = 0 частота передачі дорівнює 1/64 частоти fРЕЗ, а напувай SMOD = 1 — 1/32 частоти fРЕЗ.
У режимах 1 й 3 у формуванні частоти передачі, крім керуючого біта SMOD, бере участь таймер 1. При цьому частота передачі f залежить від частоти переповнення f OVLTи визначається в такий спосіб:
f=2SMODfOVTL1/32
Переривання від таймера 1 у цьому випадку повинне бути заблоковане. Сам же таймер може працювати як у режимі таймера, так й у режимі лічильника. Номер режиму (0, 1, 2) ролі не грає. Найбільш типове використання його в режимі таймера з авто перезавантаження (старша тетрада TMOD = 0010У). При цьому частота передачі визначається вираженням:
f = 2SMODfРЕЗ/(32х12х(256 -ТН1)).
Таблиця.5.- Настроювання таймера 1 для керування частотою роботи приемопередавача.
Частота прийому/передачі (BAUD RATE) |
Частота резонатора МГц |
Таймер/лічильник 1 |
|||
SMOD |
З/Т |
Режим (MODE) |
Число, що перезавантажує |
||
Режим 0, макс: 1 МГц |
12 |
X |
X |
X |
X |
Режим 2, макс: 375 Кгц |
12 |
1 |
X |
X |
X |
Режим 1, 3:62,2 Кгц |
12 |
1 |
0 |
2 |
0FFH |
19,2 Кгц |
11,059 |
1 |
0 |
2 |
0FDH |
9,6 Кгц |
11,059 |
0 |
0 |
2 |
0FDH |
4,8 Кгц |
11,059 |
0 |
0 |
2 |
0FAH |
2,4 Кгц |
11,059 |
0 |
0 |
2 |
0F4H |
1,2 Кгц |
11,059 |
0 |
0 |
2 |
0F4H |
137,5 Гц |
11,059 |
0 |
0 |
2 |
1DH |
110 Гц |
6 |
0 |
0 |
2 |
72H |
110 Гц |
12 |
0 |
0 |
1 |
0FЕЕВН |
Відзначимо, що швидкості прийому й передачі можуть розрізнятися.
Гранично низьких частот приемопередачи можна досягти при використанні таймера в режимі 1 (16-бітний таймер) і дозволі переривань від таймера (старший напів байт TMOD = 0001У). Перезавантаження 16-бітного таймера повинна здійснюватися програмним шляхом.
Система переривань мікроконтролера 8051
Спрощена схема переривань мікро-евм 8051 показана на малюнку.
Рис. 8. Схема переривань.
Зовнішні переривання INT 0 й INT 1 можуть бути викликані або рівнем, або переходом сигналу з 1 в 0 на входах 8051 залежно від значень керуючих біт IT0 й IT1 у регістрі TCON. Від зовнішніх переривань установлюються прапори IE0 й IE1 у регістрі TCON, які ініціюють виклик відповідної програми обслуговування переривання. Скидання цих прапорів виконується апаратно тільки в тому випадку, якщо переривання було викликано по переходу (зрізу) сигналу. Якщо ж переривання викликане рівнем вхідного сигналу, то скиданням прапора I повинна управляти відповідна підпрограма обслуговування переривання шляхом впливу на джерело переривання з метою зняття їм запиту.
Прапори запитів переривання від таймерів TF0 й TF1 скидаються автоматично при передачі керування підпрограмі обслуговування. Прапори запитів переривання RI й TI установлюються блоком керування приемопередавача апаратно, але скидатися повинні програмним шляхом.
Переривання можуть бути викликані або скасовані програмою, тому що всі названі прапори програмно доступні й можуть бути встановлені/ скинуті програмою з тим же результатом, як якби вони були встановлені/скинуті апаратними засобами.
У блоці регістрів спеціальних функцій є два регістри, призначених для керування режимом переривань IE і рівнями пріоритету IP. Можливість програмної установки/скидання будь-якого керуючого біта в цих двох регістрах робить систему переривань 8051 винятково гнучкої.
У більше складних модифікаціях мікро-контролерів сімейства MCS-51 кількість периферійних пристроїв збільшено, що приводить до необхідності використати один вектор переривання для декількох пристроїв (поділ підпрограм обслуговування переривань у цьому випадку необхідно реалізувати програмно), або додати ще два регістри - режиму (маски) і пріоритету переривань.
Таблиця 6. - Регістр масок переривання (IE).
Символ |
Позиція |
Ім'я й призначення |
EA |
IE.7 |
Зняття блокування переривання. Скидається, програмно для заборони всіх переривань незалежно від станів IE.4 - IE.0 |
|
IE.6 |
Не використається |
|
l.5 |
Не використається |
ES |
IE.4 |
Біт дозволу переривання, від приемопередавача Установка/скидання програмою для дозволу/заборони переривань від прапорів TI або RI . |
ET1 |
IE.3 |
Біт дозволу переривання від таймера. Установка/скидання програмою для дозволу/заборони переривань від таймера 1 |
EX1 |
IE.2 |
Біт дозволу зовнішнього переривання 1. Установка/скидання програмою для дозволу/заборони переривання 1 |
ET0 |
IE.1 |
Біт дозволу переривання від таймера 0. Установка/скидання програмою для дозволу/заборони переривань від таймера 0 . |
EX0 |
IE.0 |
Біт дозволу зовнішнього переривання 0. Установка/скидання програмою для дозволу/заборони переривання 0 |
Таблиця 7. - Регістр пріоритетів переривань (IP).
Символ |
Позиція |
Ім'я й призначення |
- |
IP.7 - IP.5 |
Не використається |
PS |
IP.4 |
Біт пріоритету приемопередавача. Установка/скидання програмою для присвоювання перериванню від приемопередавача вищого/нижчого пріоритету |
РТ1 |
IP.3 |
Біт пріоритету таймера 1. Установка/скидання програмою для присвоювання перериванню від таймера 1 вищого/нижчого пріоритету |
РХ1 |
IP.2 |
Біт пріоритету зовнішнього переривання 1. Установка/скидання програмою для присвоювання вищого/нижчого пріоритету зовнішньому перериванню INT1 |
РТ0 |
IP.1 |
Біт пріоритету таймера 0. Установка/скидання програмою для присвоювання перериванню від таймера 0 вищого/нижчого пріоритету |
РХ0 |
IP.0 |
Біт пріоритету зовнішнього переривання 0. Установка/скидання програмою для присвоювання вищого/нижчого пріоритету зовнішньому перериванню INT0 |
