Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Блок керування та синхронізації

Поиск

Зміст

Введення  
1. Архітектура мікроконтролерів MCS-51  
2. Система команд мікроконтролерів MCS-51  
3. Побудова пам'яті мікроконтролерів сімейства MCS-51  

Введення

Мікроконтролер (MCU) - мікросхема, призначена для керування електронними пристроями. Типовий мікроконтроллер поєднує в собі функції процесора і периферійних пристроїв, може містити ОЗП і ПЗП. По суті, це однокристальний комп'ютер, здатний виконувати прості завдання. Використання однієї мікросхеми, замість цілого набору, як у випадку звичайних процесорів, що застосовуються в персональних комп'ютерах, значно знижує розміри, енергоспоживання і вартість пристроїв, побудованих на базі мікроконтролерів.

Мікроконтролери є основою для побудови вбудованих систем, їх можна зустріти в багатьох сучасних приладах, таких, як телефони, пральні машини і т. п. Велика частина випускаються у світі процесорів - мікроконтролери.

На відміну від мікросхем "жорсткої логіки", мікроконтроллер - це мікросхема, у якої, по-перше, залежність вихідних сигналів від вхідних визначається виключно правилами, що запропоновані розробником заздалегідь (це називається програмуванням, а самі правила - програмою), а по-друге, немає чіткого поділу висновків на входи і виходи - зазвичай майже всі висновки мікроконтролера в залежності від бажання і наміри розробника може бути як входами, так і виходами (і навіть міняти своє призначення в процесі роботи).

1. Архітектура мікроконтролерів MCS-51

Архітектура сімейства MCS-51 в значній мірі обумовлюється її призначенням - побудова компактних і дешевих цифрових пристроїв. Всі функції мікроЕОМ реалізуються за допомогою єдиної мікросхеми. До складу сімейства MCS-51 входить цілий ряд мікросхем від найпростіших мікроконтролерів до достатньо складних. Мікроконтролери сімейства MCS-51 дозволяють виконувати як завдання управління різними пристроями, так і реалізовувати окремі вузли аналогової схеми. Всі мікросхеми цього сімейства працюють з однією і тією ж системою команд, більшість з них виконується в однакових корпусах зі збіжною цоколівкою (нумерація ніжок для корпусу). Це дозволяє використовувати для розробленого пристрою мікросхеми різних фірм - виробників (таких як Intel, Dallas, Atmel, Philips і т.д.) без переробки принципової схеми пристрою та програми.

Рисунок 1. Структурна схема контролера К1830ВЕ751

Структурна схема контролера представлена ​​на рисуноку 1 і складається з наступних основних функціональних вузлів: блоку управління, арифметико-логічного пристрою, блоку таймерів / лічильників, блоку послідовного інтерфейсу і переривань, програмного лічильника, пам'яті даних і пам'яті програм. Двосторонній обмін здійснюється за допомогою внутрішньої 8-розрядної шини даних. Розглянемо докладніше призначення кожного блоку. За такою схемою побудовані практично всі представники сімейства MCS-51. Різні мікросхеми цього сімейства розрізняються тільки регістрами спеціального призначення (у тому числі і кількістю портів). Система команд усіх контролерів сімейства MCS-51 містить 111 базових команд з форматом 1, 2 або 3 байти і не змінюється при переході від однієї мікросхеми до іншої. Це забезпечує прекрасну переносимість програм з однієї мікросхеми на іншу.

Арифметичні команди

У наборі команд мікроконтролера є наступні арифметичні операції:

· додавання ADD,

· додавання з урахуванням прапора переносу ADDC,

· віднімання з займом SUBB,

· інкрементуровання (збільшення на 1) INC,

· декрементування (зменшення на 1) DEC,

· десяткова корекція DA,

· множення MUL

· ділення DIV.

Дії проводяться над цілими числами без знака.

При операції множення вміст акумулятора A множиться на вміст регістра B, і результат розміщується таким чином: молодший байт у регістрі B, старший - у регістрі А.

У разі виконання операції ділення ціле від ділення поміщається в акумулятор A, залишок - в регістр В.

1.2

Логічні команди з байтовими змінними

Система команд розглянутого мікроконтролера дозволяє реалізувати логічні операції

  • І (ANL),
  • АБО (ORL),
  • ВИКЛЮЧАЮЧЕ АБО (XRL).

Логічні операції виконуються над акумулятором або безпосередньо над портами введення / виводу.

Існують логічні операції, які виконуються тільки на акумуляторі:

  • скидання всіх восьми розрядів A (CLR A);
  • інвертування всіх восьми розрядів A (CPL A);
  • циклічний зсув вліво і вправо без урахування прапора переносу (RR A; RL A);
  • циклічний зсув вліво і вправо з урахуванням прапора переносу (RRC A; RLC A);
  • обмін місцями старшої та молодшої тетрад всередині акумулятора (SWAP A).

 

Команди пересилання даних.

Як було розглянуто раніше, арифметичні і логічні команди можуть бути виконані лише над вмістом регістра акумулятора, тому виключно важливе значення в системі команд набувають команди пересилання даних. За допомогою цих команд можна скопіювати вміст будь-якої комірки пам'яті в регістр-акумулятор або навпаки скопіювати вміст акумулятора в будь-яку комірку пам'яті. Так, як в мікроконтролері присутній три незалежні області пам'яті, то для звернення до них введені різні команди:

  • копіювання даних у внутрішньому ОЗП: MOV;
  • обмін даними акумулятора з внутрішнім ОЗП: XCH, XCHD
  • копіювання з зовнішньої пам'яті даних: MOVX
  • копіювання даних з пам'яті програм: MOVC

Приклади використання команд пересилання даних:

Будь-яка комірка 256 - байтового блоку внутрішнього ОЗП даних може бути обрана з використанням побічно-реєстрової адресації через регістри покажчики R0 і R1 (обраного банку робочих регістрів):

MOV A, @ R0;Скопіювати число з комірки пам'яті з адресою, що зберігається в R0, в акумулятор MOV @ R1, A; Скопіювати число з акумулятора, в комірку пам'яті з адресою, що зберігається в R1

Команди пересилання з прямою адресацією між комірками пам'яті дозволяють заносити вміст порту в комірку внутрішнього ОЗП або обмінюватися вмістом комірок внутрішнього ОЗП між собою без використання акумулятора:

MOV 15, 25; Скопіювати вміст 25-ої комірки в 15-у комірку

Таблиці символів (кодів), записані в ПЗП програми можуть бути скопійовані в акумулятор за допомогою команд передачі даних з непрямою адресацією:

MOVC A, @ A + DPTR; Скопіювати символ в акумулятор

Комірка адресного простору 64 Кбайт зовнішнього ОЗП також може бути вибрана з використанням побічно-реєстрової адресації через регістр покажчик даних DPTR:

MOVX A, @ DPTR; Скопіювати число з зовнішньої комірки пам'яті з адресою, що зберігається в DPTR, в акумулятор

Вміст акумулятора може бути обміняно з вмістом робочих регістрів обраного банку:

XCH A, R0.

Крім того, будь-який біт з прямою адресацією може бути скопійований в біт перенесення і навпаки:

MOV C, AdrBit

Бітові команди.

Кожен біт з бітового простору внутрішньої пам'яті може бути встановлений в 1, скинутий в 0, або інвертований:

  • встановити біт (записати логічну одиницю) SETB;
  • скинути біт (записати логічний нуль) CLR;
  • проінвертувати значення біта (змінити на прямо протилежне) CPL;
  • біт може бути записаний під прапор переносу або лічений з прапора переносу MOV.

Можуть бути реалізовані переходи:

  • якщо біт встановлений (містить логічну 1) JB;
  • якщо біт не встановлений (містить логічний 0) JNB;
  • перехід, якщо біт встановлений зі скиданням цього біта після виконання команди (запис в цей біт 0) JBC;

Між будь-яким бітом з бітового простору внутрішньої пам'яті і прапором перенесення можуть бути зроблені логічні операції "І" або "АБО".

  • І (ANL),
  • АБО (ORL),

Зміст

Введення  
1. Архітектура мікроконтролерів MCS-51  
2. Система команд мікроконтролерів MCS-51  
3. Побудова пам'яті мікроконтролерів сімейства MCS-51  

Введення

Мікроконтролер (MCU) - мікросхема, призначена для керування електронними пристроями. Типовий мікроконтроллер поєднує в собі функції процесора і периферійних пристроїв, може містити ОЗП і ПЗП. По суті, це однокристальний комп'ютер, здатний виконувати прості завдання. Використання однієї мікросхеми, замість цілого набору, як у випадку звичайних процесорів, що застосовуються в персональних комп'ютерах, значно знижує розміри, енергоспоживання і вартість пристроїв, побудованих на базі мікроконтролерів.

Мікроконтролери є основою для побудови вбудованих систем, їх можна зустріти в багатьох сучасних приладах, таких, як телефони, пральні машини і т. п. Велика частина випускаються у світі процесорів - мікроконтролери.

На відміну від мікросхем "жорсткої логіки", мікроконтроллер - це мікросхема, у якої, по-перше, залежність вихідних сигналів від вхідних визначається виключно правилами, що запропоновані розробником заздалегідь (це називається програмуванням, а самі правила - програмою), а по-друге, немає чіткого поділу висновків на входи і виходи - зазвичай майже всі висновки мікроконтролера в залежності від бажання і наміри розробника може бути як входами, так і виходами (і навіть міняти своє призначення в процесі роботи).

1. Архітектура мікроконтролерів MCS-51

Архітектура сімейства MCS-51 в значній мірі обумовлюється її призначенням - побудова компактних і дешевих цифрових пристроїв. Всі функції мікроЕОМ реалізуються за допомогою єдиної мікросхеми. До складу сімейства MCS-51 входить цілий ряд мікросхем від найпростіших мікроконтролерів до достатньо складних. Мікроконтролери сімейства MCS-51 дозволяють виконувати як завдання управління різними пристроями, так і реалізовувати окремі вузли аналогової схеми. Всі мікросхеми цього сімейства працюють з однією і тією ж системою команд, більшість з них виконується в однакових корпусах зі збіжною цоколівкою (нумерація ніжок для корпусу). Це дозволяє використовувати для розробленого пристрою мікросхеми різних фірм - виробників (таких як Intel, Dallas, Atmel, Philips і т.д.) без переробки принципової схеми пристрою та програми.

Рисунок 1. Структурна схема контролера К1830ВЕ751

Структурна схема контролера представлена ​​на рисуноку 1 і складається з наступних основних функціональних вузлів: блоку управління, арифметико-логічного пристрою, блоку таймерів / лічильників, блоку послідовного інтерфейсу і переривань, програмного лічильника, пам'яті даних і пам'яті програм. Двосторонній обмін здійснюється за допомогою внутрішньої 8-розрядної шини даних. Розглянемо докладніше призначення кожного блоку. За такою схемою побудовані практично всі представники сімейства MCS-51. Різні мікросхеми цього сімейства розрізняються тільки регістрами спеціального призначення (у тому числі і кількістю портів). Система команд усіх контролерів сімейства MCS-51 містить 111 базових команд з форматом 1, 2 або 3 байти і не змінюється при переході від однієї мікросхеми до іншої. Це забезпечує прекрасну переносимість програм з однієї мікросхеми на іншу.

Блок керування та синхронізації

Блок керування та синхронізації (Timing and Control) призначений для вироблення синхронізуючих і керуючих сигналів, що забезпечують координацію спільної роботи блоків ЕОМ у всіх допустимих режимах її роботи. В складу блоку управління входять:

· пристрій формування тимчасових інтервалів,

· логіка введення-виведення,

· регістр команд,

· регістр управління споживанням електроенергії,

· дешифратор команд, логіка управління ЕОМ.

Пристрій формування тимчасових інтервалів призначено для формування та видачі внутрішніх синхросигналів фаз, тактів і циклів. Кількість машинних циклів визначає тривалість виконання команд. Практично всі команди ЕОМ виконуються за один або два машинних циклу, крім команд множення і ділення, тривалість виконання яких становить чотири машинних циклу. Позначимо частоту задаючого генератора через Fг. Тоді тривалість машинного циклу дорівнює 12 / Fг або становить 12 періодів сигналу генератора, що задає. Логіка введення - виведення призначена для прийому і видачі сигналів, що забезпечують обмін інформацією з зовнішніми пристроями через порти введення виведення Р0-Р3.

Регістр команд призначений для запису і зберігання 8-ми розрядного коду операції виконуваної команди. Код операції, за допомогою дешифратора команд і логіки управління ЕОМ, перетворюється на мікропрограму виконання команди.

Регістр управління споживанням (PCON) дозволяє зупиняти роботу мікроконтролера для зменшення споживання електроенергії та зменшення рівня перешкод від мікроконтролера. Ще більшого зменшення споживання електроенергії та зменшення перешкод можна домогтися, зупинивши задаючий генератор мікроконтролера. Цього можна досягти за допомогою перемикання біт регістра керування споживанням PCON. Для варіанта виготовлення за технологією n-МОП (серія 1816 або іноземних мікросхем, у назві яких у середині відсутня буква 'c') регістр управління споживанням PCON містить тільки один біт, керуючий швидкістю передачі послідовного порту SMOD, а біти управління споживанням електроенергією відсутні.

Арифметико-логічний пристрій (ALU) представляє собою паралельне восьмирозрядний пристрій, що забезпечує виконання арифметичних і логічних операцій. АЛП складається з:

· регістрів акумулятора, регістрів тимчасового зберігання TMP1 і TMP2,

· ПЗП констант,

· суматора,

· додаткового регістра (регістру В),

· акумулятора (ACC),

· регістра стану програм (PSW).

Регістр акумулятор і регістри тимчасового зберігання - восьмирозрядні регістри, призначені для прийому і зберігання операндів на час виконання операцій над ними. Ці регістри програмно не доступні.

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

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

Регістр B - восьмирозрядний регістр, використовуваний під час операцій множення і ділення. Для інших інструкцій він може розглядатися як додатковий надоперативний регістр.

Акумулятор - восьмирозрядний регістр, призначений для прийому і зберігання результату, отриманого при виконанні арифметико-логічних операцій або операцій зсуву

Блок послідовного інтерфейсу і переривань (ПІП) призначений для організації введення - виведення послідовних потоків інформації та організації системи переривання програм. До складу блоку входять:

1. буфер ПІП,

2. логіка управління,

3. регістр управління,

4. буфер передавача,

5. буфер приймача,

6. приймач послідовного порту,

7. регістр пріоритетів переривань,

8. регістр дозволу переривань,

9. логіка обробки прапорів переривань і схема вироблення вектора.

Лічильник команд (Program Counter) призначений для формування поточного 16-розрядної адреси внутрішньої пам'яті програм і 8/16-разрядного адреси зовнішньої пам'яті програм. До складу лічильника команд входять 16-розрядні буфер РС, регістр РС і схема інкремента (збільшення вмісту на 1).

Пам'ять даних (RAM) призначена для тимчасового зберігання інформації, використовуваної в процесі виконання програми.

Порти P0, P1, P2, P3 є квазідвонаправленими портами введення - виведення і призначені для забезпечення обміну інформацією ЕОМ із зовнішніми пристроями, утворюючи 32 лінії вводу-виводу.

Регістр стану програми (PSW) призначений для зберігання інформації про стан ALU при виконанні програми.

Пам'ять програм (EPROM) призначена для зберігання програм і становить собою постійний запам'ятовуючий пристрій (ПЗП). У різних мікросхемах застосовуються масочні ПЗП, стираючими ультрафіолетовим випромінюванням або FLASH ПЗП.

Регістр покажчика даних (DPTR) призначений для зберігання 16 - розрядної адреси зовнішньої пам'яті даних або пам'яті програм.

Покажчик стека (SP) представляє собою восьмирозрядний регістр, призначений для організації особливої ​​області пам'яті даних (стека), в якій можна тимчасово зберегти будь-яку комірку пам'яті.

2. Система команд мікроконтролерів MCS-51

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

У цій системі команд реалізована побітне, потетрадного (4 біта), побайтовая (8 біт) і 16-розрядна обробка даних. Мікросхеми сімейства MCS-51 - це 8-розрядні мікропроцесори, а це означає, що ПЗП, ОЗП, регістри спеціального призначення, ALU і зовнішні шини мають байтову організацію. Двобайтові дані використовуються тільки регістром-покажчиком (DPTR) і лічильником команд (PC).

У машинному коді команда займає один, два або три байти в залежності від типу адресації.

Команди виконуються за один, два або чотири (множення і ділення) машинних циклу.

Запис команд в машинних кодах для людини незручний, крім того, різні машинні команди виконують однакові дії тільки над різними комірками пам'яті. Тому для запису команд мікропроцесорів була придумана система мнемонічних позначень. Для запису команди мікропроцесора спочатку ставиться мнемонічне позначення, потім вказується комірка пам'яті - приймач результату виконання операції і нарешті джерело даних для виконання операції. Наприклад, в команді:

E535 MOV A, 35h

символи MOV позначають операцію копіювання, другий операнд 35 визначає, що дані необхідно взяти з 35 комірки пам'яті, а перший операнд A визначає, що результат необхідно помістити в регістр - акумулятор. При цьому старе значення регістра - акумулятора буде стерто. Зліва наведена машинна команда мікроконтролера в шістнадцятковій запису, відповідна мнемонічною запису команди.

Мнемонічне позначення команди відділяється від операндів одним або декількома символами пробілу або табуляції, а операнди відокремлюються один від одного комами.

Якщо операція вимагає для виконання двох джерел та одного приймача результату операції (наприклад, команда додавання ADD або віднімання SUBB), то перший операнд є одночасно і джерелом і приймачем результату операції. Наприклад, в команді

2535 ADD A, 35h

символи ADD позначають операцію складання двох чисел, дані будуть узяті з 35 комірки пам'яті і акумулятора а результат буде поміщений в акумулятор замість старого значення цього регістра.

У таблиці 1 наведені інструкції, що впливають на установку прапорів мікроконтролера.

Таблиця 1

Мнемоніка Прапори Мнемоніка Прапори
C OV AC C OV AC
ADD + + + CLR C      
ADDC + + + CPL C +    
SUBB + + + ANL C, bit +    
MUL   +   ANL C, /bit      

Продовження таблиці 1

DIV   +   ORL C, bit +    
DA +     ORL C, /bit +    
RRC +     MOV C, bit +    
RLC +     CJNE +    
SETB C              

 

Систему команд мікроконтролера умовно можна розбити на п'ять груп:

· арифметичні команди

· логічні команди з байтовими змінними

· команди передачі даних

· команди бітового процесора

· команди розгалуження програм і передачі управління

 

Арифметичні команди

У наборі команд мікроконтролера є наступні арифметичні операції:

· додавання ADD,

· додавання з урахуванням прапора переносу ADDC,

· віднімання з займом SUBB,

· інкрементуровання (збільшення на 1) INC,

· декрементування (зменшення на 1) DEC,

· десяткова корекція DA,

· множення MUL

· ділення DIV.

Дії проводяться над цілими числами без знака.

При операції множення вміст акумулятора A множиться на вміст регістра B, і результат розміщується таким чином: молодший байт у регістрі B, старший - у регістрі А.

У разі виконання операції ділення ціле від ділення поміщається в акумулятор A, залишок - в регістр В.

1.2



Поделиться:


Последнее изменение этой страницы: 2016-08-26; просмотров: 183; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.142.113 (0.011 с.)