Intel MCS-51: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Вилучено вміст Додано вміст
м →Застосування: clean up, replaced: представляє собою → являє собою (2) |
вікіфікація, доповнення |
||
Рядок 1:
[[Файл:
'''Intel MCS-51''' ('''i8051''') — сімейство [[Мікроконтролер|мікроконтролерів]], розроблених фірмою [[Intel]] у 1980 році для використання у [[Вбудована система|вбудовуваних системах]]. Дані мікроконтролери були досить популярними у 90-
Конструктивно, '''MCS-51''' є [[Однокристальний мікроконтролер|однокристальними мікроконтролерами]] [[Гарвардська архітектура|гарвардської архітектури]], що виконані по [[n-МОН]] або [[КМОН]] технології. Містять у собі 8-бітний [[мікропроцесор]] i8051 з підтримкою [[Булева алгебра|булевих операцій]] над окремими бітами, до 4096 байт вбудованої пам'яті програм ([[ROM|доступної тільки на читання]]), до 256 байт вбудованої пам'яті даних ([[RAM|доступної на читання і запис]]), підтримка адресного простору у 64 Кб для пам'яті програм і 64 Кб для пам'яті даних, два-три 16-бітні таймери/лічильники, двосторонній [[УАПП]], 32 лінії двосторонніх портів введення-виведення, генератор [[Тактова частота|тактової частоти]].
Існує радянський [[Зворотна розробка|клон]] мікропроцесора — МК51 (КР1816ВЕ51).
== Характеристика мікроконтролера ==
[[Файл:
Надалі буде розглядатись саме оригінальна версія мікроконтролера (якщо не обговорено інше), оскільки інші [[Мікроконтролер|ОМЕО]]<abbr title="Однокристальна мікро-ЕОМ">М</abbr> принципово не відрізняються
;Ядро
* 8-бітовий [[Арифметико-логічний пристрій|АЛП]]<abbr title="Арифметико-логічний пристрій"></abbr>, 8-бітові [[Регістр процесора|регістри]]
* Побітова адресація частини [[ОЗП|ОЗ]]<abbr title="Оперативний
* Система команд із 111 інструкцій
* Архітектура системи команд: [[Архітектура системи команд#Класифікація архітектур системи команд|акумулятор]]
;Пам'ять
* [[Гарвардська архітектура]]
* 8-бітова [[шина даних]]
* 16-бітна [[шина адреси]]. Можливість адресації до 64 Кб пам'яті програм і до 64 Кб пам'яті даних
Рядок 21 ⟶ 23:
* 128 байт вбудованої пам'яті даних (додаткові 64К досягаються за рахунок зовнішніх мікросхем пам'яті)
;Периферія
* 32 двосторонні однобітні лінії [[
* Двосторонній послідовний [[УАПП|УАП]]<abbr title="Універсальний асинхронний приймач-передавач (послідовний порт)">П</abbr>
* Два 16-бітні таймери/[[Лічильник імпульсів|лічильники]]
* Система з 5 [[Переривання|переривань]], з 2 рівнями пріоритетів
* Вбудований тактовий генератор
Рядок 29 ⟶ 31:
== Вбудовані пристрої ==
=== Порти вводу-виводу ===
Чотири 8-розрядні порти
# Як 8-розрядні паралельні порти введення/виведення інформації;
# Як 32 однорозрядні лінії введення/виведення;
Рядок 37 ⟶ 40:
# При програмуванні та перевірці внутрішньої пам'яті програм.
Послідовний порт може бути запрограмований на один з чотирьох режимів прийому/передачі шляхом програмування розрядів SM0 і SM1 регістра SCON.
* '''Режим 0'''
* '''Режим 1'''
* '''Режим 2'''
* '''Режим 3'''
{{Розширити розділ|дата=листопад 2010}}
Рядок 48 ⟶ 51:
Вбудований [[UART|універсальний асинхронної приймач/передавач]] дозволяє досить просто перетворити мікроконтролер у послідовний інтерфейс вводу-виведення. За рахунок різноманітного способу підключення зовнішніх виходів напряму́ до внутрішніх регістірв зсуву і використання внутрішніх таймерів, можна реалізувати сполучення в багатьох режимах, включаючи синхронне і асинхронне. В деяких режимах можливе сполучення без використання зовнішніх компонентів. Режим сумісності з протоколом [[RS-485]] також можливий для реалізації, проте основною перевагою ядра 8051 є можливість підстроювання до існуючих послідовних протоколів управління приладами.
Якщо УАПП (і таймер при необхідно) налаштований, то для програміста лишається написати просту процедуру переривання для заповнення регістру передачі (викликатиметься кожен раз, коли останній біт регістра передачі
{{Розширити розділ|дата=листопад 2010}}
Рядок 62 ⟶ 65:
== Програмістська модель ==
=== Архітектура пам'яті ===
{{Розширити розділ|дата=листопад 2010}}
=== Таблиця регістрів спеціальних функцій ===
[[Файл:MFrey_SFR_MCS-51.svg|Розміщення регістрів спеціальних функцій у віртуальній пам'яті мікроконтролера|thumb]]
Рядок 73 ⟶ 78:
|bgcolor=#FF6620|'''B'''||Регістр B||F0H||00H||Регістр використовується мікроконтролером тільки в операціях множення/ділення. В усіх інших операціях його можна використовувати як загальний регістр
|-
|bgcolor=#FF6620|'''PSW'''||Регістр стану програми||D0H||00H||Його аналог у х86
|-
|'''SP'''||Покажчик стеку||81H||bgcolor=#DDDDDD|07H||
|-
|'''DPL'''||Молодший байт покажчика даних||82H||00H||rowspan=2| Дані регістри формують один 16-бітний віртуальний регістр DPTR.
|-
|'''DPH'''||Старший байт покажчика даних||83Н||00H
Рядок 107 ⟶ 112:
|bgcolor=#FF6620|'''SCON'''||Керування послідовним портом||98H||00H
|-
|'''SBUF'''||Буфер послідовного порту||99H||bgcolor=#DDDDDD|Невизначено||Цей регістр, як і DPTR, є також віртуальним. При читанні замість даного регістру підставляється буфер приймача, при записі
|-
|'''PCON'''||Керування енергоспоживанням||87H||bgcolor=#DDDDDD|[[n-МОН]] 0XXXXXXX
Рядок 116 ⟶ 121:
=== Система команд ===
{{Розширити розділ|дата=листопад 2010}}
=== Приклади програм ===
{{Розширити розділ|дата=листопад 2010}}
Рядок 121 ⟶ 127:
== Застосування ==
[[Файл:Nanokhod-flyer.png|right|thumb|Листівка планетарного всюдихода [[Nanokhod]]]]
* [[Марсохід]] [[Nanokhod]] використовує для управління мікроконтролер [[TEMIC 80C154]], який являє собою МК [[Intel 80C52]] із збільшеною кількістю пам'яті програм, який в свою чергу являє собою [[8051|80С51]] із збільшеною кількістю пам'яті даних і додатковим таймером.<ref>http://plit.de/asem-51/asemmars.htm</ref>
{{Розширити розділ|дата=листопад 2010}}
== Сімейство мікроконтролерів та аналоги ==
=== Відмінності між контролерами у межах сімейства ===
{{Розширити розділ|дата=листопад 2010}}
=== Зарубіжні мікроконтролери,
* [[Atmel]]: AT89C51, AT89S51, AT83C5134
* [[Infineon]]: XC800
* [[NXP Semiconductors|NXP]]: NXP700 and NXP900 series
* [[Silicon Labs]]: [[C8051]] series
* [[Texas Instruments]]: CC111x, CC24xx and CC25xx families of RF SoCs
== Компілятори та емулятори MCS-51 ==
{{Розширити розділ|дата=листопад 2010}}
== Примітки ==▼
{{примітки}}
== Посилання ==
* ''MCS<sup>®</sup> 51 Microcontroller Family User's Manual'', February 1994, Publication number 121517, Intel Corporation; [http://eeweb1.poly.edu/networks/specs/27238302.pdf PDF].
▲== Примітки ==
{{Intel processors}}
{{Мікроконтролери}}
[[Категорія:Мікроконтролери]]
[[Категорія:Мікроелектроніка]]
[[Категорія:Процесори Intel]]
|