Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по МП.doc
Скачиваний:
17
Добавлен:
05.09.2019
Размер:
4.26 Mб
Скачать

Регистр управления делением частоты кварцевого генератора – xdiv

7

6

5

4

3

2

1

0

$3С ($5С)

XDIVEN

XDIV6

XDIV5

XDIV4

XDIV3

XDIV2

XDIV1

XDIV0

XDIV

Исходное значение

0

0

0

0

0

0

0

0

Регистр XDIV используется для установки коэффициента деления частоты кварцевого генератора в диапазоне от 1 до 129. Эта возможность может быть использована для уменьшения энергопотребления.

Bit 7 – Разрешение деления частоты XTAL. При установленном ( =1) бите XDIVEN тактовая частота CPU и всей периферии делится в соответствии с установленным битами XDIV6 - XDIV0 коэффициентом деления.

Bit 6..0 – Биты выбора коэффициента деления. Эти биты устанавливают коэффициент деления тактовой частоты при установленном бите XDIVEN. Если десятичное значение этих семи битов обозначить через d, то результирующая тактовая частота CPU будет определяться по формуле:

FCLK = XTAL/(129-d)

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

За регистрами ввода-вывода следуют 4096 адресов внутреннего ОЗУ данных. При использовании внешней памяти данных адресуются оставшиеся 60 Кбайт. Таким образом, при использовании микросхем памяти объемом 64К будут потеряны 4Кбайт. При обращении к внешней и внутренней памяти данных используются одни и те же команды, но во втором случае сигналы RD# и WR# не активизируются.

Работа с внешней памятью данных разрешается установкой бита SRE регистра MCUCR. По сравнению с обращением к внутренней памяти, обращение к внешней требует дополнительно одного цикла на каждый байт. Это означает, что для выполнения команд LD, ST, LDS, STS, PUSH и POP требуется дополнительно машинный цикл. Если стек размещен во внешней памяти данных, то прерывания, вызов процедур и возвраты требуют по два дополнительных цикла, поскольку в стеке перемещается содержимое двухбайтного счетчика команд. Если при обмене с внешней памятью данных используется состояние ожидания, то на каждый байт необходимо еще два цикла. Поэтому командам пересылки данных необходимы два дополнительных цикла, тогда как при обработке прерываний, вызове процедур и возвратах требуется на четыре цикла больше, чем указано в описании системы команд.

Практическое освоение системы команд и программирования на языке Ассемблер осуществляется в работах №1-3. Программирование ввода-вывода и подсистемы прерываний изучается в работах №4 – 8.