Курсовая работа: Розробка термореле
Через обмежену кількість виводів корпусу мікросхеми мікроконтролера більшість виводів використовуються для виконання двох функцій - як лінії портів і для альтернативних функцій.
Система команд МК містить 111 базових команд з форматом 1, 2, або 3 байти. Всі команди виконуються за один або два машинні цикли (відповідно 1 або 2 мкс при тактовій частоті 12 Мгц), виключення – команди множення і ділення, які виконуються за чотири машинні цикли (4 мкс). МК сімейства і8051 використовують пряму, безпосередню, непряму і неявну, адресацію даних.
Як операнди команд МК сімейства і8051 можуть використовувати окремі біти, чотирьохбітові цифри, байти і двобайтові слова.
Набір команд сімейства і8051 має декілька особливостей, пов'язаних з типовими функціями виконуваними мікроконтролерами - управлінням, для якого типовою є операція з однорозрядними двійковими сигналами, велике число операцій введення/висновку і розгалужень програми.
Найбільш істотна особливість системи команд даних МК – це можливість адресації окремих біт в резидентній пам'яті даних. Крім того, як наголошувалося, деякі регістри блоку регістрів спеціальних функцій також допускають адресацію окремих біт.
Мікроконтролери сімейства 8051 є мікропроцесорними пристроями з архітектурою CISC зі стандартним набором команд, характерних для даної архітектури. Система команд 8051-сумісних пристроїв включає 111 основних команд розміром від одного до трьох байт, але більша частина цих команд – одно- або двобайтовими.
Систему команд сімейства і8051 можна підрозділити за функціональною ознакою на п'ять груп:
– пересилки даних;
– арифметичних операцій;
– логічних операцій;
– операцій над бітами;
– передачі управління.
Склад операндів включає в себе операнди чотирьох типів: біти, нібли (4 розряду), байти і 16-бітові слова. Час виконання команд становить 1, 2 або 4 машинних цикли. При тактовій частоті 12 МГц тривалість машинного циклу складає 1 мкс, при цьому 64 команди виконуються за 1 мкс, 45 команд - за 2 мкс і 2 команди (множення і ділення) - за 4 мкс.
Мікроконтролер має 128 програмно-керованих прапорів користувача. Є також можливість адресації окремих бітів блоку регістрів спеціальних функцій і портів. Для адресації бітів використовується пряма 8-бітна адреса. Непряма адресація бітів неможлива.
У і8051 передбачена можливість задання частоти внутрішнього генератора за допомогою кварцу, LС-ланцюжка або зовнішнього генератора. Максимальна частота проходження імпульсів синхронізації - 12 МГц.
Архітектура сімейства і8051 має ряд нових режимів адресації, додаткові інструкції, розширений адресний простір і ряд інших апаратних особливостей. Розширена система команд забезпечує побайтову і побітового адресацію, двійкову і двійково-десятковий арифметику, індикацію переповнення та визначення парності/непарності, можливість реалізації логічного процесора.
Мікроконтролери 8051 оперують двома типами пам'яті : пам'яттю програм і пам'яттю даних. Пам'ять даних може бути реалізована як комбінація розміщеного на кристалі (резидентного або on-chip) статичного ОЗП і зовнішніх мікросхем пам'яті. Для простих апаратно-програмних конфігурацій із застосуванням 8051 буває досить резидентною пам'яті самого мікроконтролера.
Програмний код розміщується в пам'яті програм, яка фізично може бути реалізована у вигляді одноразово програмованого пристрою (EPROM), перепрограмованого пристрою (EEPROM) або флеш-пам'яті. Якщо для запису програм використовується EPROM або EEPROM, то програмний код зазвичай розташовується в зовнішньому по відношенню до мікроконтролера пристрої. У переважній більшості сучасних мікроконтролерів 8051 пам'ять програм розташовується у флеш-пам'яті, що знаходиться, так само як і резидентна пам'ять даних, на одному кристалі.
Пам'ять програм і пам'ять даних фізично і логічно розділені, мають різні механізми адресації, працюють під управлінням різних сигналів і виконують різні функції.
Пам'ять програм може мати максимальний об'єм, рівний 64 Кб, що обумовлено використанням 16-розрядної шини адреси. У багатьох випадках місткість пам'яті програм, розміщених на кристалі 8051, обмежена 4, 8 або 16 Кб. У пам'ять програм окрім команд можуть записуватися константи, управляючі слова ініціалізації, таблиці перекодування вхідних і вихідних змінних і тому подібне. Доступ до вмісту пам'яті програм здійснюється за допомогою 16-бітової шини адреси. Сама адреса формується за допомогою або програмного лічильника (PC), або регістра-покажчика даних (DPTR). DPTR виконує функції базового регістру при непрямих переходах по програмі або використовується в операціях з таблицями.
Для доступу до даних, розміщених у внутрішньому ОЗП, використовується однобайтна адреса. Архітектура внутрішньої пам'яті даних 8051 дозволяє звертатися до окремих біт даних в спеціально виділеній області внутрішнього ОЗП, починаючи з адреси 0x20 і закінчуючи 0x2F (див. рис. 1.2). Таким чином, у вказаному діапазоні адрес можна звертатися до 128-бітових змінних за допомогою команд бітових операцій SETB і CLR. Бітові змінні нумеруються, починаючи з 0x0 і закінчуючи 0x7F. Це не означає, що не можна звертатися до цих елементів пам'яті, як до байтів при звичайних операціях з пам’яттю.
У внутрішньому ОЗП мікроконтролера 8051 виділено 4 банки регістрів загального призначення. При включенні мікроконтролера банком за умовчанням стає банк 0 (див. рис1.2). При цьому регістру R0 відповідає адреса 0x00, регістру R1 - адреса 0x01, нарешті, регістру R7 при використанні банку 0 відповідає адреса 0x07. Якщо банком за умовчанням стає, наприклад, банк 1, то регістру R0 відповідатиме адреса 0x08, регістру R1 - адреса 0x09 і регістру R7 - адреса 0x0F. До адресного простору внутрішнього ОЗП починаючи з адреси 0x80 примикають і адреси регістрів спеціальних функцій.
Рисунок 1.2 – Розподілення внутрішньої пам’яті 8051
Регістри спеціальних функцій (Special Function Registers, SFR) призначені для керування ходом обчислювальних операцій, а також відповідають за ініціалізацію, налаштування і управління портами вводу / виводу, таймерами, послідовним портом. Крім того, регістри спеціальних функцій містять інформацію про пріоритети переривань, а також біти управління роздільною здатністю переривань. Регістри спеціальних функцій із зазначенням їх призначення перераховані в таблиці. 1.1.
Таблиця 1.1 – Призначення регістрів спеціальних функцій
Позначення | Описання | Адреса |
A | Акумулятор | 0E0H |
B | Регістр-розширювач акумулятора | 0F0H |
PSW | Слово стану програми | 0D0H |
SP | Регістр-покажчик стеку | 81H |
DPTR | Регістр-покажчик даних (DPH) | 83H |
(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 |
Робота мікроконтролера 8051 в системах реального часу була б неможлива без обробки подій, що генеруються зовнішніми пристроями, і установки тимчасових залежностей між подіями в системі.
Класичний мікроконтролер 8051 має 5 джерел переривань: два зовнішніх переривання, ініційованих сигналами на входах, - INT0 (вивод P3.2) і INT1 (вивод P3.3); два переривання таймерів - 0 і 1; переривання послідовного порту. Послідовність виконання двох і більше переривань , що надійшли одночасно, визначається їхнім пріоритету.
Багато вбудованих систем в якості пристрою відображення інформації використовують рідкокристалічні дисплеї (Liquid Crystal Display, LCD). Найбільш часто використовують дисплеї формату 16 × 2 і 20 × 2, які дозволяють вивести максимум по 16 і 20 символів у будь-який з двох рядків. Більшість рідкокристалічних індикаторів, що випускаються в даний час, включає крім самої матриці стандартний інтерфейс управління, заснований на застосуванні контролера, сумісного з HD44780, який є стандартом де-факто для даного класу пристроїв відображення інформації. Типове позначення LCD на схемах показано на рис. 1.3.