КАТЕГОРИИ: Архитектура-(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 і SM1 таким чином визначають режими роботи послідовного порту:
Окрім бітів регістра 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; Просмотров: 2148; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |