Програмування послідовного порту

Послідовний порт часто називають універсальним асинхронним прийомо-передавачем (УАПП - UART).

Через УАПП здійснюється прийом і передача інформації, представленої послідовним кодом. Порт послідовного введення-виведення використовують в асинхронному режимі для зв'язку зі стандартними периферійними пристроями (дисплеєм, модемом, іншими контролерами). У синхронному режимі УАПП може бути застосований для розширення кількості ліній введення-виведення з використанням зовнішніх зсувних регістрів.

До складу УАПП входять (рис. 6.1):

· зсувний регістр прийому;

· зсувний регістр передачі;

· буферний регістр прийому-передачі SBUF;

· схеми управління та обробки зовнішніх сигналів управління.

Рис. 6.1 Структура послідовного порту

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

Управління роботою УАПП здійснюється за допомогою регістра SCON який має побітову адресацію.

При закінченні передачі байту формується сигнал переривання ТI основної програми мікроконтролера. При заповненні регістра приймача формується сигнал переривання RI. Ці прапори апаратно не скидаються відповідною програмою переривань, необхідно використовувати програмні засоби.

Бітова структура регістра SCON наведена на рис.6.2, а призначення окремих бітів описано в табл. 6.1.

               
SM0 SM1 SM2 REN TB8 RB8 TI RI

Рис. 6.2.

Таблиця 6.1

Біт Позиція Призначення
SM0 SCON.7 Біт 0 визначення режиму роботи послідовного порту.
SM1 SCON.6 Біт 1 визначення режиму роботи послідовного порту.
SM2 SCON.5 Дозвіл мультипроцесорного обміну. У режимі 0 повинен бути скинутим. У режимі 1 при SM2 = 1 біт RI не встановлюється, якщо прийнятий стоп-біт = 0. У режимах 2 і 3 при SM2 = 1 біт RI не встановлюється, якщо прийнятий дев’ятий біт даних RB8 = 0.
REN SCON.4 Дозвіл прийому. При REN = 1 прийом дозволено.
TB8 SCON.3 9-біт даних, який буде передаватись у режимах 2 і 3. Значення встановлюється програмно за розсудом розробника.
RB8 SCON.2 У режимі 0 не використовується. У режимі 1 при SM2 = 0 у нього заноситься стоп-біт. У режимах 2 і 3 в нього заноситься 9-й прийнятий біт даних.
TI SCON.1 Прапор запиту переривань передавача. Повинен скидатися програмно
RI SCON.0 Прапор запиту переривань приймача. Повинен скидатися програмно

У табл. 6.2 приведено відповідність між режимами УАПП, станом біт керування SM0 і SM1 та основними характеристиками режимів роботи.

Таблиця 6.2

Режим SM1 SM0 Швидкість передачі Опис режиму роботи
      fosc/12 Зсувний регістр
      змінна Асинхронний прийомо-передавач, 8 біт даних у кадрі
      fosc/64, або fosc/32 Асинхронний прийомо-передавач, 9 біт даних у кадрі
      змінна Асинхронний прийомо-передавач, 9 біт даних у кадрі

Швидкість прийому-передачі залежить від режиму роботи УАПП і в режимах 1... 3 визначається з урахуванням значення розряду PCON.7 регістра керування потужністю PCON (байт доступний регістр). Цей розряд називається SMOD. При значенні SMOD = 1 - швидкість передачі подвоюється.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: