Mc68hc11e motorola однокристальные микроконтроллеры
Основные характеристики
Cистема команд является надмножеством системы команд микропроцессоров M6800/M6801
40 типов микроконтроллеров
MC68HC11 - КМОП технология
Одинаковое 8-разрядное процессорное ядро
до 3 Мгц - внутренняя тактовая частота шины
6 методов адресации
ПЗУ - 0К, 4К - 48К (масочное, однократно программируемое, с УФ стиранием)
ПЗУ с электрическим стиранием 0, 0.5К, 2К
ОЗУ - 0, 192 - 1024 байт
Возможность обращения к внешней памяти с адресным пространством до 64К.
Таймер с 3-4 каналами IC и 4-5 каналами OC (Input Capture, Output Compare) - всего 8 каналов
COP Watchdog (Computer Operate Properly) таймер
SPI - Serial Peripheral Interface - синхронный последовательный канал связи
SCI - Serial Communication Interface - асинхронный последовательный канал связи
АЦП - до 8 каналов, 8 бит, 10 бит
ШИМ - (PWM - Pulse Width Modulation) управление громкостью звука, яркостью изображения, управление электродвигателями
Математический сопроцессор
Котроллер жидкокристаллического индикатора
21 источник прерывания
Корпуса QFP 64, SDIP 56, TQFP PLCC CLCC 52, DIP 48 выводов
Обозначения
OP - код операции - обычно один, с префиксом - два бвйта;
<- - операция присвоения;
: - операция конкатенации;
ad8 - прямой восьмиразрядный адрес 8-разрядного или 16-разрядного регистра; ad8 - адрес старшего байта; ad8+1 - адрес младшего байта;
ad16 - прямой шестнадцатиразрядный адрес 8-разрядной ячейки памяти ;
ADMAX - максимальный адрес в системе: $FFFF
d - непосредственные 8-разрядные или 16-разрядные данные;
d8 - непосредственные 8-разрядные данные;
of8 - восьмиразрядное смещение без знака;
of16, of16h, of16l - шестнадцатиразрядное смещение без знака, старший и младший байты;
rel - приращение адреса из множества [-128,+127] в командах условного перехода, прибавляемого к адресу следующей за командой перехода команды;
D, S - префиксы, явно указывающие на принадлежность соответственно к приемнику и источнику операнда;
(ad) - содержимое байта либо слова, адресуемого адресом ad;
cad - метка в ассемблере, обозначающая адрес команды, на которую осуществляется переход; абсолютное значение адреса заменяется ассемблером на относительное приращение rel, равное расстоянию в байтах между адресом следующей за текущей команды и меткой cad.
1. Структура mc68hc11e9
Линии портов |
Номера выводов |
Однокристальный режим и режим загрузки |
Расширенный режим и режим теста |
A-0 |
34 |
PA0/IC3 |
PA0/IC3 |
A-1 |
33 |
PA1/IC2 |
PA1/IC2 |
A-2 |
32 |
PA2/IC1 |
PA2/IC1 |
A-3 |
31 |
PA3/OC5/IC4 и/или OC1 |
PA3/OC5/IC4 и/или OC1 |
A-4 |
30 |
PA4/OC4 и/или OC1 |
PA4/OC4 и/или OC1 |
A-5 |
29 |
PA5/OC3 и/или OC1 |
PA5/OC3 и/или OC1 |
A-6 |
28 |
PA6/OC2 и/или OC1 |
PA6/OC2 и/или OC1 |
A-7 |
27 |
PA7/PAI и/или OC1 |
PA7/PAI и/или OC1 |
|
4 |
STRA-вх. строба гот. порта С |
AS - выход строба адреса |
6 |
STRB-вых. строба гот. порта В |
R/W |
Направление передачи для отдельных битов портов С и D определяется регистрами DDRC, DDRD: 0-вход, 1-выход
$1007 |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
DDRC |
|
|
|
|
|
|
|
|
|
|
$1009 |
|
|
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
DDRD |
Карта памяти для MC86HC11E9
0000 01FF |
512 байт RAM
|
|
512 байт RAM |
|
512 байт RAM |
|
|
|
внешняя память / устройства |
|
|
1000 103F |
регистры 64 байта
|
|
регистры 64 байта |
|
регистры 64 байта |
|
|
|
внешняя память / устройства |
|
|
B600 B7FF |
512 байт EEPROM
|
|
512 байт EEPROM |
|
512 байт EEPROM |
|
|
|
|
|
|
BF40 |
|
|
|
|
ROM режима загрузки |
BFC0 BFFF |
|
|
|
|
Вектора прерываний режима загрузки |
|
|
|
внешняя память / устройства |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D000 |
|
|
|
|
|
|
|
|
|
|
|
|
EPROM |
|
EPROM |
|
EPROM |
|
|
|
|
|
|
FFC0 FFFF |
Вектора прерываний
|
|
Вектора прерываний |
|
|
|
|
|
|
|
|
|
однокристальный режим |
|
расширенный режим |
|
режим загрузки |
Режимы:
Микроконтроллер может работать в четырех режимах: однокристальный, расширенный, режим загрузки и тестовый режим. Выбор режима осуществляется во время системного сброса по состоянию входов MODB, MODA. Текущий режим работы определяется содержимым регистра HPRIO, структура которого показана ниже (этот регистр определяет также прерывание с наивысшим приоритетом).
|
MODB |
MODA |
Выбираемый режим |
|
1 |
0 |
Однокристальный режим |
|
1 |
1 |
Расширенный режим |
|
0 |
0 |
Режим загрузки |
|
0 |
1 |
Режим теста – используется изготовителем |
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$103C |
RBOOT |
SMOD |
MDA |
IRV |
PSEL3 |
PSEL2 |
PSEL1 |
PSEL0 |
HPRIO |
RESET |
- |
- |
- |
- |
0 |
1 |
0 |
1 |
|
Назначение отдельных битов регистра следующее:
- RBOOT - при установке в 1 разрешает чтение ROM загрузчика, иначе обращения по адресам программы загрузчика интерпретируются как обращения к внешней памяти. Этот бит имеет значение только в специальных режимах загрузки или теста, в остальных режимах бит RBOOT сброшен и не может быть изменен программно.
- SMOD - указывает на выбор одного из специальных режимов. Этот бит устанавливается, если во время сброса на входе MODB задан низкий уровень, в противном случае сбрасывается. Бит SMOD при работе в специальных режимах может быть сброшен программно, что позволяет изменить текущий режим работы. Программная установка бита SMOD невозможна.
- MDA - отображает состояние входа MODA во время сброса. В специальных режимах этот бит может быть изменен программно, позволяя изменить текущий режим работы, в нормальных режимах бит MDA доступен только для чтения.
- IRV - разрешает отображение процессов чтения из внутренней памяти на внешней шине данных (IRV=1). В специальных режимах этот бит может быть изменен в любой момент, в нормальных режимах - только один раз после сброса.
- PSEL3, PSEL2, PSEL1 и PSEL0 - задают маскируемое прерывание с наивысшим приоритетом.
Обращения к внутренним ROM (EPROM) и EEPROM можно запретить посредством регистра CONFIG.
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$103F |
0 |
0 |
0 |
0 |
NOSEC |
NOCOP |
ROMON |
EEON |
CONFIG |
При нулевом бите EEON запрещены обращения к EEPROM, при нулевом бите ROMON запрещены обращения к ROM (в однокристальном режиме ROM доступна независимо от значения ROMON). Кроме того, данный регистр позволяет отключать Watchdog-таймер (установкой NOCOP=1) и режим обеспечения безопасности (установкой NOSEC=1).
Четыре старших бита А15-12 начала адресов RAM и регистров задаются в регистре INIT
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$103D |
RAM3 |
RAM2 |
RAM1 |
RAM0 |
REG3 |
REG2 |
REG1 |
REG0 |
INIT |
RESET |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
Регистры
|
15 8 |
7 0 |
|
| ||||||||
B |
|
|
A - 8-разрядный |
| ||||||||
|
|
или D 16-разрядный Аккумулятор |
| |||||||||
|
|
X - Индексный регистр |
| |||||||||
|
|
Y - Индексный регистр |
| |||||||||
|
|
SP растет вниз, на свободную ячейку |
| |||||||||
|
$FFFE по Reset |
PC |
| |||||||||
|
|
S |
X |
H |
I |
N |
Z |
V |
C |
CCR |
Архитектура ядра положена в основу и 16-разрядных семейств НС12, НС16.
Флаги
CCR - Condition Code Register - регистр флагов
V - (oVerflow) - переполнение;
H - (Half carry) - перенос из 3-го разряда в 4-ый;
I - (Interrupt) - маска прерывания I: 1 - все прерывания запрещены;
X - (Interrupt) - маска прерывания X: 1 – от немаскируемого входа прерывания запрещены – возможно только в первые 64 цикла работы микроконтроллера после RESET;
N - (Negativ) - отрицательный результат команды;
Z - (Zero) - нулевой результат команды;
C - (Carry) - перенос;
S - (STOP) - запрещение режима STOP
+ - флаг устанавливается в 0 или 1;
- - флаг не изменяется;
0 - флаг устанавливается в 0;
1 - флаг устанавливается в 1;
¯ - флаг может быть сброшен, но не может быть установлен