Скачиваний:
17
Добавлен:
01.05.2014
Размер:
84.99 Кб
Скачать

12

Mc68hc08 motorola однокристальные микроконтроллеры

Основные характеристики

  • MC68HC08 - КМОП технология - с 1994 г.

  • Одинаковое 8-разрядное процессорное ядро, на порядок более производительное, чем M68HC05

  • 8 Мгц - внутренняя тактовая частота шины (4мгц для HC08AS48)

  • CSIC - Customer Specified Integrated Circuits design strategy - определяемая пользователем архитектура на базе набора стандартных модулей

  • Объектная совместимость снизу вверх с M6805, M68HC05

  • 16 методов адресации

  • 64k - общее адресное пространство

  • ПЗУ - до 56К (HC08LN56) (масочное, однократно программируемое, с УФ стиранием, с электрическим стиранием)

  • ОЗУ - до 1.5К

  • 7 портов ввода / вывода

  • Поддержка прямого доступа к памяти (НС708XL36)

  • Отсутствует возможность обращения к внешней памяти

  • Таймер 16-разрядный до 6 каналов IC, OC (Input Capture, Output Compare)

  • COP (Computer Operate Properly) Watchdog таймер

  • SPI - Serial Peripheral Interface - синхронный последовательный канал связи

  • SCI - Serial Communication Interface - асинхронный последовательный канал связи, 75-131000Гц

  • АЦП - до 16 каналов, 8 бит

  • ШИМ - (PWM - Pulse Width Modulation) (HC708MP16) - управление громкостью звука, яркостью изображения, управление электродвигателями

  • Котроллер жидкокристаллического индикатора (HC08LN56)

  • 24 источника прерывания, в т.ч. 6 источников RESET, приоритет которых выше приоритета прерываний

  • 64- выводной QFP или 52-выводной PLCC корпус

Обозначения

OP - код операции;

<- - операция присвоения;

: - операция конкатенации;

ad8 - прямой восьмиразрядный адрес 8-разрядного или 16-разрядного регистра; ad8 - адрес старшего байта; ad8+1 - адрес младшего байта;

ad16 - прямой шестнадцатиразрядный адрес 8-разрядной ячейки памяти ;

ADMAX - максимальный адрес в системе: $FFFF для НС08, $1FFF для MC86HC705C8

d - непосредственные 8-разрядные или 16-разрядные данные;

d8 - непосредственные 8-разрядные данные;

d16, d16h, d16l - непосредственные 16-разрядные данные, старший и младший байты;

of8 - восьмиразрядное смещение без знака;

of16, of16h, of16l - шестнадцатиразрядное смещение без знака, старший и младший байты;

rel - приращение адреса из множества [-128,+127] в командах условного перехода, прибавляемого к адресу следующей за командой перехода команды;

D, S - префиксы, явно указывающие на принадлежность соответс­твенно к приемнику и источнику операнда;

(ad) - содержимое байта либо слова, адресуемого адресом ad;

cad - метка в ассемблере, обозначающая адрес команды, на кото­рую осуществляется переход; абсолютное значение адреса заменяется ас­семблером на относительное приращение rel, равное расстоянию в байтах между адресом следующей за текущей команды и меткой cad.

Регистры

7 0

A - Аккумулятор

15 8

7 0

H

X H:X - объед-й индексный регистр;

Reset

0 - совмест-ть сHC05

H не сохраняется в стеке

$00FF по Reset

SP растет вниз, на свободную ячейку

$FFFE по Reset

PC

V

1

1

H

I

N

Z

C

CCR

Флаги

CCR - Condition Code Register - регистр флагов

V - (oVerflow) - переполнение;

H - (Half carry) - перенос из 3-го разряда в 4-ый;

I - (Interrupt) - маска прерывания: 1 - все прерывания запрещены;

N - (Negativ) - отрицательный результат команды;

Z - (Zero) - нулевой результат команды;

C - (Carry) - перенос;

+ - флаг устанавливается в 0 или 1;

- - флаг не изменяется;

0 - флаг устанавливается в 0;

1 - флаг устанавливается в 1;

? - флаг неопределен.

Способы адресации

  1. Подразумеваемая (INH)

OP

7 0

OP

Операнд(ы) (A, H:X, H, X) кодируется в OP

TXA; (A) <- (X)

PSHX; ((SP)) <- (X); (SP)<-(SP)-1

DIV; (A) <- (H:A)/(X); (H) <- (H:A)mod(X)

TSX; (H:X) <- (SP)+1

  1. Непосредственная (IMM)

OP #d

OP

d8

Операнд в команде

OP

d16h

d16l

Со старшего байта

  • один или два байта в зависимости от разрядности регистра, участвующего в команде

ADD #d8; A)<-(A)+ d8

LDHX #d16; (H:X) <- d16

  1. Прямая (DIR)

OP ad8

OP

ad8

Старший байт 00

  • область RAM - наиболее часто используемые данные

  • сокращение на 1 цикл времени

ADD ad8; (A) <- (A)+(ad8)

JMP ad8; (PC) <- ad8

  • (ad8):(ad8+1) - 16-разряядная адресация:

LDHX ad8; (H:X) <- (ad8):(ad8+1)

STHX ad8; (ad8):(ad8+1) <- (H:X)

  1. Расширенная (EXT)

OP ad16

OP

ad16h

ad16l

  • Ассемблер сам определяет ad8 либо ad16

ADD ad16; (A)<-(A)+(ad16)

JMP ad16; (PC) <- ad16

  1. Индексная без смещения (IX) (нет в НС11)

OP ,X

OP

  • (H:X) - исполнительный адрес

  • (H)<-$00 - совместимость с HC05

  • перемещение указателя по таблице

ADD ,X; (A)<-(A)+((H:X))

JMP ,X; (PC) <- (H:X)

  1. Индексная с 8-битным смещением (IX8)

OP of8,X

OP

of8

Без знака

  • - of8+(H:X) - исполнительный адрес

  • выделение к-ого элемента в таблице; к - в (H:X)

ADD of8,X; (A)<-(A)+(of8+(H:X))

JMP of8,X; (PC) <- of8+(H:X)

  1. Индексная с 16-битным смещением (IX16) (нет в НС11)

OP of16,X

OP

of16h

of16l

Без знака

  • - of16+(H:X) - исполнительный адрес

  • выделение к-ого элемента в таблицеж; к - в (H:X)

  • ассемблер сам определяет of8 либо of16

ADD of16,X; (A)<-(A)+(of16+(H:X))

JMP of16,X; (PC) <- of16+(H:X)

8. По указателю стека с 8-битным смещением (SP8) (только в НС08)

OP of8,SP

9E

OP

of8

Без знака

  • - of8+(SP) - исполнительный адрес

  • доступ к данным стека

ADD of8,SP; (A)<-(A)+(of8+(SP))

9. По указателю стека с 16-битным смещением (SP16) (только в НС08)

OP of16,SP

9E

OP

of16h

of16l

  • - of16+(SP) - исполнительный адрес

  • доступ к данным стека

  • ассемблер сам определяет of8 либо of16

  • если прерывания запрещены - SP - еще один индексный регистр

ADD of16,SP; (A)<-(A)+(of16+(SP))

  1. Относительная - в командах условного перехода (REL)

OP cad

OP

rel

Со знаком [-128, +127]

  • rel+(PC) - исполнительный адрес

  • ассемблер сам вычисляет rel

BCS cad; Если (C)=1, (PC)<-(PC)+rel

11. Непосредственная - прямая (только в НС08)

MOV #d8,Dad8; (Dad8) <- d8

OP

d8

ad8

12. Прямая - прямая (DD) (только в НС08)

MOV Sad8,Dad8; (Dad8) <- (Sad8)

OP

Sad8

Dad8

  1. Индексная постинкрементная - прямая (IX+D) (только в НС08)

MOV X+, Dad8; (Dad8)<-((H:X)); (H:X)<-(H:X)+1

OP

Dad8

  • пересылка таблицы через последовательный канал

14. Прямая - индексная постинкрементная (DIX+) (только в НС08)

MOV Sad8, X+; ((H:X))<-(Sad8); (H:X)<-(H:X)+1

OP

Sad8

  • прием таблицы через последовательный канал

  1. Индексная постинкрементная - относительная (IX+REL) (только в НС08)

CBEQ X+,cad; Если (A)=((H:X)), (PC)<-(PC)+rel; (H:X)<-(H:X)+1

OP

rel

16. Индексная постинкрементная с 8-битным смещением - относительная (IX8+REL) (только в НС08)

CBEQ of8,X+,cad; Если (A)=(of8+(H:X)), (PC)<-(PC)+rel; (H:X)<-(H:X)+1

OP

of8

rel

Система команд

– 90 инструкций

В таблицах описания команд принята групповая форма записи, в которой операнды aop могут иметь все основные (со 2 по 9) типы адресации. Например,

запись команды

ADD aop

должна раскрываться соответственно множеством следующих команд:

Мнемоника

Спос

адр.

Содержание

Флаги

VHINZC

Цк

Бт

Примечание

ADD #d8

IMM

(A)<-(A)+ d8

++-+++

2

2

ADD

ADD ad8

DIR

(A)<-(A)+(ad8)

++-+++

3

2

without

ADD ad16

EXT

(A)<-(A)+(ad16)

++-+++

4

3

carry

ADD ,X

IX

++-+++

2

3

ADD of8,X

IX8

(A)<-(A)+(of8+(H:X))

++-+++

3

2

ADD of16,X

IX16

(A)<-(A)+(of16+(H:X))

++-+++

4

3

ADD of8,SP

SP8

(A)<-(A)+(of8+(SP))

++-+++

4

3

Два байта в

ADD of16,SP

SP16

(A)<-(A)+(of16+(SP))

++-+++

5

4

коде опер.

Для команд сохранения (STA, STX), естественно отсутствует непосредственная адресация.

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

Соседние файлы в папке Материалы по микроконтроллерам