Керуюче слово та програмування ППА

Для того, щоб скористатися ППА, його треба спочатку запрограмувати, тобто приписати кожному з портів функції, котрі він має виконувати: працювати на введення чи на виведення, указати в якому режимі мають працювати ці порти: у синхронному (0), асинхронному (1) або асинхронному дуплексному (2). Уся ця інформація повинна міститися в керуючому слові - однобайтовому, кожний біт якого має певний зміст і визначає певну функцію ППА. Керуюче слово складається програмістом, записується ним у програму, потім видається мікропроцесором і приймається в спеціальний регістр ППА - регістр керуючого слова (РКС). Інформація, записана до РКС, керує роботою ППА доти, аж поки до РКС не буде записане інше керуюче слово.

Цей метод керування роботою окремих ІМС, що входять до складу мікропроцесорних систем шляхом програмування їх через керуюче слово, вельми поширений у мікропроцесорній техніці й ми зустрінемося з ним не один раз надалі. Якщо потрібна інформація не вміщується в однобайтовому керуючому слові, використовують два або навіть три керуючих слова, які послідовно вводяться до керованої ІМС мікропроцесором. У ППА вдається обмежитись одним керуючим словом, структура якого й зміст його окремих бітів подано на рис. 7.9.

Усі порти ППА поділяються на дві групи: групу порту А до якої крім самого порту А входить також старша тетрада порту С і групу порту В, до якої, крім порту В, входить молодша тетрада СЗ - CO. Старший біт керуючого слова D7 дорівнює одиниці. Біти D6 і D5 визначають режим портів групи А: синхронний, асинхронний або дуплексний. Біт D4 визначає напрямок руху даних через порт А - на введення їх від ЗП чи на виведення до ЗП. Те саме робить біт D3 щодо тетради С7 - С4. Аналогічні функції для групи порту В виконують біти D2, D1 та DO.

Керуюче слово записується програмою цо акумулятора командою MVI А й виводиться командою OUT ADR, де під ADR розуміють адресу керуючого слова ППА. Як видно з табл. 7.1, адреса РКС є найстаршою з чотирьох адрес, за якими звертаються до ППА.

Наведемо приклад складання керуючого слова. Нехай порт А та Сет працюють на виведення в синхронному режимі, а порт В і Смол -на введення в асинхронному'. Тоді керуюче слово матиме вигляд 10000111В = S7H. Якщо адресами ППА будуть Е8 - ЕВ, то програмування ППА здійснюється командами

MVI А, 87 OUT EB

Дані, що мають бути виведені, також засилаються спочатку до акумулятора й далі виводяться командою OUT через обраний порт. Так. наприклад, якщо бажано вивести число А8Н, яке знаходиться в робочому регістрі В, через порт А, то це виглядатиме так:

MOV А,В - OUT E8

Якщо ж дані сприймаються через порт В (у синхронному режимі) та мають бути розміщені за адресою 8050, то це виконується таким фрагментом програми:

MVI А,82 OUT EB

IN E9 STA8050

Оскільки ми працюємо лише з портом В, то тут біти D6 - D3 та DO керуючого слова можуть бути довільними й ми заповнили їх нулями; IN - команда введення, Е9 - адреса порту В; STA - команда пересилання з акумулятора за вказаною в команді адресою.

Окремим питанням є програмування порту С за окремими бітами. Виведення таких окремих бітів використовується для супроводження передачі інформації у асинхронному режимі (режими 1 або 2).

Після того, як тетрада порту С, в якій знаходиться бажаний біт, запрограмована на виведення, до акумулятора запису; ть нове керуюче слово і його надсилають до РКС. Воно складається за схемою, зображеною на рис. 7.10.

До найстаршого біта записується 0 - цим дане керуюче слово відрізняється від попереднього. Біти D6 - D4 можуть бути довільними. У розряди D3 - D1 записується у двійковому коді номер обраного біта порту С, а до DO записується те значення,яке бажано записати в цей біт.

Так, наприклад, якщо слід записати одиницю до біта С5, то це потрібно зробити таким чином:

MVI А, 0В OUT EB

Ці команди мають бути записані в загальній програмі на тому місці, де виникає потреба побітного програмування порту С. Зауважимо, що при новому побітному програмуванні порту С зроблене раніше побітне програмування не зберігається.


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



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