Опис режимів роботи УАПП
Режим 0 - синхронізованою від МК введення-виведення байта. У цьому режимі висновок Rx D застосовується як для прийому, так і для передачі інформації. Через висновок Tx D видаються сінхроімпульси зсуву, які супроводжують кожен біт (імпульси з активним рівнем "0"). Інформація видається молодшими битами вперед. rn Частота (швидкість) передачі залежить від тактової частоти резонатора FТ : rn на один біт. rn Передача даних ініціюється будь-який командою, яка записує байт даних в SBUF, наприклад, MOV SBUF, A. Після цього байт інформації автоматично переписуються в зсувний регістр передачі, а схема управління генерує сінхроімпульси зсуву, які надходять на зсувний регістр передачі і на висновок Tx D . При цьому вміст регістру передачі зсувається вправо та черговий біт інформації надходить на висновок Rx D . У розряди, які звільняються, записуються нулі. Таким чином, передається байт даних перетворюється в послідовний код схемами УАПП і синхронно з цим може перетворюватися у паралельний код зовнішнім зсуваються регістром. При завершенні передачі схема управління встановлює прапор TI (SCON.1). Загальний цикл передачі складає десять машинних циклів. rn Прийом даних починається при встановленні REN = 1, якщо був знятий запит на переривання, сформований на попередньому циклі прийому (тобто RI = 0). Після програмної установки біта REN блок керування включає схему формування сінхроімпульсов зсуву, які надходять синхронно на зсувний регістр прийому та на висновок Tx D . rn У зсуває регістрі прийому починає формуватися байт даних, значення біт якого зчитуються з входу Rx D у фазі S5P2 будь-якого МЦ. На початку десятого МЦ вміст зсуваються регистра переписуються в SBUF і встановлюється прапор запиту переривання RI (SCON.0). rn В даному режимі до висновків Rx D та Tx D МК51 можуть бути підключені зовнішні зсуваються регістри, які будуть формувати паралельний код при видачі інформації з МК, або будуть перетворювати паралельний код у послідовний при прийомі даних у МК. Таким чином, розробники контролера на основі МК51 одержують у розпорядження "повільний" паралельний порт. rn Подібна логіка перетворення інформації характерна також для режимів 1, 2 і 3, але висновок Tx D використовується тільки для передачі даних, а висновок Rx D - тільки для прийому. rn Режим 1 - в цьому режимі передаються через Tx D або приймаються з Rx D десять бітів інформації: старт-біт ( "0"), 8 біт даних і стоп-біт ( "1"). Структура кодової посилки показана на схемі (ріс.15.3): rn rn Швидкість прийому-передачі змінюється програмним шляхом і залежить від значення біта управління PCON.7 (SMOD), і від частоти переповнення таймера 1, що означена FOVT1 : rn rn Переривання від таймера 1 в цьому випадку має бути заблоковано. Сам Т/С1 може працювати в будь-якій з конфігурацій 0,1,2. Однак самої зручною є конфігурація 2 - автоперезагрузка стартового числа (TMOD (7-4) = 0010B). При цьому частота передачі: rn rn Передача ініціюється будь-якої команди, в якій адреса призначення вказаний як SBUF (наприклад, MOV SBUF, A). rn Прийом починається після програмної установки біта REN в "1" при виявленні переходу сигналу на Rx D з "1" в "0" (старт-біт). МК51 автоматично виконує настройку внутрішнього лічильника відповідно з межами періодів бітів, які приймаються. У кожному періоді подання біта вхід Rx D опитують тричі, і значення біта, який приймається, визначається за правилом мажорітірованія - "два з трьох". При отриманні даних значення стоп-біта ( "1") фіксується в бите RB8 регістру SCON, і використовується для автоматичного контролю завершення прийому. rn Режим 2 - в цьому режимі передаються через Tx D або приймаються через Rx D 11 бітів інформації: старт-біт ( "0"), 8 біт даних, програмно задається біт контролю (так званий "дев'ятий" біт) і стоп-біт ( "1"). Структура кодової посилки показана на схемі (ріс.15.4): rn rn При передачі "дев'ятий" біт може використовуватися, наприклад, для контролю парності кількості "1" в байт даних, який передається, тобто для перевірки достовірності отриманої інформації. При прийомі "дев'ятий" біт надходить в розряд RB8 регістру SCON, а стоп-біт ігнорується. rn Частота передачі залежить від біта SMOD і тактової частоти МК: rn rn Режим 3 відрізняється від режиму 2 тільки можливістю програмного зміни швидкості прийому-передачі в широкому діапазоні в залежності від частоти переповнення таймера 1, так само, як в режимі 1. rn Умова нормального завершення прийому: rn - режим 1 - в останньому такті зсуву повинна виконуватися умова (стоп-біт) = 1 при встановленні SM2 = 1; rn - режими 2,3 - ( "дев'ятий" біт) = 1 при встановленні SM2 = 1. rn У випадку, якщо встановлено SM2 = 0, стоп-біт (для режиму 1) або "дев'ятий" біт (для режимів 2,3) фіксується в розряді RB8. rn Крім того, для будь-якого режиму до моменту завершення прийому черговий кодової посилки програмним шляхом повинно бути виконано RI = 0. rn При невиконанні зазначених умов прийнята інформація втрачається. rn Таким чином, установка SM2 = 1 дозволяє ігнорувати кодову посилку, в якій "дев'ятий" біт дорівнює "0", тобто проводити селекцію інформації. Це використовують при побудові протоколів обміну інформацією в мікроконтроллерной мережі. rn Важливо відзначити, що реалізація стандартних швидкостей передачі, зокрема, для зв'язку з послідовним портом ПЕОМ, не може бути досягнута на типової тактовою частотою МК51, що дорівнює 12 МГц. Так, найбільш популярні швидкості передачі 9600 біт /сек і 19200 біт /сек точно реалізуються за тактовою частотою МК51 рівною 11,0592 МГц, стартовому числі для таймера Т1, що дорівнює 253 і значення біта SMOD, що дорівнює 0 або 1 відповідно для зазначених швидкостей. Наведене значення тактової частоти МК51 може бути забезпечене шляхом підключення до МК51 відповідного кварцового резонатора.
|