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


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




[3]

Таблица 3. Хар актеристики сброса.(Уа:=5.0У)

Тип напряжения

Min

Max

Vpower

Напряжение срабатывания сброса по включению питания

1.7v

2.2v

2.7v

Vreset

Напряжение срабатывания сброса по выводу RESET

0.6Vcc

Vbodlevel

Напряжение срабатывания сброса по Brown-Out

BODLEVEL=1

2.6v

2.7v

2.8v

Напряжение срабатывания сброса по Brown-Out

BODLEVEL=0

3.8v

4.0v

4.2v

Таблица 4. Установка времени сброса

CKSEL [2:0]

Время запуска

000

4mS + 6CK

001

6CK

010

64mS + 16K CK

011

4mS + 16K CK

100

16K CK

101

64mS + 1K CK

110

4mS + 1K CK

111

1K CK

ВНЕШНИЙ СБРОС

Внешний сброс обрабатывается по низкому уровню на выводе RESET. Вывод должен удерживаться в низком состоянии по крайней мере два периода тактовой частоты. После достижения напряжения Vrst запускается таймер задержки, через промежуток времени Tout процессор запускается.

BROWN-OUT

AT90S2333/4433 имеют встроенную схему отслеживания напряжения питания. Работа этой схемы разрешается и запрещается битом-перемычкой BODEN. Если бит BODEN запрограммирован, при уменьшении напряжения ниже заданного уровня срабатывает схема сброса. Время сброса задается как и для сброса по включению питания (табл.4). Уровень сброса устанавливается битом BODLEVEL на 2.7В если бит не запрограммирован или на 4В если бит запрограммирован. Уровень срабатывания имеет гистерезис 50мВ.

Для того, чтобы произошел сброс падение напряжения до уровня срабатывания должно продержаться не менее 3мкС для уровня срабатывания 4В (7мкС для 2.7В).

СБРОС ПО СТОРОЖЕВОМУ ТАЙМЕРУ

По истечению периода работы сторожевого таймера генерируется импульс длительностью 1 период тактовой частоты. По заднему фронту этого импульса запускается таймер, отсчитывающий время сброса


РЕГИСТР СОСТОЯНИЯ ПРОЦЕССОРА - MCUSR

Этот регистр содержит информацию о том, что явилось причиной сброса процессора.

MCUSR

34h(54h)

7

6

5

4

3

2

1

0

-

-

-

-

WDRF

BORF

EXTRF

PORF

R

R

R

R

R

R

R\W

R\W

Начальное значение

0

0

0

0

0

0

0

0

Биты 7..4 - зарезервированы. В AT90S2333/4433 эти биты зарезервированы и всегда читаются как 0.

Бит 3 - WDRF - этот бит устанавливается при сбросе от сторожевого таймера. Бит обнуляется при сбросе по включению питания или записью нуля.

Бит 2 - BORF - этот бит устанавливается при сбросе от схемы слежения за напряжением питания. Бит обнуляется при сбросе по включению питания или записью нуля.

Бит 1 - EXTRF - этот бит устанавливается при внешнем сбросе Бит обнуляется при сбросе по включению питания или записью нуля.

Бит 0 - PORF - этот бит устанавливается при сбросе по включению питания, бит очищается записью нуля.

Чтобы определить источник сброса пользователь должен в самом начале программы прочитать регистр MCUSR и обнулить все биты. Источник сброса определяется проверкой соответствующих флагов сброса.

ОБРАБОТКА ПРЕРЫВАНИЙ

AT90S2333/4433 имеют два регистра маскирования прерываний GIMSK - общий регистр маски прерываний и TIMSK -регистр маски прерываний от таймеров/счетчиков.

Когда возникает прерывание бит глобального разрешения прерываний I сбрасывается (ноль) и все прерывания запрещаются. Программа пользователя может установить этот бит для разрешения прерываний. Флаг разрешения прерываний I устанавливается в 1 при выполнении команды выхода из прерывания - RETI.

Когда программный счетчик устанавливается на текущий вектор прерывания для его обработки, соответствующий флаг, сгенерированный прерыванием, аппаратно сбрасывается. Некоторые флаги прерывания могут быть сброшены записью логической единицы в бит соответствующий флагу.


ОБЩИЙ РЕГИСТР МАСКИ ПРЕРЫВАНИЙ GIMSK

3Bh(5Bh)

7

6

5

4

3

2

1

0

INT1

INTO

-

-

-

-

-

-

R\W

R\W

R

R

R

R

R

R

Начальное значение

0

0

0

0

0

0

0

0

Бит 7 - INT1: Запрос внешнего прерывания 1 разрешен. Когда этот бит установлен, а также установлен бит I регистра состояния, разрешается прерывание от внешнего вывода. Биты управления запуском прерывания (ISC11 и ISC10) в регистре управления микроконтроллером (MCUCR) определяют по какому событию отрабатывается прерывание - по спадающему или нарастающему фронту или же по уровню. Активность на выводе приводит к возникновению прерываний даже если вывод сконфигурирован как выход. При возникновении прерывания выполняется программа, начинающаяся с адреса 002h в памяти программ. (см. также "Внешние прерывания").

Бит 6 - INT0: Запрос внешнего прерывания 0 разрешен. Когда этот бит установлен, а также установлен бит I регистра состояния, разрешается прерывание от внешнего вывода. Биты управления запуском прерывания (ISC01 и ISC00) в регистре управления микроконтроллером (MCUCR) определяют по какому событию отрабатывается прерывание - по спадающему или нарастающему фронту или же по уровню. Активность на выводе приводит к возникновению прерываний даже если вывод сконфигурирован как выход. При возникновении прерывания выполняется программа, начинающаяся с адреса $001 в памяти программ. (см. также "Внешние прерывания").

Биты 5..0 - зарезервированы. В AT90S2333/4433 эти биты зарезервированы и всегда читаются как 0.

ОБЩИЙ РЕГИСТР ФЛАГОВ ПРЕРЫВАНИЙ

GIFR

3Bh(5Bh)

7

6

5

4

3

2

1

0

INTF1

INTF0

-

-

-

-

-

-

R\W

R\W

R

R

R

R

R

R

Начальное значение

0

0

0

0

0

0

0

0

Бит 7 - INTF1: Флаг внешнего прерывания 1: При возникновении на выводе INT1 события вызывающего прерывание, INTF1 устанавливается в "1". Если установлены бит I регистра SREG и бит INT1 в GIMSK, происходит переход на вектор прерывания по адресу 002h. Флаг очищается после выполнения обработчика прерывания. Кроме того, флаг можно очистить, записав в него логическую единицу.

Бит 6 - INTF0: Флаг внешнего прерывания 0: При возникновении на выводе INT0 события вызывающего прерывание, INTF0 устанавливается в "1". Если установлены бит I регистра SREG и бит INT0 в GIMSK, происходит переход на вектор прерывания по адресу 001h. Флаг очищается после выполнения обработчика прерывания. Кроме того, флаг можно очистить, записав в него логическую единицу.

Биты 5..0 - зарезервированы. В AT90S2333/4433 эти биты зарезервированы и всегда читаются как 0.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18]