загрузка...
загрузка...
На головну

Передача даних

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

Зовнішні переривання по входах INT0 і INT1 можуть бути викликані або рівнем (0), або фронтом (перехід з 1 в 0) сигналів на висновках Р3.2, Р3.3, що визначається програмуванням бітів IT0 і IT1 регістра TCON. Під час отримання запиту зовнішнього переривання встановлюються прапори IE0 або IE1. При переривання по фронту ці прапори скидаються апаратно при зверненні до підпрограми обслуговування, при переривання за рівнем прапори очищаються при знятті запиту зовнішнього переривання.

У блоці регістрів спеціальних функцій є два регістри, призначених для управління режимом переривань (IE) і рівнями пріоритету (IP). Установка біта ЕА знімає загальну блокування переривань.

Переривання від таймерів / лічильників викликаються при їх переповненні установкою прапорів TF0 і TF1. Очищення цих прапорів відбувається автоматично при зверненні до підпрограм обслуговування. Прапори запитів переривань приймача і передавача послідовного порту RI і TI встановлюються апаратно, але скидатися повинні програмою.

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


Операнди, які беруть участь в операціях пересилання, розрізняються за місцем розташування і способу адресації.

Взаємодія з пам'яттю програм ПП (тільки для читання) і зовнішньою пам'яттю даних ВПД (для читання і запису) здійснюється тільки через акумулятор А з використанням непрямої адресації.

До осередкам резидентної пам'яті даних РПД можна звернутися як за допомогою непрямої адресації (в якості покажчиків пам'яті використовуються регістри R0 або R1), так і за допомогою прямої адресації.

Пряма адресація байтів використовується при зверненні до регістрів спеціальних функцій РСФ.

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

Шестнадцатіразрядний операнд може бути безпосередньо завантажений в регістр-покажчик даних DPTR.

Доступ до зовнішньої пам'яті даних можливий з використанням 16-бітного адреси (MOVX A, @ DPTR) або 8-бітного адреси (MOVX A, @ Ri). У будь-яких випадках використання 16-розрядної адреси старший байт адреси фіксується (і зберігається незмінним протягом одного циклу записи чи читання) в регістрі-засувці порту P2.

Директиви асемблера і її трансляція «-- попередня | наступна --» Таймери / лічильники подій MCS-51
загрузка...
© om.net.ua