Interested Article - Intel 8051
- 2021-07-06
- 1
Intel 8051 — это однокристальный микроконтроллер гарвардской архитектуры , который был впервые произведен Intel в 1980 году для использования во встраиваемых системах . В течение 1980-х и начале 1990-х годов был чрезвычайно популярен, однако позже устарел и был вытеснен более современными устройствами, также с 8051-совместимыми ядрами, производившимися более чем 20 независимыми производителями, такими, как Atmel , Maxim / Dallas , NXP , , Silicon Labs , Texas Instruments , и Nuvoton .
Официальное название 8051-семейства микроконтроллеров Intel — MCS 51 . Существует также советский клон данной микросхемы — КР1816ВЕ51 и российские аналоги разработки НИИЭТ — 1830ВЕ, 1882ВЕ, 1882ВМ, К1830ВЕ.
Первые из 8051-семейства Intel производились с использованием n-МОП технологии, но следующие версии, содержащие символ «C» в названии, такие, как 80C51, использовали КМОП -технологию и потребляли меньшую мощность, чем n-МОП предшественники, что облегчало их применение для устройств с батарейным питанием.
Особенности
- Состоит из процессорного ядра, ОЗУ , ПЗУ , последовательного порта , параллельного порта , логики управления прерываниями , таймера и т. д.
- Шина данных — 8-битная шина данных. Возможность обработки 8 бит данных за одну операцию. Обуславливает название 8-битный микропроцессор
- Шина адреса — 16-битная адресная шина. Возможность доступа к 2 16 адресам памяти, то есть 64 кБ адресное пространство в ОЗУ и ПЗУ
- Встроенное ОЗУ — 128 байт ( )
- Встроенное ПЗУ — 4 КБ ( )
- Четыре порта ввода-вывода : один двунаправленный и три квазидвунаправленных
- Последовательный интерфейс UART ( Универсальный асинхронный приёмопередатчик )
- Два 16-битных таймера
- Два уровня приоритета прерываний
- Порядка 60 тысяч транзисторов на кристалле площадью 5,85 мм²
Общей особенностью в современных 8051-совместимых микроконтроллерах стало встраивание улучшенных и дополнительных схем, таких, как: автоматический сброс по падению питающего напряжения; встроенные тактовые генераторы ; внутрисхемное программирование памяти программ; автозагрузчики долговременной памяти данных на основе EEPROM ; I²C ; SPI (стандарт 3-проводной последовательной шины); USB хост-интерфейс; ШИМ -генераторы; аналоговых компараторов ; АЦП и ЦАП преобразователей; часов реального времени; дополнительных таймеров и счётчиков; внутрисхемных отладчиков, дополнительных источников прерываний; расширенных энергосберегающих режимов.
8051-совместимые микроконтроллеры обычно имеют один или два УАПП ( UART ), два или три таймера, 128 или 256 байт встроенной ОЗУ (16 байт которой имеют побитовую адресацию), от 512 байт до 128 Кбайт встроенной памяти программ, и иногда встречается использование EEPROM , адресуемой через «регистры специального назначения» (SFR = special function register). УАПП / UART может быть настроен для использования в режиме 9-бит данных, что делает возможным адресную приёмопередачу в многоточечном подключении на основе RS-485 аппаратного протокола.
Один машинный цикл оригинального 8051-ядра занимает 12 временных тактов, а большинство инструкций выполняется за один или два машинных цикла. При частоте тактового генератора, равной 12 МГц, 8051-ядро может выполнять 1 миллион операций в секунду , выполняемых за один цикл, или 500 тысяч операций в секунду, выполняемых за два цикла. Улучшенное 8051-совместимое ядро, которое в настоящее время распространено, выполняет машинный цикл за шесть, четыре, два или даже за один временной такт, и позволяет использовать тактовые генераторы с частотой до 100 МГц, что позволило увеличить количество выполняемых операций в секунду.
Ещё более быстрые 8051-ядра, с 1 тактом на машинный цикл, организуются с использованием ПЛИС , таких, как FPGA (скорость в диапазоне 130—150 МГц) или ASIC (скорость в диапазоне нескольких сотен МГц), при помощи специальной прошивки . Все 8051-совместимые устройства, производимые Silicon Labs , некоторые из производимых Dallas , Atmel , Nuvoton , имеют ядро с 1 тактом на машинный цикл.
Чрезвычайно полезной особенностью 8051-ядра является обработка булевых данных, что позволило ввести бинарную логику, оперирующую напрямую с битами внутренней ОЗУ (области из 128 прямоадресуемых битов) и регистров. Данная особенность была востребована в приложениях промышленной автоматики . Еще одна ценная особенность состояла в 4 независимых наборах регистров , которые значительно уменьшали задержки при обработке прерываний в сравнении с классическим использованием стека , применявшимся ранее.
Родственные контроллеры
Предшественником контроллера 8051 был Intel 8048 , который был применён в клавиатуре оригинального IBM PC — он конвертировал сигналы о нажатиях клавиш в поток данных, передававшийся по последовательной линии в системный блок компьютера. Контроллер 8048, а также контроллеры, спроектированные на его базе, всё ещё применяются в клавиатурах.
Контроллер 8031 является урезанной версией Intel 8051: у него отсутствует встроенная память для хранения программы.
Контроллер 8052 является расширенной версией оригинального Intel 8051: он оснащён 256 байтами внутреннего ОЗУ (вместо 128 байт 8051), 8 КБ ПЗУ (вместо 4 КБ), также ему добавлен третий 16-разрядный таймер.
Контроллер 8058 отличается от 8052 увеличенным до 32 КБ ПЗУ.
Контроллер 8032 аналогичен 8052, но не имеет встроенной памяти для хранения программы. Контроллеры 8052 и 8032 считаются устаревшими, так как почти все современные варианты 8051 оснащены теми расширениями, которыми обладает 8052.
Программирование
Для 8051 доступно несколько компиляторов для языка программирования Си , в частности, Keil, большинство из которых поддерживают расширения языка для более эффективного использования особенностей 8051. Например, программист может указать, в каком из шести типов памяти 8051 необходимо хранить переменную; компилятору можно указать, каким образом использовать переключаемые регистровые блоки и инструкции для манипулирования отдельными разрядами регистров.
Для программирования 8051 используются и другие языки высокого уровня: Форт , Бейсик , Паскаль , PL/M и Modula-2 , однако они не получили такого широкого распространения, как Си и ассемблер .
Подпрограмма ввода
|
Подпрограмма вывода
|
---|
Применение
Вычислительное ядро до сих пор широко применяется в различных микроконтроллерах общего и специального назначения с различным набором периферии.
Литература
- Боборыкин А. В.; Липовецкий Г. П. и др. Однокристальные микроЭВМ. Справочник. — М. : Бином, 1994. — 400 с. — ISBN 5-85959-030-X .
- Сташин В. В.; Урусов А. В.; Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. — М. : Энергоатомиздат, 1990. — 224 с. — 70 000 экз. — ISBN 5-283-01543-2 .
Ссылки
- (англ.)
- (англ.)
- (англ.)
- (англ.)
- (англ.)
- (англ.)
- (англ.)
- (англ.)
Примечания
- Bob Koehler. . — Santa Clara: Intel Corporation, 1980. 13 октября 2011 года.
- Примеры можно увидеть на
- 2021-07-06
- 1