- •1.2.3 Контрольні запитання і завдання
- •1.2.4 Приклади аудиторних і домашніх завдань
- •1.3 Заняття 2. Двійкова арифметика і основні функції алгебри логіки
- •1.3.2 Методичні вказівки з організації самостійної роботи студентів
- •1.3.3 Контрольні запитання і завдання
- •1.3.4 Приклади аудиторних і домашніх завдань
- •2 Алгоритми і програми проектування мікропроцесорних систем
- •2.1 Мета занять
- •2.2 Методичні вказівки з організації самостійної роботи студентів
- •2.3 Контрольні запитання і завдання
- •2.4 Приклади аудиторних і домашніх завдань
- •3.2.3 Контрольні запитання і завдання
- •3.2.4 Приклади аудиторних і домашніх завдань
- •3.3 Заняття 2,3. Групи команд
- •3.3.1 Мета занять
- •3.3.2 Методичні вказівки з організації самостійної роботи студентів
- •3.3.3 Контрольні запитання і завдання
- •3.3.4 Приклади аудиторних і домашніх завдань
- •4.2.3 Контрольні запитання і завдання
- •4.2.4 Приклади аудиторних і домашніх завдань
- •4.3 Заняття 2. Алгоритми і програми обміну інформацією через послідовний порт
- •4.3.1 Мета занять
- •4.3.2 Методичні вказівки з організації самостійної роботи студентів
- •4.3.3 Контрольні запитання і завдання
- •4.3.4 Приклади аудиторних і домашніх завдань
- •4.4 Заняття 3. Алгоритми і програми обробки інформації в режимі переривань
- •4.4.1 Мета заняття
- •4.4.2 Методичні вказівки з організації самостійної роботи студентів
- •4.4.3 Контрольні запитання і завдання
- •4.4.4 Приклади аудиторних і домашніх завдань
- •61166 Харків, просп. Леніна, 14
4.3 Заняття 2. Алгоритми і програми обміну інформацією через послідовний порт
4.3.1 Мета занять
Вивчити і набути практичних навичок настроювання послідовного порту в різних режимах роботи
4.3.2 Методичні вказівки з організації самостійної роботи студентів
Під час підготовки до практичних занять необхідно вивчити лекційний матеріал з даної теми. Блок послідовного інтерфейсу переривань (ПІП) призначений для організації введення-виведення послідовних потоків інформації та організації системи переривання програм.
Програмно-доступним регістром у блоці є регістр управління SCON, призначений для прийняття і зберігання коду восьмибітового слова, що управляє послідовним інтерфейсом (Рис. 4.4). Всі розряди регістра доступні за записом і читанням.
Біти |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Позначення |
SM0 |
SM1 |
SM2 |
REN |
ТВ8 |
RB8 |
ТI |
RI |
Рисунок 4.4 – Формат регістра управління послідовним портом (SCON)
На рис. 4.4 прийняті такі позначення бітів:
SM0 SM1 – визначають режими роботи послідовного порту;
SM2 – дозвіл багатопроцесорної роботи;
REN – дозвіл або заборона прийняття послідовних даних;
TB8 – дев'ятий біт переданих даних у режимах 2 і 3;
RB8 – дев'ятий біт прийнятих даних у режимах 2 і 3;
T1 – прапорець переривання передавача, встановлюється апаратний у кінці часу видачі 8-го біта в режимі 0 або на початку стоп-біта| в інших режимах і скидається програмним забезпеченням;
R1 – прапорець переривання приймача, встановлюється апаратний у кінці часу прийняття 8-го біта в режимі 0 або через половину інтервалу стоп-біта| в режимах 1, 2, 3 при SM2=0.
У блоці послідовного інтерфейсу є буфер передавача і буфер приймача. Буфер приймача і буфер передавача при програмному доступі мають однакове ім'я (SBUF) і адресу (99Н). Якщо команда використовує SBUF як регістр джерела, то звертання відбувається до буфера приймача. Якщо команда використовує SBUF як регістр призначення, то звертання відбувається до буфера передавача.
У всіх чотирьох режимах роботи послідовного порту передача ініціюється будь-якою командою, яка використовує SBUF як регістр призначення. Прийом у режимі 0 ініціюється умовою RI=0 і REN=1. У решті режимів прийом ініціюється надходженням старт-біта, якщо REN=1.
Послідовний інтерфейс працює в 4-х режимах.
Режим 0. Інформація передається через вхід приймача RXD (виведення Р3.0 ОМЕВМ). Через вихід передавача TXD (виведення Р3.1 ОМЕВМ) видаються імпульси синхронізації, які стробують кожен біт інформації, що приймається або передається. Формою посилання 8 біт. Частота прийняття і передачі постійна і складає
,
де f BQ – тактова частота ОМЕВМ.
Режим 1. Інформація передається через вихід передавача RXD. Формою посилання 10 біт: «Старт» біт = 0, вісім біт даних, «Стоп» біт = 1. Частота прийняття і передачі задається Т/С1.
,
де fп т/с1 – частота переповнювання таймера лічильника 1.
Режим 2. Інформація передається через вхід, через вихід передавача TXD, а приймається через вхід приймача RXD. Формат посилання – 11 біт: стартовий біт дорівнює «0»; вісім біт даних; програмований 9 біт; стоповий біт дорівнює «1».
Переданий дев'ятий біт даних приймає значення біта TB8 з регістра спеціальних функцій SCON. Біт ТВ8 у регістрі SCON може бути програмно встановлений у 0 або в 1, або в нього наприклад, можна помістити значення біта Р з регістра PSW для підвищення достовірності інформації, що приймається (контроль за паритетом). Під час прийняття дев'ятий біт даних прийнятого посилання надходить у біт RB8 регістра SCON.2. Частота прийняття і передачі в режимі 2 задається програмно і може дорівнювати fBQ/32 або fBQ/64:
.
Режим 3. Режим 3 повністю ідентичний режиму 2 за винятком частоти прийняття і передачі, яка в режимі 3 задається як
.
Приклад складання програм настроювання послідовного порту мовою асемблера для передачі даних у режимі 0:
;T0 0030H
;режим 0 fT0= fBQ/12
ORG 0030H ;
TO: SETB EA ;дозвіл переривання від усіх джерел
SETB ES ;дозвіл переривання від
;послідовного порту
MOV SCON,#00 ;настроювання ПП на режим 0
MOV SBUF,@R1 ;початок передачі
S1: JNB TI,S1 ;очікування кінця передачі
CLR TI
.
.
END
Приклад складання програми настроювання послідовного порту мовою асемблера для прийняття даних у режимі 1.
;R1 0060H
;режим 1
;FR1=(2SMOD/32)*fПЕРТ/С1
ORG 0060H ;визначення програмного модуля
R1: CLR ET1 ;заборона переривання від Т/С1
MOV TMOD,#20H;настроювання Т/С1 на режим 2
MOV TH1,#XX ;швидкість для послідовного порту
SETB TR1 ;ввімктути Т/С1
SETB EА ;загальний дозвіл переривання
SETB ES ;дозвіл переривань від послідовного
;порту
MOV PCON,#80H;подвоєння швидкості прийняття через пос. порт
MOV SCON,#50H;настроювання ПП на режим 1, дозвіл прийняття
S1: JNB RI,S1 ;очікування закінчення прийняття
MOV @R0,SBUF ;зберегти прийняті дані
CLR Ri ;скидання прапорця приймача послідовного| порту
.
END
У режимах 1, 3 також є можливість змінити швидкість послідовної передачі:
де fOV — частота переповнювань Т/С 1.
Для використання Т/С 1 як джерело для задання частот Fn1 і Fn3 необхідно:
1) заборонити переривання від Т/С 1;
2) запрограмувати роботу Т/С 1 як таймер або як лічильник, встановивши при цьому для нього один з режимів 0, 1 або 2;
3) запустити Т/С 1 на рахунок.
Зазвичай для синхронізації послідовного порту таймер T/C l включається в режим автозавантаження (режим 2).
В цьому випадку швидкість послідовного обміну визначається за формулою:
,
де (ТН) — десятковий код вмісту TH1.
Якщо необхідний послідовний обмін з дуже низькою швидкістю, то можна використовувати Т/С 1 в режимі 16-розрядного таймера (режим 1), дозволивши при цьому переривання від Т/С 1 з метою перезавантаження TL1/TH1 у підпрограмі обслуговування переривання.
