Программирование MCS51 Микроконтроллеры STCmicro Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Микроконтроллеры STCmicro Печать
Добавил(а) microsin   

Недавно, собирая цифровые часы из китайских наборов [2,3], обнаружил для себя интересные микроконтроллеры на основе ядра с системой команд 8051. Производит эти микроконтроллеры китайская компания STCmicro (другое название STC MCU Limited) [1]. Здесь приведен общий обзор разных серий микроконтроллеров STC - выжимка из даташитов [4]. Имейте в виду, что даташиты переведены здесь не полностью - взят только тот материал, который мне показался важным для рассмотрения. В даташитах можно найти и другую полезную информацию - подробное описание регистров специального назначения, периферийных устройств, языка ассемблера и т. д.

Серия STC89xx представляет 8-битные микроконтроллеры, которое полностью совместимы по системе команд с индустриальным стандартом серии микроконтроллеров 80C51. Имеется 64K байт памяти flash для программы приложения, которая может программироваться в рабочей системе (In-System-Programming, ISP). Есть также возможность самопрограммирования из программы пользователя (In-Application-Programming, IAP). ISP позволяет пользователям обновлять программу и данные, не извлекая микроконтроллер из системы. IAP по сути позволяет выполнять то же самое, но эта технология осуществляет перезапись памяти кода и/или данных, когда приложение выполняется в системе. Для приложения предоставляется 1280 или 512 байт встроенной в кристалл памяти RAM, что достаточно для многих встраиваемых приложений. Пользователь может конфигурировать микроконтроллер (MCU), запуская программу в режиме 12 тактов на 1 машинный цикл, получая при этом ту же самую низкоуровневую аппаратную архитектуру тактирования, как и оригинального устройства 80C51 других вендоров, либо можно сконфигурировать тактирования на 6 тактов на один машинный цикл, удваивая тем самым производительность ядра. Серия STC89xx сохраняет все аппаратные возможности стандартного устройства 80C51. Дополнительно имеется в распоряжении дополнительный порт ввода/вывода (P4), Timer 2, 8 источников прерывания с 4 уровнями приоритета, встроенный в кристалл генератор, и однократно разрешаемый сторожевой таймер (Watchdog Timer).

Список возможностей серии STC89xx:

• Улучшенное ядро 80C51, которое по выбору может работать на скорости 6T (6 тактов на машинный цикл, ускорение в 2 раза) или 12T (12 тактов на машинный цикл, как на старой архитектуре MCS51).
• Рабочий диапазон напряжений питания: 3.3..5.5V (серия STC89C) или 2.0..3.6V (серия STC89LE).
• Рабочий диапазон тактовых частот: 0..48 МГц (режим 12T) или 0..24 МГц (режим 6T).
• Встроенная в кристалл память программ FLASH размером 4/8/13/16/20/32/64K, с гибкой возможностью перепрограммирования ISP/IAP (в зависимости от модели микроконтроллера).
• Встроенная в кристалл память ОЗУ (512 байт основная RAM и 1280 байт дополнительная RAM).
• Можно адресовать до 64K байт внешней RAM.
• Можно адресовать до 64K байт внешней памяти.
• Два указателя (DPTR) для ускорения перемещения данных.
• Три 16-битных таймера/счетчика. Timer 2 может считать вверх и вниз, с возможностью вывода программируемой частоты на ножке порта P1.0.
• 8 адресов векторов прерываний с 4 уровнями приоритета.
• Улучшенный UART с аппаратным распознаванием адреса, функцией детектирования ошибки фрейма и собственным генератором скорости.
• Один 15-битный сторожевой таймер с 8-битным прескалером (с функцией однократного разрешения).
• Интегрирован супервизор сброса MAX810.
• Три режима управления питанием: normal mode (обычный рабочий режим), idle mode (режим ожидания), power-down mode (режим выключения).
• Низкая генерация помех (EMI): запрет генерации ALE.
• Из режима power down микроконтроллер можно разбудить прерываниями INT0 (ножка порта P3.2), INT1 (ножка порта P3.3), T0 (ножка порта P3.4), T1 (ножка порта P3.5), RXD (ножка порта P3.0).
• Дополнительные источники прерывания цифровому сигналу: INT2 (ножка порта P4.3), INT3 (ножка порта P4.2).
• Максимум доступно до 39 программируемых портов ввода/вывода (GPIO).
• Имеется четыре 8-битных двунаправленных порта; дополнительный 4-битный порт P4 доступен в корпусах PLCC-44 и LQFP-44.
• Рабочий диапазон температур: -40..+85°C (индустриальное исполнение) / 0..75°C (коммерческое исполнение).
• Типы корпусов: PQFP-44, LQFP-44, PDIP-40, PLCC-44.

[Таблица выбора микроконтроллеров STC89xx по общим параметрам]

Тип VCC, V FLASH,
байт
SRAM,
байт

TIMER UART DPTR EEPROM,
байт
STC89C51RC 3.3-5.5 4K 512 3 1 2 4K
STC89C52RC 3.3-5.5 8K 512 3 1 2 4K
STC89C53RC 3.3-5.5 13K 512 3 1 2 /
STC89LE51RC 2.0-3.6 4K 512 3 1 2 4K
STC89LE52RC 2.0-3.6 8K 512 3 1 2 4K
STC89LE53RC 2.0-3.6 13K 512 3 1 2 /
STC89C54RD+ 3.3-5.5 16K 1280 3 1 2 45K
STC89C58RD+ 3.3-5.5 32K 1280 3 1 2 29K
STC89C516RD+ 3.3-5.5 61K 1280 3 1 2 /
STC89LE54RD+ 2.0-3.6 16K 1280 3 1 2 45K
STC89LE58RD+ 2.0-3.6 32K 1280 3 1 2 29K
STC89LE516RD+ 2.0-3.6 61K 1280 3 1 2 /

У всех перечисленных в таблице моделей имеется прерывание по снижению VCC ниже допустимого уровня (INT Low VCC), 4 аппаратных внешних прерывания могут выводить MCU из режима сна (power down mode), сторожевой таймер (WDT).

Дополнительные аппаратные функции, которые не реализованы: PCA, PWM, D/A, ADC, настройка нижнего предела срабатывания прерывания порога допустимого напряжения питания, специальный таймер для пробуждения.

[Таблица выбора микроконтроллеров STC89xx по размеру внутреннего EEPROM]

Тип EEPROM, байт Секторов Начальный адрес Конечный адрес
STC89C/LE51RC 4K 8 0000H 0FFFH
STC89C/LE52RC 4K 8 0000H 0FFFH
STC89C/LE54RD+ 45K 90 0000H B3FFH
STC89C/LE58RD+ 29K 58 0000H 73FFH

[Цоколевка, описание выводов]

STC89xx PDIP40 pinout STC89xx PQFP44 LQFP44 pinout STC89xx PLCC44 pinout

Подробнее про серию STC89xx можно почитать в статье STC89xx, также см. даташит STC89C51RC-en.pdf [4].

Микроконтроллеры STC90C51RC/RD+, которые выпускает компания STC MCU Limited [1], это 8-битный однокристальный микроконтроллер, полностью совместимый по системе команд с индустриальным стандартом микроконтроллеров смейства 8051. STC90C51RC/RD+ имеют до 64K байт встроенной памяти flash для программы приложения, которая используется совместно с кодом ISP (In-System-Programming, программирование в системе. Технология ISP и IAP (In-Application-Programming, программирование из кода приложения, т. е. самопрограммирование) предоставляют пользователю обновлять программу и данные прямо в системе. ISP позволяет пользователю загружать код без необходимости извлекать микроконтроллер из конечного изделия; IAP означает, что устройство может записывать энергонезависимые данные в памяти Flash прямо из работающей программы приложения. Имеется 1280 байт или 512 байт находящейся на кристалле памяти RAM, что достаточно для широкого диапазона приложений. Пользователь может конфигурировать процессор MCU, чтобы он работал на скорости 12 тактов на один машинный цикл, давая такое быстродействие, что и стандартный MCU 80C51, или 6 тактов на машинный цикл, удваивая тем самым производительность. STC90C51RC/RD+ сохраняет все аппаратные возможности стандартного 80C51 (этим серия STC90xx очень похожа на серию STC89xx, см. предыдущую врезку). Дополнительно MCU серии STC90xx предоставляют дополнительный порт ввода вывода P4 (порт GPIO), Timer2, 8-источников прерывания с 4 уровнями приоритета, встроенный кварцевый генератор и однократно разрешаемый сторожевой таймер (Watchdog Timer, WDT).

Список возможностей серии STC90xx:

• Улучшенное ядро 80C51, которое по выбору может работать на скорости 6T (6 тактов на машинный цикл, ускорение в 2 раза) или 12T (12 тактов на машинный цикл, как на старой архитектуре MCS51).
• Рабочий диапазон напряжений питания: 3.3..5.5V (серия STC90C51RC/RD+) или 2.0..3.6V (серия STC90LE51RC/RD+).
• Рабочий диапазон тактовых частот: 0..80 МГц (режим 12T) или 0..40 МГц (режим 6T).
• Встроенная в кристалл память программ FLASH размером 4K/8K/13K/16K/32K/40K/48K/56K/61K, с гибкой возможностью перепрограммирования ISP/IAP (в зависимости от модели микроконтроллера).
• Встроенная в кристалл память ОЗУ размером 256/512/1280 байт.
• Можно адресовать до 64K байт внешней RAM.
• Можно адресовать до 64K байт внешней памяти.
• Два указателя (DPTR) для ускорения перемещения данных.
• Три 16-битных таймера/счетчика. Timer 2 может считать вверх и вниз, с возможностью вывода программируемой частоты на ножке порта P1.0.
• 8 адресов векторов прерываний с 4 уровнями приоритета.
• Улучшенный UART с аппаратным распознаванием адреса, функцией детектирования ошибки фрейма и собственным генератором скорости.
• Один 15-битный сторожевой таймер с 8-битным прескалером (с функцией однократного разрешения).
• Интегрирован супервизор сброса MAX810.
• Три режима управления питанием: normal mode (обычный рабочий режим), idle mode (режим ожидания), power-down mode (режим выключения).
• Низкая генерация помех (EMI): есть возможность запрета генерации ALE.
• Из режима power down микроконтроллер можно разбудить прерываниями INT0 (ножка порта P3.2), INT1 (ножка порта P3.3), T0 (ножка порта P3.4), T1 (ножка порта P3.5), RXD (ножка порта P3.0), INT2 (ножка порта P4.3), INT3 (ножка порта P4.2).
• Максимум доступно до 39 программируемых портов ввода/вывода (GPIO), в зависимости от типа корпуса.
• Имеется четыре 8-битных двунаправленных порта; дополнительный 4-битный порт P4 доступен в корпусах PLCC-44 и LQFP-44.
• Рабочий диапазон температур: -40..+85°C (индустриальное исполнение) / 0..75°C (коммерческое исполнение).
• Типы корпусов: LQFP-44, PDIP-40, PLCC-44.

Серия STC90xx отличается от серии STC89xx в основном следующим: повышенная тактовая частота, больше вариантов выбора по объему встроенной памяти. Серия STC90xx может полностью заметить микроконтроллеры STC89xx, как по двоичному коду, так и по цоколевке корпуса.

[Таблица выбора микроконтроллеров STC90xx по общим параметрам]

Тип
VCC, V
Max частота, МГц FLASH,
байт

SRAM,
байт

TIMER
UART
DPTR
EEPROM,
байт

5V 3V
Серия STC90C/LE51
STC90C51 3.3-5.5 80   4K 256 3 1 2 -
STC90C52 3.3-5.5 80   8K 256 3 1 2 -
STC90LE51 2.0-3.6   80 4K 256 3 1 2 -
STC90LE52 2.0-3.6   80 8K 256 3 1 2 -
Серия STC90C/LE51RC
STC90C51RC 3.3-5.5 80   4K 512 3 1 2 4K
STC90C52RC 3.3-5.5 80   8K 512 3 1 2 4K
STC90C53RC 3.3-5.5 80   13K 512 3 1 2 -
STC90C12RC 3.3-5.5 80   12K 512 3 1 2 1K
STC90LE51RC 2.0-3.6   80 4K 512 3 1 2 4K
STC90LE52RC 2.0-3.6   80 8K 512 3 1 2 4K
STC90LE53RC 2.0-3.6   80 13K 512 3 1 2 -
STC90LE12RC 2.0-3.6   80 12K 512 3 1 2 1K
Серия STC90C/LE51RD+
STC90C54RD+ 3.3-5.5 80   16K 1280 3 1 2 45K
STC90C58RD+ 3.3-5.5 80   32K 1280 3 1 2 29K
STC90C510RD+ 3.3-5.5 80   40K 1280 3 1 2 21K
STC90C512RD+ 3.3-5.5 80   48K 1280 3 1 2 13K
STC90C514RD+ 3.3-5.5 80   56K 1280 3 1 2 5K
STC90C516RD+ 3.3-5.5 80   61K 1280 3 1 2 -
STC90LE54RD+ 2.0-3.6   80 16K 1280 3 1 2 45K
STC90LE58RD+ 2.0-3.6   80 32K 1280 3 1 2 29K
STC90LE510RD+ 2.0-3.6   80 40K 1280 3 1 2 21K
STC90LE512RD+ 2.0-3.6   80 48K 1280 3 1 2 13K
STC90LE514RD+ 2.0-3.6   80 56K 1280 3 1 2 5K
STC90LE516RD+ 2.0-3.6   80 61K 1280 3 1 2 -

У всех перечисленных в таблице моделей имеется прерывание по снижению VCC ниже допустимого уровня (INT Low VCC), 8 аппаратных внешних прерывания с 4 уровнями приоритета, 4 аппаратных прерывания могут выводить MCU из режима сна (power down mode), сторожевой таймер (WDT).

Дополнительные аппаратные функции, которые не реализованы: PCA, PWM, D/A, ADC, настройка нижнего предела срабатывания прерывания порога допустимого напряжения питания, специальный таймер для пробуждения.

Повышенная эффективность STC90xx означает, что на той же тактовой частоте и в более широком диапазоне напряжений возможно получить быстродействие как минимум в 2 раза выше, сохраняя при этом низкое энергопотребление и полную совместимость по системе команд с традиционным режимом 12 тактов на машинный цикл. Если MCU не использует двойное ускорение, внешняя частота делится на 2, чтобы снизить частоту и энергопотребление. В таблице ниже показаны различные варианты использования STC90xx.

Напряжение питания Внешняя тактовая частота Обычная скорость (как у стандартного 8052) Реальная тактовая частота ядра Удвоенная скорость Реальная тактовая частота ядра Функции IAP/ISP
4.5V - 5.5V 0 - 44 МГц 0 - 44 МГц 0 - 20 МГц 0 - 80 МГц 0 - 40 МГц read, program, erase
3.8V - 5.5V 0 - 33 МГц 0 - 33 МГц 0 - 16.5 МГц 0 - 66 МГц 0 - 33 МГц read, program, erase
3.6V - 5.5V 0 - 24 МГц 0 - 24 МГц 0 - 12 МГц 0 - 48 МГц 0 - 24 МГц read, program, erase
3.4V - 5.5V 0 - 20 МГц 0 - 20 МГц 0 - 10 МГц 0 - 40 МГц 0 - 20 МГц только read

Низковольтные модели STC90LE51RC/RD+ работают в диапазоне напряжений 2.0-3.6V. Когда рабочее напряжение находится на уровне приблизительно 1.9-2.3V, то функции перепрограммирования памяти ISP/IAP не работают.

[Таблица выбора STC90C51RC/RD+ по размеру внутреннего EEPROM]

Память данных FLASH серии STC90C51RC/RD+ (Data Flash, доступна внутри как EEPROM) и адресное пространство программ раздельны: если происходит запись данных/стирание сектора области пользователя в режиме IAP, то операторы модификации памяти будут игнорироваться. Программа в области приложения пользователя (application area, AP) может работать только с областью IAP/ISP памяти Data Flash (EEPROM).

Тип EEPROM, байт Секторов Начальный адрес Конечный адрес
STC90C51RC/STC90LE51RC 9K 18 1000h 33FFh
STC90C52RC/STC90LE52RC 5K 10 2000h
STC90C12RC/STC90LE12RC 1K 2 3000h
STC90C54RD+/STC90LE54RD+ 45K 90 4000h F3FFh
STC90C58RD+/STC90LE58RD+ 29K 58 8000h
STC90C510RD+/STC90LE510RD+ 21K 42 A000h
STC90C512RD+/STC90LE512RD+ 13K 26 C000h
STC90C514RD+/STC90LE514RD+ 5K 10 E000h

[Цоколевка, описание выводов]

STC90xx PDIP40 pinout STC90xx PQFP44 LQFP44 pinout STC90xx PLCC44 pinout

Кроме 44-выводных корпусов LQFP-44 и PLCC-44 серия STC90C51RC/RD+ имеет также 44-выводный корпус PQFP, причем корпуса PLCC-44 и PQFP-44 использовать не рекомендуется. Производитель почему-то рекомендует использовать корпуса LQFP-44.

Подробнее про серию STC90xx можно почитать в статье STC90xx, также см. даташит STC90C51RC-en.pdf [4].

Микроконтроллеры STC11F/10Fxx, которые выпускает компания STC MCU Limited [1], это 8-битный однокристальный микроконтроллер, полностью совместимый по системе команд с индустриальным стандартом микроконтроллеров смейства 8051. STC11F/10Fxx имеют до 64K байт встроенной памяти flash для программы приложения, которая используется совместно с кодом ISP (In-System-Programming, программирование в системе. Технология ISP и IAP (In-Application-Programming, программирование из кода приложения, т. е. самопрограммирование) предоставляют пользователю обновлять программу и данные прямо в системе. ISP позволяет пользователю загружать код без необходимости извлекать микроконтроллер из конечного изделия; IAP означает, что устройство может записывать энергонезависимые данные в памяти Flash прямо из работающей программы приложения. Имеется до 1280 байт находящейся на кристалле памяти RAM, что достаточно для широкого диапазона приложений. MCU выполняет инструкцию не за 12 машинных циклов, а за 1..6, так что производительность повышается в 6..7 раз по сравнению со стандартным 8051. Микроконтроллеры STC11F/10Fxx сохраняют все аппаратные возможности стандартного 80C51 (этим серия STC11F/10Fxx похожа на серии STC90xx и STC89xx, см. другие врезки). Дополнительно MCU серии STC11F/10Fxx предоставляют дополнительный порт ввода вывода P4 (порт GPIO), 6-источников прерывания с 2 уровнями приоритета, встроенный кварцевый генератор и однократно разрешаемый сторожевой таймер (Watchdog Timer, WDT).

Список возможностей серии STC11F/10Fxx:

• Улучшенное ядро 80C51, которое выполняет инструкции в 6..7 раб быстрее, чем старая архитектура MCS51.
• Рабочий диапазон напряжений питания: от 3.7V до 4.1..5.5V или от 2.1 до 2.4..3.6V (серия STC11L/10Lxx).
• Рабочий диапазон тактовых частот: 0..35 МГц, что эквивалентно 0..420 МГц стандартного 8051.
• Встроенная в кристалл память программ FLASH размером 4K/8K/12K/14K/16K/20K/32K/40K/48K/52K/56K/62K, с гибкой возможностью перепрограммирования ISP/IAP (в зависимости от модели микроконтроллера).
• Встроенная в кристалл память ОЗУ размером 256/512/1280 байт.
• Можно адресовать до 64K байт внешней RAM.
• Два указателя (DPTR) для ускорения перемещения данных.
• Два 16-битных таймера/счетчика.
• 6 адресов векторов прерываний с 2 уровнями приоритета.
• Улучшенный UART с аппаратным распознаванием адреса, функцией детектирования ошибки фрейма и собственным генератором скорости BRT (Baud-Rate generator), который позволяет освободить таймер от функции генератора скорости для UART.
• Один 15-битный сторожевой таймер с 8-битным прескалером (с функцией однократного разрешения).
• Три режима управления питанием: normal mode (обычный рабочий режим), idle mode (режим ожидания), power-down mode (режим выключения).
• Из режима power down микроконтроллер можно разбудить прерываниями INT0 (ножка порта P3.2), INT1 (ножка порта P3.3), T0 (ножка порта P3.4), T1 (ножка порта P3.5), RXD (ножка порта P3.0 или P1.6).
• Максимум доступно до 40 программируемых портов ввода/вывода (GPIO), в зависимости от типа корпуса.
• Имеется четыре 8-битных двунаправленных порта; дополнительный 4-битный порт P4 доступен в корпусах PLCC-44 и LQFP-44.
• Рабочий диапазон температур: -40..+85°C (индустриальное исполнение) / 0..75°C (коммерческое исполнение).
• Типы корпусов: LQFP-44, PDIP-40, PLCC-44, QFN-40.

Серия STC11F/10Fxx отличается от серии STC89xx в основном следующим: повышенная тактовая частота, больше вариантов выбора по объему встроенной памяти.

[Таблица выбора микроконтроллеров STC11F/10Fxx по общим параметрам]

Тип
VCC, V
FLASH,
байт

SRAM,
байт

EEPROM,
байт

Wake Timer
Серия STC10F (напряжение питания 5V)
STC10F04 3.3-5.5 4K 256 - -
STC10F04XE 3.3-5.5 4K 512 5K -
STC10F06 3.3-5.5 6K 256 - -
STC10F06XE 3.3-5.5 6K 512 5K -
STC10F08 3.3-5.5 8K 256 - -
STC10F08XE 3.3-5.5 8K 512 5K -
STC10F10 3.3-5.5 10K 256 - -
STC10F10XE 3.3-5.5 10K 512 3K -
STC10F12 3.3-5.5 12K 256 - -
STC10F12XE 3.3-5.5 12K 512 1K -
STC10F14X 3.7-5.5 14K 512 IAP -
Серия STC10L (напряжение питания 3.3V)
STC10L04 2.1-3.6 4K 256 - -
STC10L04XE 2.1-3.6 4K 512 5K -
STC10L06 2.1-3.6 6K 256 - -
STC10L06XE 2.1-3.6 6K 512 5K -
STC10L08 2.1-3.6 8K 256 - -
STC10L08XE 2.1-3.6 8K 512 5K -
STC10L10 2.1-3.6 10K 256 - -
STC10L10XE 2.1-3.6 10K 512 3K -
STC10L12 2.1-3.6 12K 256 - -
STC10L12XE 2.1-3.6 12K 512 1K -
STC10L14X 2.4-3.6 14K 512 IAP -
Серия STC11F (напряжение питания 5V)
STC11F08XE 3.7-5.5 8K 1280 53K есть
STC11F16XE 3.7-5.5 16K 1280 45K есть
STC11F32XE 3.7-5.5 32K 1280 29K есть
STC11F40XE 3.7-5.5 40K 1280 21K есть
STC11F48XE 3.7-5.5 48K 1280 13K есть
STC11F52XE 3.7-5.5 52K 1280 9K есть
STC11F56XE 3.7-5.5 56K 1280 5K есть
STC11F60XE 3.7-5.5 60K 1280 1K есть
IAP11F62XE 4.1-5.5 62K 1280 IAP есть
Серия STC11L (напряжение питания 3.3V)
STC11L08XE 2.1-3.6 8K 1280 53K есть
STC11F16XE 2.1-3.6 16K 1280 45K есть
STC11F32XE 2.1-3.6 32K 1280 29K есть
STC11F40XE 2.1-3.6 40K 1280 21K есть
STC11F48XE 2.1-3.6 48K 1280 13K есть
STC11F52XE 2.1-3.6 52K 1280 9K есть
STC11F56XE 2.1-3.6 56K 1280 5K есть
STC11F60XE 2.1-3.6 60K 1280 1K есть
IAP11F62XE 2.4-3.6 62K 1280 IAP есть

У всех перечисленных в таблице моделей имеется прерывание по снижению VCC ниже допустимого уровня (с возможностью конфигурирования порога напряжения), 6 аппаратных прерываний с 2 уровнями приоритета, 5 из них могут выводить MCU из режима сна (power down mode), сторожевой таймер (WDT), один UART (второй UART может быть программно эмулируемым), 2 таймера/счетчика.

Дополнительные аппаратные функции, которые не реализованы: PCA, PWM, D/A, ADC. У некоторых моделей имеется специальный таймер для пробуждения.

[Таблица выбора STC11Fxx/STC10Fxx по размеру внутреннего EEPROM]

Тип EEPROM, байт Секторов Начальный адрес Конечный адрес
STC11FxxE / STC11LxxE
STC11F01E/STC11L01E 2K 4 0000h 0FFFh
STC11F02E/STC11L02E
STC11F03E/STC11L03E
STC11F04E/STC11L04E 1K 2 03FFh
STC11F05E/STC11L05E    
STC11FxxXE / STC11LxxXE
STC11F08XE/STC11L08XE 32K 64 0000h 7FFFh
STC11F16XE/STC11L16XE
STC11F20XE/STC11L20XE 29K 58 73FFh
STC11F32XE/STC11L32XE
STC11F40XE/STC11L40XE 21K 42 53FFh
STC11F48XE/STC11L48XE 13K 26 33FFh
STC11F52XE/STC11L52XE 9K 18 23FFh
STC11F56XE/STC11L56XE 5K 10 13FFh
STC11F60XE/STC11L60XE 1K 2 03FFh
STC10Fxx / STC10Lxx
STC10F02XE/STC10L02XE 5K 10 0000h 13FFh
STC10F04XE/STC10L04XE
STC10F06XE/STC10L06XE
STC10F08XE/STC10L08XE
STC10F10XE/STC10L10XE 3K 6 0BFFh
STC10F12XE/STC10L12XE 1K 2 03FFh

[Цоколевка, описание выводов]

STC90xx PDIP40 pinout STC90xx PQFP44 LQFP44 pinout STC90xx PLCC44 pinout

Подробнее про серию STC11F/10Fxx можно почитать в даташите STC11F-10Fxx-en.pdf [4].

Серия STC12Cxx представляет однокристальные микроконтроллеры компании STC MCU Limited (STCmicro) [1], основанные на высокопроизводительном ядре 1T с архитектурой ядра 80C51. Например, расширенное ядро STC12C2052AD выполняет инструкции за 1..6 такт (что в 8..12 раз быстрее стандартного устройства 8051), с сохранением полной совместимости со ставшей индустриальным стандартом серией микроконтроллеров 80C51. Технологии самопрограммирования (In-System-Programming, ISP) и доступа к энергонезависимым данным из работающего приложения (In-Application- Programming, IAP) предоставляют пользователям возможность обновлять программу и данные в системе. ISP позволяет загружать новый код программы без извлечения микроконтроллера из конечного изделия; IAP означает, что устройство может само записывать сохраняемые при выключении питания данные в память Flash прямо из работающего кода приложения. У STC12C2052AD есть 9 источников прерывания с 4-уровневой структурой назначения приоритета, 8-битный ADC (АЦП), встроенный в кристалл RC-генератор и однократно разрешаемый сторожевой таймер (Watch-Dog Timer, WDT), двухканальный блок PCA и PWM, SPI, аппаратный UART. Другие микроконтроллеры серии имеют аналогичные параметры по быстродействию и напряжениям питания, отличаясь количеством портов GPIO и возможно количеством каналов АЦП, портов UART и т. п. Ниже для примера приведены основные возможности некоторых микроконтроллеров.

Основные возможности серии на примере микроконтроллера STC12C2052AD:

• Улучшенное ядро (CPU) 80C51, работающее в 8..12 раз быстрее, чем стандартный микроконтроллер (MCU) 8051.
• Рабочий диапазон напряжений питания: 3.5-5.5V или 2.2V-3.6V (последнее для низковольтной серии STC12LE2052AD).
• Рабочий диапазон тактовых частот 0..35 МГц, что по скорости работы эквивалентно частотам 0..420 МГц для стандартного 8051.
• Простой внутренний RC-генератор и генератор с внешним кварцевым резонатором.
• Встроенную в кристалл оперативную память (ОЗУ, RAM) на 256 байт и 1..5K байт памяти программ (code flash) с гибкой возможностью перепрограммирования ISP/IAP.
• Функция EEPROM.
• Защита доступа к коду, записанному в память flash.
• Четыре 16-битных таймера/счетчика. Timer0/Timer1 (совместимы с таймерами 8051) с режимом 0 (16-битный режим с автоматической перезагрузкой), режимом 1 (16-битный таймер) и режимом 2 (8-битный режим с автоматической перезагрузкой). 2 канала PCA можно использовать как 2 таймера.
• Аппаратный UART с функциями распознавания адреса и детектированием ошибки фрейма.
• 9 источников прерывания с 4 уровнями назначения приоритета.
• Один 15-битный сторожевой таймер (Watch-Dog-Timer, WDT) с 8-битным прескалером. WDT может быть разрешен однократно после сброса, после чего не может быть запрещен.
• Интерфейс SPI, работающий в режимах Master и Slave.
• Два канала массивов программируемых счетчиков (Programmable Counter Array, PCA).
• 8-битный, 8-канальный АЦП со скоростью оцифровки до 100 тысяч выборок в секунду.
• Три режима экономии энергии: idle mode (режим ожидания), slow down mode (режим замедления) и power-down mode (режим отключения). Из power down mode MCU можно разбудить прерываниями от INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RXD/P3.0, PCA0/P3.7, PCA1/P3.5.
• Отличные параметры в контексте малой генерации радиопомех, очень низкое энергопотребление.
• Два диапазона рабочих температур: индустриальный (-40..+85°C) и коммерческий (0..+75°C).
• Функция выхода программируемой тактовой частоты. T0 выводит такты на ножке порта P1.0, T1 выводит такты на ножке порта P1.1.
• Имеется 15 конфигурируемых портов ввода/вывода (I/O ports, GPIO).
• Выпускается в корпусах типа SOP-20, DIP-20, LSSOP-20.

Основные возможности серии на примере микроконтроллера STC12C5410AD:

• Улучшенное ядро (CPU) 80C51, работающее в 8..12 раз быстрее, чем стандартный микроконтроллер (MCU) 8051.
• Рабочий диапазон напряжений питания: 3.5-5.5V или 2.2V-3.6V (последнее для низковольтной серии STC12LE5410AD).
• Рабочий диапазон тактовых частот 0..35 МГц, что по скорости работы эквивалентно частотам 0..420 МГц для стандартного 8051.
• Простой внутренний RC-генератор и генератор с внешним кварцевым резонатором.
• Встроенную в кристалл оперативную память (ОЗУ, RAM) на 512 байт и 1..12K байт памяти программ (code flash) с гибкой возможностью перепрограммирования ISP/IAP.
• Защита доступа к коду, записанному в память flash.
• Шесть 16-битных таймера/счетчика. Timer0/Timer1 (совместимы с таймерами 8051) с режимом 0 (16-битный режим с автоматической перезагрузкой), режимом 1 (16-битный таймер) и режимом 2 (8-битный режим с автоматической перезагрузкой). 4 канала PCA можно использовать как 4 таймера.
• Аппаратный UART с функциями распознавания адреса и детектированием ошибки фрейма.
• 8-канальный, 10-битный ADC с поддержкой прерывания, работающий на скорости до 100 тысяч выборок в секунду.
• 9 источников прерывания с 4 уровнями назначения приоритета.
• Один 15-битный сторожевой таймер (Watch-Dog-Timer, WDT) с 8-битным прескалером. WDT может быть разрешен однократно после сброса, после чего не может быть запрещен.
• Интерфейс SPI, работающий в режимах Master и Slave.
• 4 канала массивов программируемых счетчиков (Programmable Counter Array, PCA).
• Три режима экономии энергии: idle mode (режим ожидания), slow down mode (режим замедления) и power-down mode (режим отключения). Из power down mode MCU можно разбудить прерываниями от INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RXD/P3.0, PCA0/P3.7, PCA1/P3.5, PCA2/P2.0, PCA3/P2.4.
• Отличные параметры в контексте малой генерации радиопомех, очень низкое энергопотребление.
• Два диапазона рабочих температур: индустриальный (-40..+85°C) и коммерческий (0..+75°C).
• Функция выхода программируемой тактовой частоты. T0 выводит такты на ножке порта P1.0, T1 выводит такты на ножке порта P1.1.
• Имеется 15/23/27 конфигурируемых портов ввода/вывода (I/O ports, GPIO).
• Выпускается в корпусах типа SOP-20, DIP-20, LSSOP-20, SOP-28, SKDIP-28, SOP-32, LQFP-32.

Основные возможности серии на примере микроконтроллера STC12C5620AD:

• Улучшенное ядро (CPU) 80C51, работающее в 8..12 раз быстрее, чем стандартный микроконтроллер (MCU) 8051.
• Рабочий диапазон напряжений питания: 3.5-5.5V или 2.2V-3.6V (последнее для низковольтной серии STC12LE5620AD).
• Рабочий диапазон тактовых частот 0..35 МГц, что по скорости работы эквивалентно частотам 0..420 МГц для стандартного 8051.
• Простой внутренний RC-генератор и генератор с внешним кварцевым резонатором.
• Встроенную в кристалл оперативную память (ОЗУ, RAM) на 768 байт и 4..30K байт памяти программ (code flash) с гибкой возможностью перепрограммирования ISP/IAP.
• Защита доступа к коду, записанному в память flash.
• Шесть 16-битных таймера/счетчика. Timer0/Timer1 (совместимы с таймерами 8051) с режимом 0 (16-битный режим с автоматической перезагрузкой), режимом 1 (16-битный таймер) и режимом 2 (8-битный режим с автоматической перезагрузкой). 4 канала PCA можно использовать как 4 таймера.
• Аппаратный UART с функциями распознавания адреса и детектированием ошибки фрейма.
• 8-канальный, 10-битный ADC с поддержкой прерывания, работающий на скорости до 100 тысяч выборок в секунду.
• 9 источников прерывания с 4 уровнями назначения приоритета.
• Один 15-битный сторожевой таймер (Watch-Dog-Timer, WDT) с 8-битным прескалером. WDT может быть разрешен однократно после сброса, после чего не может быть запрещен.
• Интерфейс SPI, работающий в режимах Master и Slave.
• 4 канала массивов программируемых счетчиков (Programmable Counter Array, PCA).
• Три режима экономии энергии: idle mode (режим ожидания), slow down mode (режим замедления) и power-down mode (режим отключения). Из power down mode MCU можно разбудить прерываниями от INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RXD/P3.0, PCA0/P3.7, PCA1/P3.5, PCA2/P2.0, PCA3/P2.4.
• Отличные параметры в контексте малой генерации радиопомех, очень низкое энергопотребление.
• Два диапазона рабочих температур: индустриальный (-40..+85°C) и коммерческий (0..+75°C).
• Функция выхода программируемой тактовой частоты. T0 выводит такты на ножке порта P1.0, T1 выводит такты на ножке порта P1.1.
• Имеется 15/23/27 конфигурируемых портов ввода/вывода (I/O ports, GPIO).
• Выпускается в корпусах типа SOP-20, DIP-20, LSSOP-20, SOP-28, SKDIP-28, SOP-32, LQFP-32.

STC12C5620AD отличается от STC12C5410AD повышенным размером памяти, и большим количеством каналов PCA, в остальном эти чипы очень похожи.

Основные возможности серии на примере микроконтроллера STC12C5A60S2:

• Улучшенное ядро (CPU) 80C51, работающее в 8..12 раз быстрее, чем стандартный микроконтроллер (MCU) 8051.
• Рабочий диапазон напряжений питания: 3.5-5.5V или 2.2V-3.6V (последнее для низковольтной серии STC12LE5A60S2).
• Рабочий диапазон тактовых частот 0..35 МГц, что по скорости работы эквивалентно частотам 0..420 МГц для стандартного 8051.
• Простой внутренний RC-генератор и генератор с внешним кварцевым резонатором.
• Встроенную в кристалл оперативную память (ОЗУ, RAM) на 1280 байт (из них 256 байт это обычная память scratch-pad RAM и 1024 байта auxiliary RAM) и 8..62K байт памяти программ (code flash) с гибкой возможностью перепрограммирования ISP/IAP.
• Защита доступа к коду, записанному в память flash.
• Есть возможность доступа к внешней памяти (XCODE, XDATA).
• Четыре 16-битных таймера/счетчика. Timer0/Timer1 (совместимы с таймерами 8051) с режимом 0 (16-битный режим с автоматической перезагрузкой), режимом 1 (16-битный таймер) и режимом 2 (8-битный режим с автоматической перезагрузкой). 2 канала PCA можно использовать как 2 таймера.
• Аппаратный UART с функциями распознавания адреса и детектированием ошибки фрейма.
• Второй UART с собственным генератором скорости.
• 8-канальный, 10-битный ADC с поддержкой прерывания, работающий на скорости до 100 тысяч выборок в секунду.
• 10 источников прерывания с 4 уровнями назначения приоритета.
• Один 15-битный сторожевой таймер (Watch-Dog-Timer, WDT) с 8-битным прескалером. WDT может быть разрешен однократно после сброса, после чего не может быть запрещен.
• Интерфейс SPI, работающий в режимах Master и Slave.
• 2 канала массивов программируемых счетчиков (Programmable Counter Array, PCA).
• Три режима экономии энергии: idle mode (режим ожидания), slow down mode (режим замедления) и power-down mode (режим отключения). Из power down mode MCU можно разбудить прерываниями от PCA, RXD, T0/T1 и внешними прерываниями INT0, INT1.
• Отличные параметры в контексте малой генерации радиопомех, очень низкое энергопотребление.
• Два диапазона рабочих температур: индустриальный (-40..+85°C) и коммерческий (0..+75°C).
• Функция выхода программируемой тактовой частоты. T0 выводит такты на ножке порта P3.4, T1 выводит такты на ножке порта P3.5.
• Имеется 36/40/44 конфигурируемых портов ввода/вывода (I/O ports, GPIO).
• Выпускается в корпусах типа QFN-40, PDIP-40, PLCC-44, LQFP-44, LQFP-48.

Основные отличия от серий STC12C5410AD и STC12C5620AD: больше памяти, 2 UART, есть возможность аппаратного доступа к внешней памяти, больше портов ввода/вывода, больше векторов прерываний.

Подробнее про серию STC12Cxx можно почитать в статье STC12Cxx, также см. даташиты STC12C2052AD-en.pdf, STC12C5410AD-en.pdf, STC12C5616AD-en.pdf, STC12C5A60S2-en.pdf [4].

Серия STC15Fxx представляет однокристальные микроконтроллеры компании STC MCU Limited (STCmicro) [1], основанные на высокопроизводительном ядре 1T с архитектурой ядра 80C51. Например, расширенное ядро STC15F204EA выполняет инструкции за 1..6 такт (что в 8..12 раз быстрее стандартного устройства 8051), с сохранением полной совместимости со ставшей индустриальным стандартом серией микроконтроллеров 80C51. Технологии самопрограммирования (In-System-Programming, ISP) и доступа к энергонезависимым данным из работающего приложения (In-Application- Programming, IAP) предоставляют пользователям возможность обновлять программу и данные в системе. ISP позволяет загружать новый код программы без извлечения микроконтроллера из конечного изделия; IAP означает, что устройство может само записывать сохраняемые при выключении питания данные в память Flash прямо из работающего кода приложения. У STC15F204EA есть 9 источников прерывания, 10-битный ADC (АЦП), встроенный в кристалл высокоточный RC-генератор и однократно разрешаемый сторожевой таймер (Watch-Dog Timer, WDT). Другие микроконтроллеры серии имеют аналогичные параметры по быстродействию и напряжениям питания, отличаясь количеством портов GPIO и возможно отсутствующим АЦП.

Основные возможности серии на примере микроконтроллера STC15L204EA:

• Улучшенное ядро (CPU) 80C51, работающее в 6..7 раз быстрее, чем стандартный микроконтроллер (MCU) 8051.
• Рабочий диапазон напряжений питания: 3.8-5.5V или 2.4V-3.6V (последнее для низковольтной серии STC15L204EA).
• Рабочий диапазон тактовых частот 5..35 МГц, что по скорости работы эквивалентно частотам 60..420 МГц для стандартного 8051.
• Высокоточный внутренний RC-генератор с уходом по температуре ±1% (в диапазоне температур -40..+85°C).
• Внутренний RC-генератор имеет настраиваемый ряд частот 5.5296 МГц / 11.0592 МГц / 22.1184 МГц / 33.1776 МГц.
• Встроенную в кристалл оперативную память (ОЗУ, RAM) на 256 байт и 1..6K байт памяти программ (code flash) с гибкой возможностью перепрограммирования ISP/IAP.
• Функция EEPROM.
• Защита доступа к коду, записанному в память flash.
• Два 16-битных таймера/счетчика Timer0/Timer1 с режимом 0 (16-битный режим с автоматической перезагрузкой), режимом 1 (16-битный таймер) и режимом 2 (8-битный режим с автоматической перезагрузкой).
• Симуляция UART может быть реализована на выводах портов P3.0, P3.1 с помощью таймеров.
• 8-канальный, 10-битный ADC с поддержкой прерывания, работающий на скорости до 300 тысяч выборок в секунду.
• 9 источников прерывания.
• Один 15-битный сторожевой таймер (Watch-Dog-Timer, WDT) с 8-битным прескалером. WDT может быть разрешен однократно после сброса, после чего не может быть запрещен.
• Три режима экономии энергии: idle mode (режим ожидания), slow down mode (режим замедления) и power-down mode (режим отключения). Из power down mode MCU можно разбудить внешним выводом INTx (INT0/P3.2, INT1/P3.3, INT2, INT3, INT4).
• Отличные параметры в контексте малой генерации радиопомех, очень низкое энергопотребление.
• Поддерживает 2-проводный интерфейс последовательного программирования (GND/P3.0/P3.1/VCC).
• Функция выхода программируемой тактовой частоты. T0 выводит такты на ножке порта P3.5, T1 выводит такты на ножке порта P3.4.
• Имеется 26 конфигурируемых портов ввода/вывода (I/O ports, GPIO), и по умолчанию (после сброса) они работают как квази-двунаправленные (quasi-bidirectional). Все ножки портов могут быть независимо друг от друга сконфигурированы в 4 режимах: quasi-bidirectional, push-pull output (двухтактный выход), input-only (только вход) или open drain output (выход с открытым стоком). Каждая ножка порта может коммутировать ток до 20 mA, однако рекомендуется ограничить суммарный ток не более 90 mA на корпус чипа.
• Выпускается в корпусах типа SOP-28, SKDIP-28.

Другие модели процессоров серии STC15Fxx также выпускаются и в корпусах SOP-8, DIP-8, SOP-20, DIP-20.

CPU (процессорное ядро) серии STC15Fxx полностью совместимо со стандартным 8051 MCU по мнемоникам инструкций, с сохранением двоичной совместимости кода. С применением значительных улучшений в архитектуре серия STC15Fxx может выполнять самые быстрые инструкции за 1 период тактовой частоты (для сравнения: стандартное ядро 8051 требует для этого 12 тактов). Увеличение производительности каждой конкретной программы зависит от используемых в ней инструкций.

Подробнее про серию STC15Fxx можно почитать в статье STC15Fxx, также см. даташиты STC15F100-en.pdf, STC15F204EA-en.pdf [4].

Причины для выбора микроконтроллеров STC: ниже стоимость и повышенная производительность. Все оригинальное программное обеспечение может быть напрямую перенесено на новый процессор даже без изменения аппаратуры системы. Пользователи могут загрузить свой код (в двоичном формате BIN или HEX-формате) в память микроконтроллера STC MCU с помощью готовой утилиты программирования (Writer / Programmer tool — STC-ISP.exe).

Внутренняя памть Flash может быть перезаписана более чем 100 тысяч раз.

[Ссылки]

1. stcmicro.com - на этом сайте есть информация на английском языке, доступны для загрузки документация и утилиты программирования. Сайты stcmcu.com, gxwmcu.com - одинаковые, чисто на китайском языке.
2. Цифровые часы на микроконтроллере STC15W1K24S.
3. Цифровые часы на микроконтроллере STC15W404AS.
4. 170314STCmcu.zip - документация на английском языке по микроконтроллерам STC, утилита программирования.

 

Комментарии  

 
0 #3 Артем 15.09.2022 15:26
Дак есть или нет такая возможность?

microsin: возможность чтения памяти программ в загрузчике микроконтроллер ов STC не предусмотрена СПЕЦИАЛЬНО. Её нет от слова СОВСЕМ. Понятно почему - для защиты кода от копирования.
Цитировать
 
 
0 #2 Kabron 13.09.2021 18:48
Нет такой возможности в принципе!
Цитировать
 
 
0 #1 Алексей 28.10.2018 13:33
Есть возможность считать программу из прошитого МК?

microsin: считать программу из прошитого микроконтроллер а нельзя.
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Top of Page