Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Intel MCS-51

Неперевірена версія(що робити?)
Матеріал з Вікіпедії — вільної енциклопедії.

Статус версії сторінки

Сторінка не перевірена

Немаєперевірених версій цієї сторінки; ймовірно, її щене перевіряли на відповідність правилам проєкту.
Мікроконтролер з сімейства MCS-51, Intel P8051AH (DIP корпус)

Intel MCS-51 (i8051) — сімействомікроконтролерів, розроблених фірмоюIntel 1980 року для використання увбудованих системах. Дані мікроконтролери були досить популярними у 90-х роках, згодом їх витіснили розвиненіші аналоги фірм«Microchip Technology» і«Atmel». За рахунок вдалої реалізації мікроконтролера (вбудованийУАПП, бітовий процесор i8051) велика кількість наявних на ринку мікроконтролерів має i8051 сумісні процесори, а за рахунок наявності великої кількості аналогів вивчення ядра MCS-51 є одним з перших кроків до вивчення сучасних мікропроцесорів у програмах курсів вищих навчальних закладів.

MCS-51 прийшли на заміну випущеним у 1976 роціMCS-48 і на відміну від останніх мали зменшений час виконання команд (в 2,5 — 10 раз в залежності від умов експлуатації), збільшений обсяг вбудованої пам'яті, додаткові пристрої периферії, додаткові команди для програмування. За рахунок даних покращень, мікроконтролери стали зручнішими в програмуванні, дешевші в експлуатації. Наявність булевого процесора затвердила за даними пристроями галузьавтоматизації виробництва, оскільки для управління часто використовуються саме полярні сигнали — ввімкнути/вимкнути двигун, запалити/вимкнути індикатор тощо.

Конструктивно,MCS-51 єоднокристальними мікроконтролерамигарвардської архітектури, що виконані поn-МОН абоКМОН технології. Містять у собі 8-бітниймікропроцесор i8051 з підтримкоюбулевих операцій над окремими бітами, до 4096 байт вбудованої пам'яті програм (доступної тільки на читання), до 256 байт вбудованої пам'яті даних (доступної на читання і запис), підтримка адресного простору у 64 Кб для пам'яті програм і 64 Кб для пам'яті даних, два-три 16-бітні таймери/лічильники, двостороннійУАПП, 32 лінії двосторонніх портів введення-виведення, генератортактової частоти.

Існує радянськийклон мікропроцесора — МК51 (КР1816ВЕ51).

Характеристика мікроконтролера

[ред. |ред. код]
Внутрішня архітектура мікроконтролерів i8051.

Надалі буде розглядатись саме оригінальна версія мікроконтролера (якщо не обговорено інше), оскільки інші контролери принципово не відрізняються від оригінального MCS-51.

Ядро
Пам'ять
  • Гарвардська архітектура пам'яті
  • 8-бітовашина даних
  • 16-бітнашина адреси. Можливість адресації до 64 Кб пам'яті програм і до 64 Кб пам'яті даних
  • 4096 байт вбудованої пам'яті програм (додаткові 60К досягаються за рахунок зовнішніх мікросхем пам'яті)
  • 128 байт вбудованої пам'яті даних (додаткові 64К досягаються за рахунок зовнішніх мікросхем пам'яті)
Периферія
  • 32 двосторонні однобітні лініївводу-виводу
  • Двосторонній послідовний порт
  • Два 16-бітні таймери/лічильники
  • Система з 5переривань, з 2 рівнями пріоритетів
  • Вбудований тактовий генератор
  • Енергоощадний режим (тільки у версіях наКМОН технології)

Вбудовані пристрої

[ред. |ред. код]

Порти вводу-виводу

[ред. |ред. код]

Чотири 8-розрядні порти Р0…Р3 можуть використовуватися:

  1. Як 8-розрядні паралельні порти введення/виведення інформації;
  2. Як 32 однорозрядні лінії введення/виведення;
  3. При роботі з зовнішньою пам'яттю програм і даних;
  4. В режимі альтернативних функцій (8 ліній порту Р3);
  5. При програмуванні та перевірці внутрішньої пам'яті програм.

Послідовний порт може бути запрограмований на один з чотирьох режимів прийому/передачі шляхом програмування розрядів SM0 і SM1 регістра SCON.

  • Режим 0 — послідовний порт працює як восьмирозряднийрегістр зсуву. Швидкість (частота) прийому/передачі в режимі 0 постійна і складаєfBQ/12{\displaystyle f_{BQ}/12}, деfBQ{\displaystyle f_{BQ}} — частота синхронізації ОМЕОМ.
  • Режим 1 — прийом/передача даних здійснюється у форматі восьмирозрядногоУАПП. Швидкість залежить від частоти переповнення регістра лічильника
  • Режим 2 — режими 9-розрядного УАПП з постійною швидкістю обміну. Швидкість прийому/передачі програмно налаштовується на одну із двох можливих величин:fBQ/32{\displaystyle f_{BQ}/32} абоfBQ/64{\displaystyle f_{BQ}/64}
  • Режим 3 — режими 9-розрядного УАПП з перемінною швидкістю обміну. Швидкість залежить від частоти переповнення регістра лічильника
Цей розділпотребуєдоповнення.(листопад 2010)

Універсальний асинхронний приймач/передавач (УАПП)

[ред. |ред. код]

Вбудованийуніверсальний асинхронний приймач/передавач дозволяє досить просто перетворити мікроконтролер у послідовний інтерфейс вводу-виводу. За рахунок різноманітного способу підключення зовнішніх виходів напряму́ до внутрішніх регістрів зсуву і використання внутрішніх таймерів, можна реалізувати сполучення в багатьох режимах, включаючи синхронне і асинхронне. В деяких режимах можливе сполучення без використання зовнішніх компонентів. Режим сумісності з протоколомRS-485 також можливий для реалізації, проте основною перевагою ядра 8051 є можливість підстроювання до дійсних послідовних протоколів керування приладами.

Якщо УАПП (і таймер за необхідності) налаштований, то для програміста лишається написати просту процедуру переривання для заповнення регістру передачі (викликатиметься кожен раз, коли останній біт регістра передачі «віддається» УАППом) і/або очищення/збереження даних в регістрі-приймачі. Для роботи основної програми залишається тільки записувати у стек дані для відправлення і читати зі стеку дані для приймання.

Цей розділпотребуєдоповнення.(листопад 2010)

Система переривань

[ред. |ред. код]

Всього у мікроконтролера є 5 переривань:

  1. IE0
  2. TF0
  3. IE1
  4. TF1
  5. TI+RI

В архітектурі 8051 коректне виконання переривання неможливе без завершення виконання попередньої команди[1].

Цей розділпотребуєдоповнення.(листопад 2010)

Програмістська модель

[ред. |ред. код]

Архітектура пам'яті

[ред. |ред. код]
Цей розділпотребуєдоповнення.(листопад 2010)

Таблиця регістрів спеціальних функцій

[ред. |ред. код]
Розміщення регістрів спеціальних функцій у віртуальній пам'яті мікроконтролера
ПозначенняНайменуванняАдресаПоч. значенняПримітка
ACCАкумуляторE0H00HЦей регістр означає те саме, що і A при програмуванні на асемблері, проте позначення А вказує на роботу з акумулятором, а позначення ACC вказує на роботу з байтом пам'яті. Відповідно, використання мнемоніки A дозволяє скоротити довжину інструкції.
BРегістр BF0H00HРегістр використовується мікроконтролером тільки в операціях множення/ділення. В усіх інших операціях його можна використовувати як загальний регістр
PSWРегістр стану програмиD0H00HЙого аналог у х86 — регістр прапорцівFLAGS
SPПокажчик стеку81H07H
DPLМолодший байт покажчика даних82H00HДані регістри формують один 16-бітний віртуальний регістр DPTR.
DPHСтарший байт покажчика даних83Н00H
P0Порт 080HFFHРегістри-защіпки портів вводу-виводу
P1Порт 190HFFH
P2Порт 2A0HFFH
P3Порт 3B0HFFH
IPРегістр пріоритетів перериваньB8HXXX00000b
IEРегістр дозволу перериваньA8H0XX00000b
TMODРегістр режимів таймера/лічильника89H00H
TCONРегістр керування таймера/лічильника88H00H
TH0Таймер/лічильник 0 (старший байт)8CH00H
TL0Таймер/лічильник 0 (молодший байт)8AH00H
TH1Таймер/лічильник 1 (старший байт)8DH00H
TL1Таймер/лічильник 1 (молодший байт)8BH00H
SCONКерування послідовним портом98H00H
SBUFБуфер послідовного порту99HНевизначеноЦей регістр, як і DPTR, є також віртуальним. При читанні замість даного регістру підставляється буфер приймача, при записі — буфер передавача. Дані буфери програмно недоступні (щоб програміст не зміг записати у буфер приймача і читати з буфера передавача), проте SBUF — доступний.
PCONКерування енергоспоживанням87Hn-МОН 0XXXXXXX

КМОН 0XXX0000

Цей розділпотребуєдоповнення.(листопад 2010)

Система команд

[ред. |ред. код]
Цей розділпотребуєдоповнення.(листопад 2010)

Приклади програм

[ред. |ред. код]
Цей розділпотребуєдоповнення.(листопад 2010)

Застосування

[ред. |ред. код]
Листівка планетарного всюдиходаNanokhod
  • МарсохідNanokhod використовує для управління мікроконтролерTEMIC 80C154, який являє собою МКIntel 80C52 із збільшеною кількістю пам'яті програм, який в свою чергу являє собою80С51 із збільшеною кількістю пам'яті даних і додатковим таймером.[2][3][4]
Цей розділпотребуєдоповнення.(листопад 2010)

Сімейство мікроконтролерів та аналоги

[ред. |ред. код]

Відмінності між контролерами у межах сімейства

[ред. |ред. код]
Цей розділпотребуєдоповнення.(листопад 2010)

Мікроконтролери, засновані на ядрі 8051

[ред. |ред. код]

Компілятори та емулятори MCS-51

[ред. |ред. код]
Цей розділпотребуєдоповнення.(листопад 2010)

Примітки

[ред. |ред. код]
  1. Сергієнко, А. М.; та інші (2009).Деякі особливості проектування мікроконтролерів для СНК(PDF).Вісник НТУУ" КПІ": Інформатика, управління та обчислювальна техніка. (50). Архіворигіналу(PDF) за 23 січня 2022. Процитовано 2 грудня 2021.
  2. Архівована копія. Архіворигіналу за 31 травня 2010. Процитовано 17 жовтня 2010.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  3. Архівована копія. Архіворигіналу за 27 жовтня 2008. Процитовано 17 жовтня 2010.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  4. http://www.datasheetcatalog.org/datasheets/270/45052_DS.pdf

Посилання

[ред. |ред. код]
  • MCS® 51 Microcontroller Family User's Manual, February 1994, Publication number 121517, Intel Corporation;PDF.


Історичні
Орієнтовані наДДК (4-біт)
4004 • 4040
До x86 (8-біт)
8008 • 8080 • 8085
x86 (16 біт)
8086 • 8088 • 80186 • 80188 • 80286
8/16-біт шина даних8087;16-біт шина даних801878028780387SX;32-біт шина даних80387DX80487
x86/IA32 (32 біт)
80386 • 80486 • Pentium (Pro • II • III • 4 • M • Dual-Core) • Celeron (D • M) • Centrino • Core (Solo • Duo) • Xeon (PII • PIII • P4 • Core) • Quark
x86-64/EM64T (64 біт)
Pentium 4 (деякі) (D • EE • Dual-Core) • Celeron (D • Dual-Core • Intel Atom (SoC • CE) • Core (2 • Nehalem • Sandy Bridge • Ivy Bridge • Haswell • Broadwell • Skylake • Kaby Lake • Coffee Lake • Coffee Lake Refresh) • Xeon (Nehalem • Sandy Bridge • Ivy Bridge • Haswell • Broadwell • Skylake)
Інші
8048 • 8051 • MCS-96
Сучасні
Celeron • Pentium • Atom • Xeon • Core (Ice Lake • Tiger Lake • Alder Lake)
Списки
Мікроархітектури
x86/IA32 (32 біт)
P5 • P6 • NetBurst • Core • Nehalem • Westmere • Sandy Bridge • Ivy Bridge • Haswell • Broadwell • Skylake • Cannon Lake • Sunny Cove • Cypress Cove • Willow Cove • Golden Cove
x86-64/EM64T (64 біт)
x86 ULV
Архітектура
8-біт
16-біт
32-біт
Мікроконтролер ATtiny2313 в корпусі DIP20
Виробники
Компоненти
Периферія
Інтерфейси
ОС
Програмування
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Intel_MCS-51&oldid=35507388
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp