Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[22]

Таблица 4 Выбор режима Sleep

SM1

SMO

Sleep Mode

0

0

Режим Idle

0

1

Зарезервировано

1

0

Режим Power Down

1

1

Режим Power Save

Bits 2..O - Res: Reserved bits - Зарезервированные биты

Эти биты зарезервированы и при считывании всегда будут показывать состояние 0. - 75

RAMPZ0 = 0: Команде ELPM доступна память программ с адресами от $0000 до $7FFF (младшие 64 Кбайт)

RAMPZ0 = 1: Команде ELPM доступна память программ с адресами от $8000 до $FFFF (старшие 64 Кбайт). Отметим, что на LPM не воздействует установка RAMPZ.

Микроконтроллер ATmega603 не содержит регистра RAMPZ и не имеет команды ELPM. Команда LPM способна перекрыть все пространство памяти программ микроконтроллера ATmega603.

РЕГИСТР УПРАВЛЕНИЯ MCU - MCU Control Register - MCUCR

Биты регистра управления MCU управляют выполнением основных функций MCU.

Биты7 6 543210

$3B ($5B)j SRE I SRW I SE SM1 SMO - - - ] MCUCR

Чтение/Запись R/W R/W R/W R/W R/W R R R

Начальное состояние 00000000

•Bit 7 - SRE: External SRAM Enable - Разрешение внешней SRAM

Установленный в 1 бит SRE разрешает обращение к внешней SRAM данных и переводит работу выводов AD0-7 (Порт A), A8-15 (Порт C), WR и RD на выполнение альтернативной функции. Затем бит SRE перенастраивает установки направлений любых выводов в соответствующих регистрах направления данных. Очистка бита SRE (установка в 0) запрещает обращение к внешней SRAM и восстанавливает нормальные установки направлений выводов и данных.

•Bit 6 - SRW: External SRAM Wait State - Режим ожидания внешней SRAM

При установленном в 1 бите SRW к циклу обращения к внешней SRAM добавляется один цикл ожидания. При сброшенном в 0 бите SRW обращение к внешней SRAM выполняется по трехцикловой схеме. См. Рис 22 Циклы обращения к внешней SRAM данных без состояния ожидания (Wait State) и Рис. 23 Циклы обращения к внешней SRAM данных с состоянием ожидания (Wait State active).

•Bit 5 - SE: Sleep Enable - Разрешение режима Sleep

Установленный в 1 бит SE разрешает перевод MCU в режим sleep по команде SLEEP. Чтобы исключить перевод MCU в незапрограммированный режим sleep, рекомендуется устанавливать бит SE непосредственно перед выполнением команды SLEEP.

•Bits 4,3 - SM1/SMO: Sleep Mode Select bits 1 and O - Биты выбора режима Sleep

Данные биты позволяют выбрать один из трех возможных режимов sleep, как показано в таблице 4.


РЕГИСТР УПРАВЛЕНИЯ КОЭФФИЦИЕНТОМ ДЕЛЕНИЯ ЧАСТОТЫ КВАРЦЕВОГОГЕНЕРАТОРА - XTAL Divide Control Register - XDIV

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

Биты76543210

$3C ($5C)j XDIVEN XDIV6 XDIV5 XDIV4 XDIV3 XDIV2 XDIV1 XDIV0 XDIV

Чтение/Запись R/W R/W R/W R/W R/W R/W R/W R/W

Начальное состояние 00000000

•Bit 7 - XDIVEN: XTAL Divide Enable - Разрешение деления частоты XTAL

При установленном в 1 бите XDIVEN тактовая частота CPU и всей периферии делится в соответствии с установленным битами XDIV6 - XDIV0 коэффициентом деления. Такая возможность может быть использована для снижения потребления, при условии допустимости снижения вычислительной мощности. Этот бит может быть установлен и очищен в процессе выполнения программы тогда, когда это определяется применением.

•Bits 6..0 - XDIV6..XDIV0: XTAL Divide Select Bits 6 - 0 - Биты выбора коэффициента деления

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

f clk =

(129-d)

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

Обработка прерываний и сброса

Микроконтроллеры ATmega603/103 используют 23 источника прерывания. Эти прерывания и вектор сброса располагают отдельными программными векторами в пространстве памяти программ. Каждому прерыванию присвоен свой бит разрешения который должен быть установлен совместно с битом I регистра статуса. Младшие адреса пространства памяти программ автоматически определяются как векторы сброса и прерываний.

Полный перечень векторов представлен в Таблице 5. Перечень представляет также уровень приоритета для каждого прерывания. Прерывания с младшими адресами имеют больший уровень приоритета. RESET имеет наивысший уровень приоритета, следующим является INT0 - Запрос внешнего прерывания 0 и т.д.


Vector

Program

Source

Interrupt Definition

No.

Address

1

$0000

RESET

Сброс по выводу и сторожевому таймеру (Hardware Pin and Watchdog Reset)

2

$0002

INT0

Запрос внешнего прерывания 0 (External Interrupt Request 0)

3

$0004

INT1

Запрос внешнего прерывания 1 (External Interrupt Request 1)

4

$0006

INT2

Запрос внешнего прерывания 2 (External Interrupt Request 2)

5

$0008

INT3

Запрос внешнего прерывания 3 (External Interrupt Request 3)

6

$000A

INT4

Запрос внешнего прерывания 4 (External Interrupt Request 4)

7

$000C

INT5

Запрос внешнего прерывания 5 (External Interrupt Request 5)

8

$000E

INT6

Запрос внешнего прерывания 6 (External Interrupt Request 6)

9

$0010

INT7

Запрос внешнего прерывания 7 (External Interrupt Request 7)

10

$0012

TIMER2 COMP

Совпадение при сравнении таймера/счетчика 2 (Timer/Counter2 Compare Match)

11

$0014

TIMER2 OVF

Переполнение таймера/счетчика 2 (Timer/Counter2 Overflow)

12

$0016

TIMER1 CAPT

Захват таймера/счетчика 1 (Timer/Counter1 Capture Event)

13

$0018

TIMER1 COMPA

Совпадение A при сравнении таймера/счетчика 1 (Timer/Counter1

Compare Match A)

1 4

$001A

TIMER1 COMPB

Совпадение B при сравнении таймера/счетчика 1 (Timer/Counter1 Compare Match B)

15

$001C

TIMER1 OVF

Переполнение таймера/счетчика 1 (Timer/Counter1 Overflow)

16

$001E

TIMER0 COMP

Совпадение при сравнении таймера/счетчика 0 (Timer/Counter0 Compare Match)

17

$0020

TIMER0 OVF

Переполнение таймера/счетчика 0 (Timer/Counter0 Overflow)

1 8

$0022

SPI, STC

Завершение пересылки SPI (SPI Serial Transfer Complete)

19

$0024

UART, RX

Завершение приема UART (UART, Rx Complete)

20

$0026

UART, UDRE

Регистр данных UART пуст (UART Data Register Empty)

21

$0028

UART, TX

Завершение передачи UART (UART, Tx Complete)

22

$002A

ADC

Завершение ADC преобразования (ADC Conversion Complete)

23

$002C

EE READY

Готовность EEPROM (EEPROM Ready)

2 4

$002E

ANALOG COMP

Срабатывание аналогового компаратора (Analog Comparator)

Таблица 5 Векторы сброса и прерываний



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51]