1   2   3   4   5
Ім'я файлу: МПП-1 Архітектура мікроконтролера MCS-51.pdf
Розширення: pdf
Розмір: 794кб.
Дата: 09.05.2020
скачати
Пов'язані файли:
спз.docx
3.
СТРУКТУРНА ОРГАНІЗАЦІЯ
МІКРОКОНТРОЛЕРІВ СІМЕЙСТВА MCS-51
3.1.
Загальні відомості про архітектуру мікроконтролера
Однокристальний мікроконтролер для вбудованих використань (embedded microcontroller), який раніше інколи називали однокристальною мікро-ЕОМ, являє собою виготовлену на одному кристалі мікропроцесорну систему, зорієнтовану на реалізацію алгоритмів цифрового керування різноманітними об’єктами та проце- сами. У складі мікроконтролера, як правило, – центральний процесор, внутрішня постійна та оперативна пам’ять, паралельні та послідовні порти введен- ня/виведення даних, набір периферійних пристроїв: таймерів, контролерів перери- вань, аналого-цифрових перетворювачів, широтно-імпульсних модуляторів, моду- лів цифрової обробки сигналів у реальному часі. Таким чином, на базі однієї мік- росхеми мікроконтролера з використанням мінімальної кількості зовнішніх еле- ментів можна побудувати багатофункціональну універсальну цифрову систему.
За сукупністю функціональних можливостей та технічних характеристик мі- кроконтролери зорієнтовані перш за все на вирішення завдань управління різно- манітними приладами та пристроями. Вони використовуються також як компоне- нти у системах управління електроприводами, інформаційно-вимірювальних та контрольно-діагностичних системах, побутовій техніці, автомобільному, залізнич- ному та повітряному транспорті, військовій техніці тощо.
Найбільш суттєва відмінність архітектури однокристальних мікроконтроле- рів від традиційної архітектури мікропроцесорів у тому, що внутрішня пам’ять програм (ВПП) та внутрішня пам’ять даних (ВПД) – це принципово різні пристрої.
Якщо мікропроцесор КР580ВМ80 здатний виконувати коди програм, які можуть перебувати як в постійній, так і в оперативній пам’яті, то мікроконтролер виконує програму, яка тільки в пам’яті програм. Коли мікропроцесор використовує одні й ті ж сигнали
D
R
і
R
W
при звертанні до мікросхем як постійної, так і оперативної пам’яті, то однокристальний мікроконтролер встановлює різні сигнали при звер- танні до зовнішніх пам’яті програм та пам’яті даних.
На рис. 3.1 наведена внутрішня структура мікроконтролера 8051АН – вихід- на для сімейства MCS-51, що вміщує такий набір функціональних модулів:
· 8-розрядний арифметико-логічний пристрій (АЛП) з апаратною реалізаці-
єю операцій множення/ділення;
· внутрішній оперативний запам’ятовуючий пристрій (ОЗП, пам’ять даних) об’ємом 128 байтів;
· внутрішній постійний запам’ятовуючий пристрій (ПЗП, пам’ять програм) об’ємом 4 Кбайти;
· чотири двоспрямованих побітно налагоджуваних 8-розрядних порти вве- дення/виведення;
· два 16-розрядних таймери-лічильники;

13
Порт Р0…Порт Р3 – порти мікроконтролера; Рег. SFR – регістри портів мікроконтролера; ОЗП – оперативний запам’ятовуючий пристрій (пам’ять даних); ПЗП – постійний запам’ятовуючий пристрій (пам’ять програм);
Дод. ОЗП – додаткова пам’ять даних (для мікроконтролерів і8052; Асс – акумулятор; Рег. В – регістр-розширювач акумулятора (регістр В); ТМР1,
ТМР2 – регістри тимчасового зберігання даних; SP – регістр–покажчик сте- ку; PCON, SCON, SBUF, TMOD, TCON, IE, IP, TH0, TL0, TH1, TL1 – службові регістри спеціальних функцій внутрішніх пристроїв мікроконтро- лера; PC – програмний лічильник команд; PSW – регістр слова стану прог- рами; DPTR – регістр-покажчик даних
Рис.3.1. Внутрішня структура однокристального мікроконтролера 8051AH
сімейства MCS-51

14
· дуплексний послідовний порт для зв’язку з іншими контролерами чи мік- ро-ЕОМ;
· вбудований тактовий генератор.
Мікроконтролер 8051АН має особливості, обумовлені його апаратною реа- лізацією:
· адресація 64 Кбайтів зовнішньої пам’яті програм та 64 Кбайтів зовнішньої пам’яті даних;
· можливість виконання лініями порта 3 альтернативних функцій;
· можливість виконання операцій над окремими бітами;
· 2 лінії запитів на переривання від зовнішніх пристроїв;
· неможливість зупинки роботи мікроконтролера після подання напруги живлення і відсутність команди зупинки для мікросхем, створених з використан- ням схемотехніки динамічних елементів;
· наявність двох режимів зниженого енергоспоживання;
· наявність біта захисту від несанкціонованого копіювання програми із вну- трішнього ПЗП.
Слід мати на увазі, що технічні дані та архітектура мікроконтролерів типу
8051АН різних фірм-виробників електронних компонентів можуть відрізнятися.
На рис. 3.2 зображено розташування та призначення виводів мікроконтроле- ра 8051АН:
SS
U
– потенціал загального проводу (“землі”);
CC
U
– основна напруга живлення +5 В;
2
X
,
1
X
– виводи для під’єднання кварцового резонатора;
RST
– вхід загального скидання мікроконтролера;
N
E
S
P
– дозвіл зовнішньої пам’яті програм; видається тільки при зверненні до зовнішнього ПЗП;
ALE – строб адреси зовнішньої пам’яті;
A
E
– дозвіл внутрішньої пам’яті програм; рівень 0 на вході змушує викону- вати програму із зовнішнього ПЗП, ігноруючи внутрішню пам’ять програм;
1
P – 8-бітовий квазідвоспрямований порт введення/виведення; кожен біт порту може бути незалежно налагоджений на введення/виведення інформації;
2
P – 8-бітовий квазідвоспрямований порт, аналогічний 1
P ; крім того, виво- ди цього порту використовують для видачі старшого байта адреси при зверненні до зовнішньої пам’яті програм або даних за 16-бітової адресації. Виводи порту за- стосовуються для введення старших біт адреси при програмуванні внутрішнього
ПЗП (для мікросхем, що програмуються користувачем);
3
P
– 8-бітовий квазідвоспрямований порт, аналогічний до 1
P ; крім того, виво- ди цього порту можуть виконувати ряд альтернативних функцій, описаних нижче;

15 0
P
– 8-бітовий двоспрямований порт введення/виведення інформації; при роботі із зовнішніми ОЗП та ПЗП лініями порту послідовно видається молодший байт адреси зовнішньої пам’яті, після чого дані передаються чи приймаються.
Рис. 3.2. Розташування виводів мікроконтролера 8051AH
Розширені версії мікроконтролерів сімейства MCS-51 можуть мати нас- тупні периферійні пристрої:
· 32-розрядний математичний співпроцесор;
· додатковий 16-розрядний регістр DPTR;
· порт сканування клавіатури;
· контролер мультиплексного рідинно-кристалічного індикатора;
· додатковий багаторежимний таймер-лічильник PCA;
· сторожевий таймер (Watch Dog Timer, WDT);
· аналоговий компаратор;
· багатоканальний аналого-цифровий перетворювач (АЦП);
· прецизійний 24-розрядний АЦП;
· двоканальний цифро-аналоговий перетворювач (ЦАП);
· додатковий дуплексний асинхронний приймач-передавач (UART);
· додаткові послідовні інтерфейси (SPI, I2C, SMBus, CAN);
· “комп’ютерні” інтерфейси (USB, eISA);
· енергонезалежна пам’ять даних on-chip EEPROM (до 128 Кбайт);
· конфігурована логічна матриця CSL (до 2048 елементів);
· декодер програвача MP-3.

16
Сучасні мікроконтролери сімейства MCS-51 мають повністю статичну архі- тектуру і демонструють рекордну для 8-розрядних пристроїв швидкодію до
100 мільйонів операцій за секунду (MIPS).
Широкому розповсюдженню мікроконтролерів сімейства MCS-51 сприяли такі переваги:
· архітектура, яка фактично стала промисловим стандартом;
· велика широта та різноманітність можливостей;
· наявність високопродуктивних та розширених версій процесорів;
· значна кількість вільно доступних програмних та апаратних розробок;
· легкість апаратного програмування, у тому числі і внутрішньосхемного;
· дешевина базових чіпів сімейства;
· наявність спеціалізованих версій контролерів;
· наявність версій контролерів зі зниженим рівнем електромагнітних завад;
· доступність спеціальної літератури та інформації в Internet;
· підтримка архітектури провідними навчальними закладами світу.
Сьогодні мікроконтролери сімейства MCS-51 виробляють більше 20 фірм, серед яких найбільш відомі: Analog Devices; Atmel Corporation; Burr-Brown Prod- ucts, підрозділ Texas Instruments; Cypress Semiconductor; Cygnal Integrated Products,
Inc.; Dallas Semiconductor; Infineon Technologies AG – (раніше Siemens Semicon- ductors AG, підрозділ Siemens AG); Integrated Silicon Solution, Inc.; Philips Semi- conductors; ST Microelectronics; Texas Instruments, Inc.; Triscend Corporation; Win- bond Electronics Corp.; Temic Semiconductor (підрозділ Atmel Corp.), OKI Semicon- ductor, LG Electronics, Cybernetic Micro Systems, Matra MHS, Silicon Systems (SSI),
Advanced Micro Devices (AMD), та інші.
3.2.
Організація ОЗП, ПЗП та регістрів мікроконтролера
Пам’ять програм та даних мікроконтролера – це самостійні пристрої, що ад- ресуються різними командами та керуючими сигналами. Об’єм пам’яті програм, що розташована на кристалі мікроконтролера 8051АН, дорівнює 4 Кбайти. Деякі мікроконтролери сімейства MCS-51 мають до 32 Кбайтів внутрішньої пам’яті про- грам. При зверненні до зовнішньої пам’яті програм мікроконтролер завжди вико- ристовує 16-розрядну адресу, що забезпечує доступ до 64 Кбайтів ПЗП. Мікрокон- тролер звертається до програмної пам’яті при читанні коду операції і операндів (за допомогою лічильника команд PC), а також при виконанні команд перенесення байта із пам’яті програм до акумулятора. При виконанні команд перенесення да- них адресація елемента пам’яті програм, із якого будуть зчитані дані, може здійс- нюватись з використанням як програмного лічильника PC, так і спеціального дво- байтового регістра-покажчика даних DPTR. Об’єм розташованої на кристалі
8051АН пам’яті даних – 128 байтів. Інші модифікації мікроконтролерів сімейства

17
MCS-51 можуть мати 256 байтів внутрішнього ОЗП. Перші 32 байти внутрішньої пам’яті даних згруповані до чотирьох банків регістрів загального призначення, які позначаються як банк 0… банк 3. Кожен з них складається з восьми регістрів
R0…R7. У кожен момент часу програмі доступний тільки один банк регістрів, но- мер якого вміщують третій та четвертий біти слова стану програми PSW (рис. 3.3).
Рис. 3.3. Прапорці слова стану програми PSW
Решта адресного простору може бути сконфігурована користувачем за влас- ним розсудом: у ньому можна розташувати стек, системні дані та дані користува- ча. Звернення до елементів пам’яті даних можливе двома способами: перший – пряма адресація елементів пам’яті (адреса елемента є операндом відповідної ко- манди); другий – посередня (непряма) адресація за допомогою регістрів R0 або
R1: перед виконанням відповідної команди до одного з них повинна бути занесена адреса елемента, куди необхідно звернутися.
До адресного простору пам’яті даних примикає адресний простір регістрів спеціальних функцій (SFR). Адреси, за якими розташовані ці регістри, наведені в
табл. 3.1. Регістри спеціальних функцій займають тільки частину 128-байтового адресного простору. Елементи пам’яті з адресами 80H…0FFH, які не зайняті регі- страми, фізично відсутні на кристалі мікроконтролера 8051АН і можуть бути ви- користані в інших модифікаціях сімейства MCS-51.
При зверненні до зовнішньої пам’яті даних мікроконтролер може адресува- ти 64 Кбайти ОЗП. Адресація цих елементів зовнішнього ОЗП здійснюється посе- редньо регістрами R0 і R1 або двобайтовим регістром DPTR. Звернення до зовні- шньої пам’яті даних виконується за допомогою сигналів запису або читання
WR
та
RD
(табл. 3.2).
Акумулятор є джерелом операнда і місцем фіксації результату при виконан- ні ряду операцій. Тільки з використанням акумулятора можна здійснити операції зсуву, перевірки на нуль тощо. Але на відміну від більшості мікропроцесорів сис- тема команд мікроконтролерів сімейства MCS-51 вміщує велику кількість команд пересилок, переходів і логічних операцій, що здійснюються без використання

18
Таблиця 3.1
Назва та адреси спеціальних регістрів мікроконтролера 8051AH
Символ
Адреса
Назва
ACC *
0E0H
Акумулятор
B *
0F0H
Регістр-розширювач акумулятора
PSW *
0D0H
Слово стану програми
P0 *
080H
Порт 0 (SFR P0)
P1 *
090H
Порт 1 (SFR P1)
P2 *
0A0H
Порт 2 (SFR P2)
P3 *
0B0H
Порт 3 (SFR P3)
SP
081H
Регістр-покажчик стеку
DPH
083H
Старший байт регістра-покажчика даних DPTR
DPL
082H
Молодший байт регістра-покажчика даних DPTR
TH0 08CH
Старший байт таймера 0
TL0 08AH
Молодший байт таймера 0
TH1 08DH
Старший байт таймера 1
TL1 08BH
Молодший байт таймера 1
TMOD
089H
Регістр режимів таймерів-лічильників
TCON
*
088H
Регістр управління/ статусу таймера
IP *
0B8H
Регістр пріоритетів переривань
IE *
0A8H
Регістр маски переривань
PCON
087H
Регістр управління електроспоживанням
SCON
*
098H
Регістр управління приймачем-передавачем
SBUF
099H
Буфер приймача-передавача
Примітка: регістри, імена яких позначені знаком (*), допускають адресацію окремих бітів при виконанні команд із групи команд операцій над бітами.
Таблиця 3.2
Альтернативні функції виводів портів
Вивід порту
Альтернативна функція
P3.0
RXD – вхід послідовного порту
P3.1
TXD – вихід послідовного порту
P3.2 0
INT
– зовнішнє переривання 0
P3.3 1
INT
– зовнішнє переривання 1
P3.4 0
T
– вхід таймера-лічильника 0
P3.5 1
T – вхід таймера-лічильника 1
P3.6
WR
– строб запису до зовнішньої пам’яті даних
P3.7
RD
– строб читання із зовнішньої пам’яті даних

19
акумулятора. Це забезпечує гнучкість програмування. При виконанні ряду команд в арифметико-логічному пристрої (АЛП) формуються ознаки операцій – прапорці, які фіксуються в регістрі PSW. Перелік прапорців, їх символічні імена та умови формування – у табл. 3.3.
Таблиця 3.3
Призначення прапорців слова стану програми
Символ
Позиція
Ім’я та призначення
P
PSW.0
Прапорець паритету. Встановлюється в 1 за умови не- парної кількості одиничних бітів акумулятора та в 0 при парній їх кількості
-
PSW.1
Зарезервований біт
OV
PSW.2
Прапорець переповнення. Встановлюється і скидаєть- ся при виконанні арифметичних дій
RS0
PSW.3
Біти вибору банку регістрів. Можуть бути встановлені або скинуті програмним шляхом
RS1
PSW.4 RS0 RS1 Банк
Адреси регістрів банку
0 1
0 1
0 0
1 1
0 1
2 3
00H – 07H
08H – 0FH
10H – 17H
18H – 1FH
F0
PSW.5
Прапорець користувача. Може бути встановлений, скинутий і перевірений програмою користувача
AC
PSW.6
Прапорець допоміжного перенесення. Встановлюється та скидається при виконанні команд додавання і від- німання при перенесенні чи запозиченні із старшої те- тради
C
PSW.7
Прапорець перенесення. Встановлюється та скидаєть- ся як апаратним, так і програмним шляхом
Регістр-покажчик стеку SP мікроконтролера 8051АН – 8-бітовий. Він може адресувати будь-яку область внутрішньої пам’яті даних. У мікроконтролерів сі- мейства MCS-51 стек “росте вгору”, тобто перед виконанням команди PUSH чи
CALL вміст регістра SP інкрементується (збільшується на 1), після чого інформа- ція записується до стеку. Відповідно при вибиранні інформації із стеку регістр SP декрементується після вибирання байта даних.
Під час ініціалізації мікроконтролера після скидання або при вмиканні на- пруги живлення до SP заноситься код 07H. Таким чином, перший елемент даних стеку буде розміщений за адресою 08H.

20
Регістр-покажчик даних DPTR частіше всього використовують для фіксації
16-бітової адреси в операціях звернення до зовнішньої пам’яті програм і даних, а з точки зору програміста – у вигляді одного 16-бітового регістра та двох незалеж- них однобайтових регістрів DPH і DPL.
Дві регістрові пари TH0 та TL0 і TH1 та TL1 являють собою регістри, що за- безпечують незалежне функціонування двох програмно-керованих 16-бітових таймерів-лічильників. Режими роботи останніх задаються за допомогою регістра
TMOD, а керування здійснюється регістром TCON. Для керування режимами ене- рговживання мікросхеми вживається регістр PCON. Регістри IP і IE керують робо- тою системи переривань мікроконтролера, а SBUF і SCON – приймача-передавача послідовного порту.
Запитання для самоперевірки
· Який мікроконтролер є базовим чіпом сімейства MCS-51 фірми Intel?
· Які особливості однокристальних мікроконтролерів забезпечили їх широке засто- сування?
· Назвіть головні риси мікроконтролерів, завдяки яким їх класифікують як окрему від мікропроцесорів групу цифрових пристроїв.
· Скільки портів має мікроконтролер 8051AH ?
· Чи допускають порти мікроконтролера 8051AH побітну модифікацію окремих роз- рядів?
· Скільки входів запитів на переривання у мікроконтролера 8051AH ?
· Чи є у складі мікроконтролера 8051AH апаратні засоби для передачі інформації у послідовному форматі?
· Які мікросхеми необхідні додатково для мікроконтролера 8051AH при мінімальній конфігурації системи?
· Чи передбачена можливість роботи мікроконтролера 8051AH із зменшеним енер- гоживленням?
· Скільки джерел напруги необхідно для живлення мікроконтролера в режимі вико- нання програми?
· Скільки банків регістрів загального призначення має мікроконтролер 8051AH ?
· Яке значення заноситься до регістра-покажчика стеку під час початкової ініціаліза- ції мікроконтролера?
· За допомогою якого регістра задаються режими роботи таймерами?
· Який об’єм пам’яті програм може бути доступним для мікроконтролера?
· Який об’єм пам’яті даних може бути доступним для мікроконтролера?
· Який діапазон тактових частот мікроконтролера?
· Чи є можливість збільшити кількість запитів на переривання?
а

22
б
Рис. 4.1. Головне вікно налагоджувача FD-51


1   2   3   4   5

скачати

© Усі права захищені
написати до нас