Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Послідовний порт

Послідовний порт мікроконтроллерів MCS - 51 є дуплексним і забезпечує роботу в одному синхронному режимі(режим 0) і трьох асинхронних режимах(режими 1, 2, 3). Підтримується також послідовний обмін у багатопроцесорних системах.

При синхронному прийомі синхросигнал видається по лінії TxD, а дані приймаються або передаються по лінії RxD. При асинхронному обміні блок послідовного порту передає дані по лінії TxD, а приймає по лінії RxD. Прийом і передача можуть здійснюватися одночасно, оскільки регістр даних SBUF складається з двох частин. Щоб передати дані необхідно зробити запис в регістр SBUF, а для прийому інформації необхідно прочитати вміст регістра SBUF. Приймач буферизирован, тобто можливий прийом наступного байта, коли попередній ще знаходиться в регістрі SBUF. Проте, якщо підпрограма обслуговування не встигла прочитати байт даних з регістра SBUF до моменту завершення прийому наступного байта, то цей наступний прийнятий байт затре предыду.

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

Ім'я біта Номер біта Функція
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 прийом дозволений.
ТВ8 SCON.3 9-й біт даних, який передаватиметься в режимах 2 і 3. Значення встановлюється програмно на розсуд розробника.
RB8 SCON. 2 У режимі 0 не використовується. У режимі 1 при SM2=0 в нього заноситься прийнятий стоп-біт. У режимах 2 і 3 в нього заноситься 9-й прийнятий біт даних.
TI SCON.1 Прапор запиту переривання передавача. Має бути скинутий програмно.
RI SCON.O Прапор запиту переривання приймача. Має бути скинутий програмно.

 

Біти SM0 і SM1 таким чином визначають режими роботи послідовного порту:

 

SM0 SM1 Швидкість передачі Режим роботи
    Fosc/12 Режим 0. Сдвиговый регістр.
    змінна Режим 1. Асинхронний приймач, 8 біт
      даних в кадрі.
    Fost/64 или Fost/32 Режим 2. Асинхронний приймач, 9 біт
      даних в кадрі.
    змінна Режим 3. Асинхронний приймач, 9 біт
      даних в кадрі.

Окрім бітів регістра SCON послідовний порт управляється також битому SMOD регістра PCON. В основному регістр PCON управляє режимами енергоспоживання, призначення його бітів описане в розділі 2.11 "Мікроконтроллерів типу 8ХС52". Біт SMOD цього регістра управляє опцією подвоєння швидкості обміну. При SMOD = 1 швидкість обміну даними через послідовний порт в режимах 1, 2 і 3 подвоюється.

Синхронний обмін (режим 0). У цьому режимі по лінії TxD видається вісім синхроімпульсів, а по лінії RxD приймається або передається байт даних. Передача і прийом даних здійснюються починаючи з молодшого біта, зрушення відбувається в S6P2 кожного машинного циклу(мал. 2.12). Таким чином послідовний обмін здійснюється з фіксованою частотою Fosc/12. Це максимально можлива швидкість про¬міна через послідовний порт мікроконтроллера.

Передача інформації полягає в реалізації наступних дій:

· запис в регістр SCON байта управління, що очищає біти SM0, SMI, REN;

· запис банта даних в регістр SBUF.

Мал. 2.12. Робота послідовного порту в режимі 0.

Передача починається в наступному(після запису в регістр SBUF) машинному циклі з висунення біта DO на лінію RxD у фазі S6P2. У S3P1 наступного циклу на лінії TxD з'являється " Про" першого імпульсу синхронізації. Висунення бітів даних триває в кожному циклі до дев'ятого включно, коли на лінії RxD з'являється старший біт D7. На початку десятого циклу лінія RxD переводиться у високо рівневий стан і встановлюється прапор RI, що свідчить про закінчення передачі.

Прийом інформації ініціюється записом в регістр SCON байта управління, що очищає біти SMO, SMI, RI і що встановлює біт REN. У другому циклі після цієї операції запису у фазі S3P1 на лінії TxD з'являється " Про" першого імпульсу синхронізації, а на фазі S5P2 виконується введення молодшого біта даних DO з лінії RxD в сдвиговый регістр. Введення повторюється в подальших циклах і після восьми зрушень в регістр вводиться старший біт D7, встановлюється прапор TI. Після цього підпрограма обслуговування може прочитати байт даних з SBUF.

Асинхронний обмін(режими 1, 2, 3). При асинхронному обміні дані передаються по лінії TxD, а приймаються по лінії RxD.

У режимі 1 кадр даних складається з 10 біт(мал. 2.13): старт-біт, вісім бітів даних, стоп-біт. При прийомі в розряд RB8 регістра SCON записується стоп-біт. Швидкість обміну визначається переповнюванням таймера 1.

У режимах 2 і 3 кадр даних складається з 11 біт(мал. 2.14): старт-біт, вісім бітів даних, програмований біт, стоп-біт. При прийомі підпрограма обслуговування може прочитати дев'ятий біт з розряду RB8 регістра SCON. При передачі дев'ятий біт записується в ТВ8 регістра SCON. Користувач може використати дев'ятий біт на власний розсуд(часто це біт контролю).

Швидкість обміну в режимі 2 рівна 1/32(SMOD = 1) або 1/64(SMOD = 0) частоти синхросигналу. Швидкість передачі в режимі 3 визначається переповнюванням таймера 1.

Мал. 2.13. Робота послідовного порту в режимі 1

 

Передача інформації полягає в реалізації наступних дій:

запис в регістр SCON байта управління, що визначає біти SM0, SM1(вибір режиму) і що очищає біт REN. Для режимів 2 і 3 слід записати значення дев'ятого біта даних в ТВ8; запис байта даних в регістр SBUF.

Мал. 2.14. Робота послідовного порту в режимах 2 і 3

Для ініціалізації прийому слід встановити біт REN регістра SCON. Прийом даних починається після ідентифікації переходу " 1" - " Про" на лінії RxD.

При синхронізації послідовного порту від Таймера 1, працюючого в режимі авто перезавантаження, швидкість обміну визначається по формулі:

де(ТН) - вміст регістра ТН1 в десятковому уявленні.

Обмін у багатопроцесорних системах. Послідовний порт мікроконтроллерів MCS - 51 здатний підтримувати з використанням Режимів 2 і 3 обмін у багатопроцесорних системах. При цьому передавальний мікроконтроллер грає роль ведучого, а приймаючі мікроконтроллери - роль ведених. Механізм такої передачі апаратно підтримується бітом SM2 регістра SCON. Провідний мікроконтроллер посилає спочатку посилки кадр, що містить адресу одного з ведених мікроконтроллерів. Адреса відрізняється від даних тим, що його дев'ятий біт даних встановлений в 1, у той час час як у кадру даних дев'ятий біт дорівнює 0. При SM2 = 1 кадр адреси викликає переривання, а кадр даних немає. Процедури переривань усіх ведених аналізують прийняту адресу, при ідентифікації своєї адреси мікроконтроллер скидає біт SM2 і читає після-дуючі дані. Інші ведені залишають біт SM2 встановленим і продовжують виконувати поточну програму.

<== предыдущая лекция | следующая лекция ==>
Таймери/лічильники | Основные понятия. Для обеспечения взаимопонимания между разработчиками кулинарной продукции, ее производителями и потребителями
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 2098; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.