68HC11 [1] (также сокращенно 6811 или HC11 ) — это семейство 8-битных микроконтроллеров, представленное Motorola Semiconductor в 1984 году (позже Freescale , затем NXP ). [2] [3] Он произошел от микропроцессора Motorola 6800 через 6801 . Устройства 68HC11 более мощные и более дорогие, чем микроконтроллеры 68HC08 , и используются в автомобильных приложениях, считывателях штрих-кодов , устройствах записи ключей гостиничных карт, любительской робототехнике и различных других встраиваемых системах . MC68HC11A8 был первым микроконтроллером, включающим CMOS EEPROM. [4]
Внутренне набор инструкций HC11 обратно совместим с 6800 и включает в себя добавление индексного регистра Y. [a] Он имеет два восьмибитных аккумулятора , A и B, два шестнадцатибитных индексных регистра , X и Y, регистр кода условия, 16-битный указатель стека и счетчик программ . Кроме того, есть 8 x 8-битное умножение (A x B) с полным 16-битным результатом и дробные/целые 16-битные на 16-битные инструкции деления. Ряд 16-битных инструкций обрабатывает регистры A и B как объединенный 16-битный регистр D для сравнения (регистры X и Y также можно сравнивать с 16-битными операндами памяти), операций сложения, вычитания и сдвига или может добавлять аккумулятор B к индексным регистрам X или Y. Также были добавлены операции проверки битов, выполняющие логическую функцию и между операндами, устанавливающие правильные коды условий, но не изменяющие операнды.
Различные версии HC11 имеют разное количество внешних портов, обозначенных в алфавитном порядке. Наиболее распространенная версия имеет пять портов, A, B, C, D и E, но некоторые имеют всего 3 порта (версия D3). Каждый порт имеет ширину восемь бит, за исключением D, который имеет шесть бит (в некоторых вариантах чипа D также имеет восемь бит). Он может работать с внутренней программой и ОЗУ (от 1 до 768 байт) или внешней памятью объемом до 64 килобайт . С внешней памятью B и C используются как адресная и шина данных . В этом режиме порт C мультиплексируется для передачи как младшего байта адреса, так и данных.
В начале 1990-х годов Motorola выпустила набор оценочной платы для 68HC11 с несколькими UART, RAM и EPROM. Стоимость набора для оценки составила $68.11. [5]
Стандартный монитор для семейства HC11 называется BUFFALO, "Bit User Fast Friendly Aid to Logical Operation". Он может храниться в ПЗУ на кристалле, EPROM или во внешней памяти (также обычно EPROM). BUFFALO доступен для большинства производных семейства 68HC11, поскольку он, как правило, зависит только от доступа к одному UART (SCI, или последовательный интерфейс связи, на языке Motorola). BUFFALO также может работать на устройствах, не имеющих внутренней энергонезависимой памяти, таких как производные 68HC11A0, A1, E0, E1 и F1.
Семейство микроконтроллеров Freescale 68HC16 задумано как 16-разрядная, в основном программно-совместимая модернизация 68HC11.
Семейство микроконтроллеров Freescale 68HC12 представляет собой усовершенствованную 16-битную версию 68HC11.
Контроллер робототехники Handy Board от Фреда Мартина основан на 68HC11. [6]
Для 68HC11D, в котором отсутствуют порты B и C, доступен сменный блок порта MC68HC24. При размещении на внешней адресной шине он воспроизводит исходные функции B и C. Этот чип также использовался в оценочной плате для внутрисхемной эмуляции . Порт A имеет входной захват, выходное сравнение, импульсный аккумулятор и другие функции таймера; порт D имеет последовательный ввод-вывод, а порт E имеет аналого-цифровой преобразователь (АЦП).