Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




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

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

Режим 0. В цьому режимі інформація передається і сприймається через зовнішній вивід входу приймача (RXD). Довжина посилки даних складає 8 біт. Через зовнішні виводу виходу передавача (TXD) видаються імпульси зсуву, що супроводжують кожен біт. Частота передачі біта інформації рівна 1/12 частоти резонатора.

Режим 1. В цьому режимі передаються через TXD або приймаються через RXD 10 бітів інформації: старт-біт (0), 8 бітів даних і стоп-біт (1). Швидкість передачі/прийому – величина змінна і задається таймером.

Режим 2. В цьому режимі через TXD передаються або із RXD приймаються 11 бітів інформації: старт-біт, 8 бітів даних програмований 9 біт і стоп-біт. При передачі дев’ятий біт даних може приймати значення 0 або1, або ознаку контролю за парністю (вміст індикатора паритету PSW.0). Частота обміну задається програмно і складає 1/32 або 1/64 частоти резонатора (визначається керуючим бітом SMOD).

Режим 3. Цей режим співпадає з режимом 2, проте частота обміну задається таймером.

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

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

Таблиця 8.9- Регістр керування/статуса УАПП

Символ Позиція Ім’я та призначення
SM0 SM1 SCON.7 SCON.6 Біти керування режимом роботи УАПП:
    SM0 SM1 Режими роботи УАПП
        Зсувний регістр розширення вводу-виводу
        УАПП-8 бітів. Змінна швидкість передачі
        УАПП-9 бітів. Фіксована швидкість передачі
        УАПП-9 бітів. Змінна швидкість передачі
SM2 SCON.5 Біт керування режимом УАПП. Установлюється програмно для заборони прийому повідомлень, в яких дев’ятий біт має значення 0
REN SCON.4 Біт дозволу прийому. Установлюється/скидується програмно для дозволу/заборони прийому послідовних даних
TB8 SCON.3 Передача біта 8. Установлюється/скидається програмно для запису дев’ятого біта в режимі передачі УАПП-9 бітів
RB8 SCON.2 Прийом біта 8. Установлюється/скидається апаратно для фіксації дев’ятого прийнятого біта в режимі УАПП-9 бітів
TI SCON.1 Індикатор переривання передавача. Установлюється апаратно при закінченні передачі байта. Скидається програмно після обслуговування переривання
RI SCON.0 Індикатор переривання передавача. Установлюється апаратно після прийому байта. Скидається програмно після обслуговування переривання

 

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

Індикатор переривання передавача ТІ установлюється апаратно в кінці періоду передачі восьмого біта даних в режимі 0 і на початку періоду передачі стоп-біта в режимах 1,2,3. У підпрограмі обслуговування переривань необхідно обнулювати біт ТІ.

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

Швидкість обміну УАПП в різних режимах роботи визначається різними способами. В режимі 0 частота передачі залежить тільки від резонансної частоти резонатора За один машинний цикл послідовний порт передає один біт інформації.

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

В режимі 2 частота передачі визначається виразом . Якщо SMOD=0 частота передачі рівна , а при SMOD=1 - .

Таблиця 8.10- Регістр керування потужністю PCON

Символ Позиція Найменування та функція
SMOD PCON.7 Подвоєння швидкості обміну
- PCON.6  
- PCON.5 Не використовуються
- PCON.4  
GF1 PCON.3 Індикатори, що визначаються користувачем
GF2 PCON.2  
PD PCON.1 Біт зниження споживаної потужності МК
IDL PCON.0 Біт неробочого ходу. Якщо IDL=1, то наступає режим неробочого ходу

Зауваження. Обнуління вмісту PCON виконується шляхом завантаження в нього коду ****0000.

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

Переривання від таймера 1 в цьому випадку має бути заблоковане. Сам Т/Л1 може працювати і як таймер, і як лічильник подій в будь-якому з трьох режимів. Однак найвдалішим є використання режиму таймера з автозавантаженням (старша тетрада TMOD=0010 B). При цьому частота передачі визначається виразом:

З особливостями роботи УАПП в різних режимах детально можна ознайомитись у спеціальній літературі [ ].

Система переривань

Спрощена схема переривань МК51 подана на рисунку 8.8.

 

Рисунок 8.8- Схема переривань МК51

 

Зовнішні переривання і можуть викликатись рівнем 0 або переходом сигналу з 1 в 0 на входах МК в залежності від значень керуючих бітів ІТ0 і ІТ1 в регістрі ТCON. Від зовнішніх переривань установлюється індикатори ІЕ0 і ІЕ1 в регістрі ТCON, які ініціюють виклик відповідної програми обслуговування переривань. Обнуління цих індикаторів виконується апаратно лише тоді, коли переривання викликане за зрізом сигналу. Якщо ж переривання викликане рівнем вхідного сигналу, то скинути індикатор ІЕ можна у підпрограмі обслуговування переривань шляхом впливу на джерело переривань з метою скасування запиту.

Індикатори запиту переривань від таймерів TFO i TF1 обнулюється автоматично при передачі керування підпрограмі обслуговування. Індикатори запиту переривання RI i TI установлюються блоком керування УАПП апаратно, але скидувати треба їх програмно.

Переривання можуть ініціюватись і відмінятись програмно, оскільки всі перераховані індикатори програмно-доступні.

В блоці регістрів спеціальних функцій є два регістри для керування режимами переривань і рівнями пріоритету (відповідно символьні імена ІЕ і ІР). Формати цих регістрів описані в таблицях 8.11 – 8.12. Можливість програмної установки бітів цих регістрів забезпечує гнучку систему переривань МК51.

Таблиця 8.11- Регістр масок переривань ІЕ

Символ Позиція Ім’я та призначення
ЕА IE.7 Заблокування переривань. Скидається програмно для заборони всіх переривань незалежно від стану ІЕ4-ІЕ0
- IE.6 Не використовується
- IE.5  
ES IE.4 Біт дозволу переривання від УАПП. Програмна установка/ скидання програмне для дозволу /заборони переривань від індикаторів TI i RI
ET1 IE.3 Біт дозволу переривання від таймера 1. Програмна установка/ скидання для дозволу /заборони переривань від таймера 1
EX1 IE.2 Біт дозволу зовнішнього переривання 1. Програмна установка/ скидання для дозволу /заборони зовнішнього переривання 1
ET0 IE.1 Біт дозволу переривання від таймера 0. Програмна установка/ скидання для дозволу /заборони переривань від таймера 0
EX0 IE.0 Біт дозволу зовнішнього переривання 0. Програмна установка/ скидання для дозволу /заборони зовнішнього переривання 0

 

Таблиця 8.12- Регістр пріоритетних переривань

Символ Позиція Ім’я та призначення
- IP.7-IP.5 Не використовуються
PS IP.4 Біт пріоритету УАПП. Програмна установка/ скидання для присвоєння перериванню від УАПП вищого/нижчого пріоритету
PT1 IP.3 Біт пріоритету таймера 1. Програмна установка/ скидання для присвоєння перериванню від таймера 1 вищого/нижчого пріоритету
PX1 IP.2 Біт пріоритету зовнішнього переривання 1. Теж для переривання
PT0 IP.1 Біт пріоритету таймера 0.
PX0 IP.0 Біт пріоритету зовнішнього переривання 0. Працює аналогічно ІР.2

 

Індикатори переривань опитуються в момент S5P2 кожного машинного циклу. Ранжування переривань за рівнем пріоритету виконується на наступному машинному циклі. Система переривань генерує апаратний виклик (LCALL) відповідної програми обслуговування, якщо вона не блокується однією з таких умов:

1) в даний момент обслуговується запит переривань рівного або вищого рівня пріоритету;

2) поточний машинний цикл – не останній в циклі виконання команди;

3) виконується команда RETI або інша команда, пов’язана зі зверненням до регістрів ІЕ або ІР.

За апаратно-сформованим кодом LCALL система переривань розміщує в стеку тільки вміст лічильника команд РС і завантажує в нього адресу вектора підпрограми обслуговування. За адресою вектора має бути розміщена команда безумовного переходу (JMP) до початкової адреси підпрограми обслуговування переривань. Підпрограма обслуговування у випадку необхідності має починатись командами запису в стек (PUSH) регістра PSW, акумулятора, покажчика даних тощо і закінчуватись командами відновлення із стеку (РОР). Підпрограма обслуговування переривань має завершуватись командою RETI, за якою у лічильник команд завантажується зі стеку адреса повернення в основну програму.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...