Смекни!
smekni.com

Мікроконтролери CISC архітектури (стр. 3 из 3)

Базовою моделлю сімейства МК MCS51 і основою для всіх наступних модифікацій є МК і8051. Це -- восьмирозрядний ОМК, що має:

- вбудований тактовий генератор;

- адресний простір пам'яті програм -- 64 КБ;

- адресний простір пам'яті даних -- 64 КБ;

- внутрішню (резидентну) пам'ять програм ПЗП -- 4 КБ;

- внутрішню (резидентну) пам'ять даних ОЗП -- 128 байт;

- додаткові можливості по виконанню операцій булевої алгебри (побітових операції);

- 32 двонапрямлені й індивідуально адресовані лінії введення/виведення (порти Р0-Р3);

- послідовний порт (Serial Port);

- 2 шістнадцатирозрядні багатофункціональні таймери/лічильники (Т/С 0, Т/С 1);

- повнодуплексний асинхронний прийомопередавач;

- векторну систему переривань із двома рівнями пріоритету і шістьма джерелами подій.

Спрощена структурна схема і8051 подана на рис. 2, призначення виводів мікросхеми -- на рис. 3.

Рис. 2. Структурна схема і8051

Bus control –блок керування; Interrupts control – система переривань; CPU – центральний процесор; OSC – генератор; ROM –ПЗП; RAM – ОЗП; I/O ports – порти введення-виведення.

Рис. 3. Призначення виводів I-8051.

Позначення сигналів на рис. 3:

· Uss -- потенціал загального проводу ("землі");

· Ucc -- основна напруга живлення +5 В;

· XTAL1, XTAL2 -- виводи для підключення кварцового резонатора;

· RESET -- вхід загального скидання МК;

· PSEN -- дозвіл зовнішньої пам'яті програм;

· ALE -- строб адреси зовнішньої пам'яті;

· ЕА -- відключення внутрішньої програмної пам'яті;

· P1 -- восьмибітний квазідвонапрямлений порт введення/виведення (кожен розряд порту може бути запрограмований як на введення, так і на виведення інформації);

· P2 -- порт, аналогічний Р1; крім того, виводи цього порту використовуються для видачі адресної інформації при звертанні до зовнішньої пам'яті програм або даних;

· РЗ -- аналогічний Р1; крім того, виводи цього порту можуть виконувати ряд альтернативних функцій, що використовуються при роботі таймерів, порту послідовного введення/виведення, контролера переривань, і зовнішньої пам'яті програм і даних;

· P0 — восьмибітний двонапрямлений порт введення/виведення інформації.

2.2. Організація пам’яті базової моделі сімейства МК MCS-51

Вся серія MCS51 має гарвардську архітектуру (пам'ять даних відділена від пам'яті програм). Організація резидентної пам'яті програм (РПП) зображена на рис. 4.

Область нижніх адрес РПП використовується системою переривань, забезпечена підтримка п'яти джерел переривань -- двох зовнішніх (EINT1 та EINT1), двох переривань від таймерів та одного від послідовного порту. Молодша адреса ПЗП використовується для початку роботи ОМК після скидання сигналом RESET.

Пам'ять програм може бути розширена до 64 кБайт через приєднання зовнішніх ВІС ПЗП.

Рис. 4. Організація РПП

ОЗП або резидентна пам'ять даних (РПД) складається з двох областей. Перша область – ОЗП даних із інформаційній ємністю 128*8 біт з адресами 0 -- 7FH. Друга область – регістри спеціальних функцій SFR (Special Function Register) з адресами 80Н – FFH. РПД.

2.3. Регістри МК MCS-51

Структурна схема МК MCS-51, деталізована до регістрів, подана на рис.5. Розглянемо склад схеми та призначення її елементів.

Блок ЦП містить 8-розрядний АЛП (ALU) зі схемою десяткової корекції (DCU), два акумулятори -- А (Accumulator), що використовується як джерело і приймач при обчисленнях і пересиланнях, та В (Multiplication Register), що використовується як акумулятор лише у командах множення та ділення, і як РЗП – у інших випадках.

Рис. 5. Структурна схема і8051, деталізована до регістрів

Програмно-недоступні буферні регістри T1 і T2призначені для тимчасового збереження операндів та виконують функції розподілу вхідних та вихідних даних АЛП.

Регістр слова стану процесора PSW (Processor State Word) містить біти, що відображають результати виконання операцій та стан процесора (аналогічний за призначенням регістру прапорів процесора I8086).

Адреси комірок ПЗП визначаються вмістом лічильника команд PC (Program Counter) або вмістом регістра-покажчика даних DPTR (Data Pointer Register). Регістр DPTR може використовуватися як один 16-розрядний регістр, або як два незалежних 8-розрядних регістри DPL та DPH.

РПД адресується 8-розрядними регістром адреси PA або покажчиком стеку SP (Stack Pointer). Регістр адреси є програмно-недоступним регістром, у який завантажується адреса комірки ОЗП під час виконання команд. Регістр SP призначений для адресації вершини стеку, який є частиною РПД.

Регістри P0 – P3 – регістри відповідних портів.

Блок керування складається зі схеми керування та синхронізації CU, генератора OSC та 8-розрядного регістра команд IR. Код команди, зчитаної з РПП, запам’ятовується у IR, і надходить на дешифратор команд, який входить до складу CU. Дешифратор команд формує 24-розряднйи код, що надходить на програмовану логічну матрицю, а після цього – на блок логіки керування.

У складі блоку переривань, таймерів та послідовного порту є наступні регістри:

Регістр керування енергоспоживанням PCON (Power Control Register).

Регістри таймерів/лічильників TL0, TL1, TH0, TH1.

Створюють 16-бітні (Low/High) регістри таймерів/лічильників Т/C0 і Т/C1. Звертання до регістрів тільки байтове.

Регістр режиму таймерів/лічильників TMOD (Timer/Counter Mode Control Register).

Регістр керування таймерів/лічильників TCON (Timer/Counter Control Register).

Призначені для керування роботою таймерної секції МК.

Буфер послідовного порту SBUF (Serial Data Buffer).

Являє собою два окремих регістри. При запису в SBUF завантажується "буфер передачі" послідовного порту, при читанні SBUF зчитується вміст "буфера прийому" порту.

Регістр керування послідовним портом SCON (Serial Port Control Register).

Призначений для керування роботою послідовного порту. Звертання до даного регістра може бути як байтовим, так і побітовим.

Регістр дозволу переривань IE (Interrupt Enable Register).

Регістр керування пріоритетом переривання IP(Interrupt Priority Control Register).

Підтримують роботу системи переривань МК.

Всі регістри блоку переривань, таймерів та послідовного порту, а також P0 – P3, DPTR, SP, PSW, акумулятори А і В відносяться до регістрів спеціальних функцій SFR. Розміщення SFR у адресному просторі РПД подано таблицею у додатку.

ВИСНОВОК

МК – найбільш простий тип МПС, у яких всі або більшість вузлів системи (процесор, пам’ять даних і програм, програмовані інтерфейси) виконані у вигляді однієї великої інтегральної мікросхеми (ВІС). Системна шина МК «схована» від користувача усередині мікросхеми. Можливості підключення зовнішніх пристроїв до МК обмежені. МК – це пристрої, що практично завжди використовуються не самі по собі, а в складі більш складних пристроїв (наприклад, контролерів). Пристрої на МК звичайно призначені для рішення однієї конкретної задачі або обмеженого кола задач – як правило, керування і регулювання;

В дійсний час при розробці нових МПС найчастіше вибирають шлях використання МК (приблизно в 80% випадків). Однокристальні МК (ОМК) є зручним інструментом для створення сучасних вбудованих пристроїв керування різним обладнанням, наприклад, автомобільною електронікою, побутовою технікою, мобільними телефонами тощо.

Додаток. Таблиця. 1. Розміщення SFR у адресному просторі РПД

Адреса Символ Найменування
0E0H Акумулятор (Accumulator)
0F0H В Регістр розширник акумулятора (Multiplication Register)
0D0H *PSW Слово стану програми (Program Status Word)
080Н *P0 Порт 0 (SFR P0)
090H *Р1 Порт 1 (SFR P1)
0A0H *P2 Порт 2 (SFR P2)
0B0H *P3 Порт 3 (SFR РЗ)
081H SP Регістр покажчик стека (Stack Pointer)
083H DPH Старший байт регістра покажчика даних DPTR (Data Pointer High)
082H DPL Молодший байт регістра покажчика даних DPTR (Data Pointer Low)
08CH TH0 Старший байт таймера 0 ()
08AH TL0 Молодший байт таймера 0 ()
08DH TH1 Старший байт таймера 1 ()
08BH TL1 Молодший байт таймера 1 ()
089H TMOD Регістр режимів таймерів лічильників (Timer/Counter Mode Control Register)
088H *TCON Регістр керування статусу таймерів (Timer/Counter Control Register)
0B8H *IP Регістр пріоритетів (Interrupt Priority Control Register)
0A8H *IE Регістр маски переривання (Interrupt Enable Register)
087H PCON Регістр керування потужністю (Power Control Register)
098H *SCON Регістр керування приемопередатчиком (Serial Port Control Register)
099H SBUF Буфер приемопередатчика (Serial Data Buffer)