Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПрогрМПС_ЛР-2_UART.docx
Скачиваний:
1
Добавлен:
12.08.2019
Размер:
43.69 Кб
Скачать

Міністерство освіти і науки, молоді та спорту україни Національний університет "Львівська політехніка"

Науково-навчальний інститут екології, природоохоронної діяльності та туризму імені В’ячеслава Чорновола

Кафедра загадьної екології та екоінформаційних систем

Інструкція до лабораторної роботи №2

з дисципліни «Програмування мікропроцесорних систем»

Тема. "Програмування послідовного порту (uart)"

Для студентів базового напряму 6.0915 „Комп’ютерна інженерія”

Затверджено

на засіданні кафедри ЗЕС

Протокол № 1 від 22.08.2011 р.

Львів – 2011

  1. Мета роботи.

1.1. Набути практичних навичок програмування послідовного порту (UART).

1.2. Навчитися використовувати UART для передачі даних між окремими пристроями.

  1. Короткі теоретичнi відомості.

  1. Через універсальний асинхронний прийомо/передавач UART (Universal Asynchronous Receiver- Transmitter) здійснюються прийом і передача інформації, представленої послідовним кодом (молодшими бітами вперед), у повному дуплексному режимі обміну. До складу UART, званого часто послідовним портом, входять приймальний і передавальний регістри зсуву, а також спеціальний буферний регістр (SBUF).

Крім того, роботою послідовного порту керують два службові регістри:

  • регістр управління/статусу SCON;

  • біт SMOD регістра управління потужністю PCON.

Запис байта в SBUFприводить до автоматичного перезапису байта в регістр зсуву передавача і ініціює початок передачі байта. Наявність буферного регістра приймача дозволяє суміщати операцію читання раніше прийнятого байта з прийомом чергового. Але якщо до моменту закінчення прийому байта попередній не був зчитаний з SBUF, то він буде втрачений.

  1. Послідовний порт може працювати в чотирьох різних режимах:

  • Режим 0. Інформація і передається і приймається через вивід RxD). Приймаються або передається 8 біт даних. Через вивід TхD видаються тактові імпульси зсуву, які супроводжують кожний біт. Частота передачі інформації рівна 1/12 частоти кварцевого резонатора

  • Режим 1. У цьому режимі через TхD передаються та (або) через RхD приймаються 10 біт інформації: старт-біт (0), 8 біт даних і стоп-біт (1). Частота прийому/передачі - величина змінна і задається таймером TMR1

  • Режим 2. У цьому режимі через TхD передаються та (або) через RхD приймаються 11 біт інформації: старт-біт, 8 біт даних, програмований дев'ятий біт і стоп-біт. При передачі дев'ятий біт даних може набувати значення 0 або 1 або, наприклад, для підвищення достовірності передачі шляхом контролю по парності в нього може бути поміщене значення ознаки паритету із слова стану програми (PSW.0). При прийомі дев'ятий біт даних поміщається в біт RB8 регістру SCON. Частота прийому/передачі вибирається програмою і може бути рівна або 1/32, або 1/64 частоти резонатора залежно від значення біта SMOD.

  • Режим 3. Збігається з режимом 2 у всіх деталях, за винятком частоти прийому/передачі яка є величиною змінною і задається таймером.

У всіх випадках передача ініціалізувалася інструкцією, в якій дані переміщуються в SBUF.

Прийом ініціалізувався при виявленні перепаду з 1 в 0 на вході приймача. При цьому в режимі 0 цей перехід повинен супроводжуватись виконанням умов RІ = 0 і REN = 1, а для решти режимів - REN = 1.

  1. Управління режимом роботи приймача здійснюється через спеціальний регістр з символічним ім'ям SCON. Цей регістр містить не тільки керівні біти, що визначають режим роботи послідовного порту, але і дев'ятий біт даних (RB8 і ТВ8), що приймається або передається, і біти переривання приймача (RІ і ТІ).

Прикладна програма шляхом завантаження в старші біти регістра SCON двохбітової комбінації визначає режим роботи приймача. У всіх чотирьох режимах роботи передача ініціалізується будь-якою командою, в якій буферний регістр SBUF вказаний як одержувач байта. Як вже наголошувалося, прийом здійснюється за умови, що REN = 1.

У біті ТВ8 програмно встановлюється значення дев'ятого біта даних, який буде переданий у режимі 2 або 3. У біті RB8 в цих режимах фіксується дев'ятий біт даних, що приймається. У режимі 1 в біт RB8 заноситься стоп-біт. У режимі 0 біт RB8 не використовується.

Прапор переривання передавача ТI встановлюється апаратно в кінці періоду передачі стоп-біта у всіх режимах. Відповідна підпрограма обслуговування переривання повинна скидати біт TІ.

Прапор переривання приймача RI встановлюється апаратного в кінці періоду прийому восьмого біта даних. Підпрограма обслуговування переривання повинна скидати біт RI.

  1. Регістр управління/статусу (SCON)

Символ

Позиція

Ім'я і призначення

SM0

SCON.7

Биті управління режимом роботи УАПП. Встановлюються/ скидаються програмно (див. примітку)

SM1

SCON.6

SM2

SCON.5

Біт управління режимом УАПП. Встановлюється програмно для заборони прийому повідомлення, в якому десятий біт має значення 0

REN

SCON.4

Біт дозволу прийому. Встановлюється/скидається програмно для дозволу/заборони прийому послідовних даних

TB8

SCON.3

Передача службового біта. Встановлюється/скидається програмно для завдання службового передаваного біта в режимах 2, 3.

RB8

SCON.2

Прийом службового біта. Встановлюється/скидається апаратурно для фіксації службового біта, що приймається, в режимах 2, 3

TI

SCON.1

Прапор переривання передавача. Встановлюється апаратурно при закінченні передачі байта. Скидається програмно після обслуговування переривання

RI

SCON.0

Прапор переривання приймача. Встановлюється апаратурно при прийомі байта. Скидається програмно після обслуговування переривання

Примітка

SM0

SM1

Режим роботи УАПП

0

0

Р-м 0. Синхронна передача 8 біт даних

0

1

Р-м 1. Асинхронна передача 8 біт даних

1

0

Р-м 0. Асинхронна передача 8 біт даних і службового біта

1

1

Р-м 0. Асинхронна передача 8 біт даних і службового біта

  1. Регістр управління потужністю (PCON)

Символ

Позиція

Ім'я і призначення

SMOD

PCON.7

Подвоєна швидкість передачі. Якщо біт встановлений в 1, то швидкість передачі удвічі більше, ніж при SMOD = 0

-

PCON.6

Не використовуються

-

PCON.5

-

PCON.4

GF1

PCON.3

Прапори, що специфікуються користувачем (прапори загального призначення)

GF0

PCON.2

PD

PCON.1

Біт зниженої потужності. При установці біт а в 1 МК переходить в режим зниженої споживаної потужності

IDL

PCON.0

Біт холостого ходу. Якщо біт встановлений в 1, то МК переходить в режим холостого ходу

  1. Швидкість прийому/передачі, тобто частота роботи УАПП в різних режимах, визначається різними способами.

  • У режимі 0 частота передачі залежить тільки від резонансної частоти кварцового резонатора Fпер =fclk/12. За один машинний цикл послідовний порт передає один біт інформації.

  • У режимах 1, 2 і 3 швидкість прийому/передачі залежить від значення управляючого біта SMOD в регістрі спеціальних функцій PCON.

  • У режимі 2 частота передачі визначається виразом Fпер = 2SMOD/64 * fclk іншими словами, при SMOD = 0 частота передачі рівна fclk/64, а при SMOD = 1 рівна fclk/32.

  •  У режимах 1 і 3 у формуванні частоти передачі окрім управляючого біта SMOD бере участь таймер 1. При цьому частота передачі залежить від частоти переповнювання таймера (таймер повинен працювати в режимі 2)

Fпер = 2SMOD/32 * fclk /12 * 1 /(256-(TH1))

  1. Керування комунікаційними інтерфейсами лабораторного стенда здійснюється за допомогою комірки ЗПД з адресою С000h шляхом запису в неї однієї з наступних комбінацій:

  • 00 - вибраний COM1;

  • 01 - вибраний COM2;

  • 10 - вибраний RS-485 (прийом);

  • 11 - вибраний RS-485 (передача).