Page 57 - 6733
P. 57
Директива END в кінці є обов’язковою.
9.3.2. Регістри та порти х51
У розглянутій вище програмі були задіяні два регістри: акумулятор А та
регістр покажчику стеку SP. Регістром називають комірку пам’яті всередині
процесора, розрядність якої зазвичай дорівнює розрядності процесора. Набір
регістрів визначається архітектурою процесора. В архітектурі х51 передбачено
наступні регістри:
- акумулятор А – регістр, призначений для виконання арифметичних
операцій (тобто арифметичні операції можуть виконуватись тільки над цим
регістром);
- регістри оперативного призначення R0, R1, ... R7, у яких можна зберігати
проміжні результати операцій;
- регістри спеціального призначення, які використовуються для задання
режимів роботи процесора та блоків вбудованих периферійних пристроїв та
забезпечення їхнього функціонування.
Прикладом регістру спеціального призначення є регістр покажчику стеку SP
(stack pointer). До цієї ж групи можна віднести регістр-покажчик команд РС
(program counter), в якому зберігається адреса поточної команди, регістр ознак
PSW (program status word), в якому зберігаються ознаки результату виконання
останньої арифметико-логічної команди (наприклад, рівність результату нулю,
тощо).
До регістрів спеціального призначення також відносять регістри портів: Р0,
Р1, Р2, Р3. Кожен біт регістру порта відповідає одному із зовнішніх виводів
мікроконтролера. Запис деякого числа в регістр порта призводить до зміни стану
зовнішніх виводів, і якщо до них приєднані якісь пристрої вводу-виводу, можна
здійснювати керування ними, змінюючи значення в регістрі порта. Наприклад,
можна підключити до порта світлодіод за схемою рис. 1.3. При підключенні на
рис. 1.3, (а) для того, щоб світлодіод горів, слід подати на відповідний вивід порта
1, щоб не горів - 0, а для схеми рис. 2.3, (б) – навпаки.
а) б)
Рисунок 9.1 – Підключення світлодіодів до порта МК
Якщо виводи порта передбачається застосовувати як входи, слід попередньо
записати у відповідні розряди регістра порта логічну 1.
Більшість регістрів спеціального призначення мають побітову адресацію,
тобто до кожного окремого біта можна звернутись спеціальними командами, які
передбачають роботу з бітами. Звертання до окремого біта виглядає так:
57