Однокристальний контролери сімейства МК51 p>
Однокристальний мікроконтролери - окремий клас мікросистем. Повнийнабір їх коштів розташований на одному кристалі. Сюди крім центральногопроцесора входять пам'ять, підсистема вводу-виводу, засоби підтримкирежиму реального часу (РВ). Інтеграція всіх складових частин мікро-ЕОМна одному кристалі внесла ряд обмежень на принципи її організації,зажадала нових рішень у розвитку її архітектури, не властивихбагатокристальні компонування. У результаті було отримано новий класмікроконтролерів (МК) з притаманними тільки йому принципами побудовиархітектури та структурної схеми. p>
Структурна організація, набір команд і апаратурно-програмнізасоби введення/виводу інформації мікроконтролерів найкращепристосовані для вирішення завдань управління і регулювання в приладах,пристроях і системах автоматики, а не для вирішення задач обробки даних.
Мікроконтролери не є машинами класичного "фон-неймановского"типу, так як фізична і логічна розділеність пам'яті програм іпам'яті даних виключає можливість модифікації і/або заміни (перевантаження)прикладних програм мікроконтролерів під час роботи, що сильноускладнює їх використання в якості універсальних засобів обробкиданих. p>
МК51 має у своєму складі: процесор, до складу якого входять 1 --байтного АЛУ і схема апаратурною реалізації команд множення і ділення;стирані ПЗУ програм ємністю 4 Кбайта, ОЗУ даних ємністю 128 байт; два
16-бітових таймера/лічильника; програмувальні схеми введення/виводу (32 лінії);блок дворівневого векторного переривання від п'яти джерел; асинхроннийканал дуплексного послідовного введення/виводу інформації зі швидкістю до
375 кбіт/с; генератор, схему синхронізації і керування. P>
Структурна організація і система команд МК51.
Мікроконтролер виконаний на основі високорівневої n-МОН технології івипускається в корпусі БІС, що має 40 зовнішніх висновків. Через чотирипрограмованих порту введення/виводу МК51 взаємодіє із середовищем встандарті ТТЛ-схем з трьома станами по виходу. У сучасному виконаннімікроконтроллер може бути виконаний також в К-МОП виконанні
p>
Призначення висновків.
GND - потенціал землі;
EA/VPP - відключення резидентної пам'яті програм/напруга програмування
(21В);
VCC - основна напруга живлення +5 В;
ALE/PROG - строб адреси зовнішньої пам'яті/для подачі рівня GND припрограмуванні;
PSEN - дозвіл зовнішньої пам'яті програм;
RD - стробірующій сигнал при читанні з зовнішньої пам'яті даних абопристрої введення/виводу;
WR - стробірующій сигнал при записі в зовнішню пам'ять даних або пристроювведення/виводу;
T0 - вхідний сигнал, опитуваний по командах умовного переходу, так самовикористовується при програмуванні;
Т1 - вхідний сигнал, опитуваний по командах умовного переходу,використовується як входу внутрішнього лічильника зовнішніх подій;
INT0, INT1 - сигнал запиту переривання;
RST/VPD - сигнал загального скидання/вхід харчування при зниженомуенергоспоживанні;
RXD і TXD - входи послідовного інтерфейсу;
XTAL1, XTAL2 - входи підключення кварцового резонатора;
P0, P1, P2, P3 - квазідвунаправленние порти паралельного вводу-виводу
(порт P3 несе додаткові функції) p>
Арифметико-логічний пристрій
8-бітове АЛП може виконувати арифметичні операції додавання, віднімання,множення і ділення; логічні операції і, або, що виключає або, а так самооперації зсуву, скидання, інвертування і т.д. В АЛП є програмнонедоступні регістри Т1 і Т2, призначені для тимчасового зберіганняоперандів, схема десяткового корекції та схема формування ознак.
Важливою особливістю АЛП є його здатність оперувати не тількибайтами, але і битами. Окремі програмно доступні біти можуть бутивстановлені, скинуті, інвертовані, передані, перевірені та використані влогічних операціях. p>
резидентна пам'ять p>
Пам'ять програм і пам'ять даних, розміщені на кристалі МК51,фізично і логічно розділені, мають різні механізми адресації,працюють під управлінням різних сигналів і виконують різні функції. p>
Пам'ять програм (РПП): має ємність 4 Кбайта і призначена длязберігання команд, констант, керуючих слів ініціалізації, таблицьперекодування вхідних та вихідних змінних і т.п. РПП має 16-бітну шинуадреси, через яку забезпечується доступ з лічильника команд чи зрегістра покажчика даних. Останній виконує функції базового регістрапри непрямих переходах за програмою або використовується в командах,оперують з таблицями. p>
Пам'ять даних (РПД): призначена для зберігання змінних в процесівиконання прикладної програми, адресується одним байтом і має ємність
128 байт. Крім того, до адресного простору РПД примикають адресирегістрів спеціальних функцій. p>
Пам'ять програм, так само як і пам'ять даних, може бути розширена до
64 Кбайт шляхом підключення зовнішніх БІС. P>
У МК51 передбачені чотири банку по вісім робочих регістрів R0 ... R7;банк вибирається полем RS в слові стану програми. Вони виконуютьобщецелевие функції з проміжного зберігання даних. За аналогією з МК48
R0 і R1 кожного банку реалізують також функцію 8-розрядних покажчиківданих. За допомогою набору робочих регістрів істотно зменшуєтьсятривалість перемикання контекстів ЦП, що дуже важливо длямікроконтролерів реального часу. У МС51 відсутнє обмеження,накладаються на процедури обслуговування переривань, властиві МК48. p>
Пам'ять програм (64 Кбайт) - однорідна лінійна область, що реалізуєтьсяяк внутрішніми, так і зовнішніми засобами. Для сумісності з МК48передбачений ряд команд, які дозволяють розглядати пам'ять у виглядінабору 2-Кбайтних банків. Подібно архітектурі МК48 всі банки робочихрегістрів, а також системний стек розташовуються у внутрішній пам'ятіданих. Визначено два способи адресації пам'яті: прямий (direct) інепрямий (@ Ri, де i = 0 ... 1). За допомогою прямої адресації доступна тількимолодша адресного простору внутрішньої пам'яті даних (128 байт), тодіяк непряма забезпечує доступ до будь-якої її осередки з діапазону 256 байт.
Введення прямої адресації розширило можливості однокристальнихмікроконтролерів з обробки даних. Зокрема, з'явилися засобидоступу до робочих регістрів і системного стеку, інтерпретується якзвичайні елементу пам'яті. p>
p>
Мікроконтролер МК51 має розвинену підсистему введення-виведення та засобиуправління режимом реального часу. Для їх управління в мікроконтролеріпередбачений ряд регістрів, які розміщені в окремо прямо адресуютьсяпросторі спеціальних регістрів (128 байт). Сюди ж включені і деякірегістри ЦП. Простір спеціальних регістрів разом з молодшою частиноюадресного простору внутрішньої пам'яті даних утворюють прямо адресуютьсяобласть. При цьому спочатку розміщується молодша половина просторувнутрішньої пам'яті даних, а потім простір спеціальних регістрів. p>
Блок регістрів спеціальних функцій
| Символ | Назва | Адреса |
| ACC | Акумулятор | 0E0H |
| B | Регістр-розширник | 0F0H |
| | Акумулятора | | p>
| PSW | Слово стану | 0D0H |
| | Програми | |
| SP | Регістр-покажчик стека | 81H |
| DPRT | Регістр-покажчик | 83H |
| | Даних (DPH) | |
| | (DPL) | 82H |
| P0 | Порт 0 | 80H |
| P1 | Порт 1 | 90H |
| P2 | Порт 2 | 0A0H |
| P3 | Порт 3 | 0B0H |
| IP | Регістр пріоритетів | 0B8H |
| IE | Регістр маски | 0A8H |
| | Переривань | |
| TMOD | Регістр режиму | 89H |
| | Таймера/лічильника | |
| TCON | Регістр | 88H |
| | Управління/стану | |
| | Таймера | |
| TH0 | Таймер 0 (старший байт) | 8CH |
| TL0 | Таймер 0 (молодший байт) | 8AH |
| TH1 | Таймер 1 (старший байт) | 8DH |
| TL1 | Таймер 1 (молодший байт) | 8BH |
| SCON | Регістр управління | 98H |
| | Приемопередатчиком | |
| SBUF | Буфер прийомопередатчика | 99H |
| PCON | Регістр управління | 87H |
| | Потужністю | | p>
Формат слова стану програми (PSW)
| Символ | Позиція | Назва і значення |
| C | PSW.7 | Прапор переносу. Встановлюється |
| | | І апаратурними засобами або |
| | | Програмою при виконанні |
| | | Арифметичних і логічних |
| | | Операцій |
| AC | PSW.6 | Прапор допоміжного переносу. |
| | | Встановлюється і скидається |
| | | Тільки апаратурними засобами |
| | | При виконанні команд складання |
| | | І віднімання і сигналізує про |
| | | Перенесення або позику в бите 3 |
| F0 | PSW.5 | Прапор 0. Може бути встановлений, |
| | | Скинутий або перевірений програмою |
| | | Як прапор спеціфіціруемий |
| | | Користувачем |
| RS1 | PSW.4 | Вибір банку регістрів. |
| RS0 | PSW.3 | Встановлюється і |
| | | Скидається апаратно при |
| | | Виконання арифметичних |
| | | Операцій |
| OV | PSW.2 | Прапор переповнення. |
| | | Встановлюється і скидається |
| | | Апаратно при виконанні |
| | | Арифметичних операцій |
| - | PSW.1 | Не використовується |
| P | PSW.0 | Прапор паритету. Встановлюється |
| | | І скидається апаратно в |
| | | Кожному циклі команди та |
| | | Фіксує непарне/парне число |
| | | Поодиноких біт в акумуляторі, |
| | | Тобто виконує контроль за |
| | | Парності (PSW.0) | p>
Центральний процесор МК51 містить спеціальну логіку для виконанняоднобітних ряду операцій, в яких роль акумулятора реалізує прапорецьперенесення СУ. Для зберігання бульових даних в архітектурі МК51 передбаченоокреме прямо адресуються простір BSEG (256 біт), яке фізичнопоєднане з прямо адресується частиною внутрішньої пам'яті даних і областюспеціальних регістрів. Hаприклад, акумулятор A, доступний як елементрегістровий пам'яті, може бути прямо адресований і як елемент просторуспеціальних регістрів (адреса 0E0h), і як область бітів з адресами
0E0h ... 0E7h. При цьому бітовий адреса 0E0h відноситься до молодшого розрядуакумулятора. p>
Розміщення в області спеціальних регістрів чотири 8-розряднихпсевдодвунаправленних порту вводу-виводу суміщені з двійкового простором,що забезпечує доступ до окремих їх розрядами незалежно один від одного. p>
Послідовний інтерфейс p>
У складі МК1 введений дуплексний периферійний зв'язковий адаптер, якийможе бути запрограмований для роботи в одному з чотирьох основних режимів: p>
0 синхронний послідовний ВВ зі швидкістю OSC/12; p>
1 асинхронний з 10-бітовим кадром і змінною швидкістю передачі; p>
2 асинхронний з 11-бітовим кадром і фіксованою швидкістю передачі
OSC/32 або OSC/64; p>
3 асинхронний з 11-бітовим кадром і змінною швидкістю передачі. P>
Через універсальний асинхронний приймач (УАПП) здійснюєтьсяприйом, передача інформації, представленої послідовним кодом, у повномудуплексному режимі обміну. До складу УАПП входять приймає й передаєзсуваються регістри, а також спеціальний буферний регістр (SBUF)приймача. Запис байта в буфер призводить до автоматичної переписубайти в зсувний регістр і ініціює початок передачі байта. Наявністьбуферного регістра приймача дозволяє поєднувати операцію читання ранішеприйнятого байти з прийомом чергового байта. Якщо до моменту закінчення прийомубайти попередній байт не був лічений з SBUF, то він буде втрачено. p>
Управління режимом роботи УАПП здійснюється через спеціальнийрегістр з символічним ім'ям SCON. Цей реєстр містить не тількикеруючі біти, що визначають режим роботи послідовного порту, але йдев'ятого біт прийнятих або переданих даних (RB8 і TB8) й бітипереривання прийомопередатчика (RI і TI). p>
Таймери p>
Два програмованих 16-бітових таймера/лічильника (Т/С0 і Т/С1) можутьбути використані як таймерів або лічильників зовнішніх подій. Прироботі в якості таймера вміст Т/С інкрементіруется в кожному машинномуциклі. При роботі в якості лічильника вміст Т/С інкрементіруется підвпливом переходу з 1 в 0 зовнішнього вхідного сигналу, що подається навідповідний (Т0, Т1) висновок МК51. Так як на розпізнавання переходупотрібно два машинних цикли, то максимальна частота підрахунку вхіднихсигналів дорівнює 1/24 частоти резонатора. На тривалість періоду вхіднихсигналів обмежень зверху немає. Для гарантованого прочитання вхідноговважаємо сигналу він повинен утримувати значення 1 як мінімум протягомодного машинного циклу. p>
Регістр режиму роботи таймера/лічильника (TMOD)
| Символ | Позиція | Назва і значення |
| GATE | TMOD.7 | Управління блокуванням. |
| | Для T/C1 | |
| | TMOD.3 | |
| | Для T/C0 | |
| C/T | TMOD.6 | Біт вибору режиму таймера або |
| | Для T/C1 | лічильника подій. |
| | TMOD.2 | |
| | Для T/C0 | |
| M1 | TMOD.5 | Біти вибору режиму роботи |
| | Для T/C1 | |
| | TMOD.1 | |
| | Для T/C0 | |
| M0 | TMOD.4 | |
| | Для T/C1 | |
| | TMOD.0 | |
| | Для T/C0 | | p>
Структурна схема роботи T/C0 (T/C1) p>
p>
Режими 0 і 1 p>
(режим 0 для p>
сумісності p>
з МК48 13-ти p>
розрядний) p>
Режим 2 p>
Режим 3 p>
Система переривань p>
Зовнішні переривання INT0 і INT1 можуть бути викликані або рівнем, абоперепадом сигналу з 1 в 0 на входах МК51 в залежності від значенькеруючих біт IT0 і IT1 в регістрі TCON. p>
Переривання можуть бути викликані або скасовані програмою, так як усірозглянуті вище прапори переривань програмно-доступні і можуть бутивстановлені/скинуті програмою з тим же результатом, як якби вони буливстановлені/скинуті апаратурними засобами. p>
У блоці регістрів спеціальних функцій є два регістри,призначених для управління режимом переривань і рівнями пріоритету. Їхсимволічні імена IE та IP відповідно. p>
Список літератури p>
1. Проектування цифрових пристроїв на однокристальнихмікроконтролерах/В. В. Сташін, А.В. Урусов, О.Ф. Мологонцева. -
М.: Энергоатомиздат, 1990. - 224 с. P>
2. Кобилинський А.В., Липовецький Г.П. Однокристальний мікроЕОМ серії
МК1816// Мікропроцесорні засоби та системи. 1986. № 1. С.10 p>
3. МікроЕОМ: В 8 кн.: Посібник/Під. ред. Л.Н. Преснухин. Кн. 7.
Навчальні стенди/Ю.І. Волков, В.Л. Горбунов, Д.І. Панфілов, С.Г. Шаронін. -
М.: Висш. шк., 1988. - 224 с.: Ил. P>
p>