Рефераты. AVR микроконтроллер AT90S2333 фирмы Atmel






 

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

INT0

-

-

-

-

-

-

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.




РЕГИСТР МАСКИ ПРЕРЫВАНИЯ ОТ ТАЙМЕРА/СЧЕТЧИКА – TIMSK

TIMSK


    39h(59h)

7

6

5

4

3

2

1

0

TOIE1

OCIE1A

-

-

TICIE1

-

TOIE0

-

R\W

R\W

R\W

R\W

R\W

R\W

R\W

R\W

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

0

0

0

0

0

0

0

0



Бит 7 - TOIE1: Разрешение прерывания по переполнению таймера/счет­чика 1: Если установлен этот бит и бит разрешения прерываний в регист­ре состояния, разрешены прерывания по переполнению таймера/счетчика 1. Соответствующее прерывание (вектор $005) выполняется при переполнении таймера/счетчика 1. В регистре флагов таймеров/счетчиков (TIFR) уста­навливается флаг переполнения. Если таймер/счетчик 1 работает в режиме ШИМ, флаг переполнения устанавливается при изменении направления сче­та, при значении 0000h.


Бит 6 - OCIE1A: Разрешение прерывания по совпадению таймера/счетчи­ка 1: Если установлены бит OCIE1A и бит разрешения прерывания в регис­тре состояния, разрешены прерывания по совпадению таймера/счетчика 1. Прерывание (вектор 004h) выполняется при равенстве таймера/счетчика 1 и регистра совпадения. Во флаговом регистре TIFR устанавливается ("1") флаг совпадения.


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


Бит 3 - TICIE1: Разрешение прерывания по входу захвата: Если уста­новлены бит TICIE1 и бит разрешения прерывания в регистре состояния, разрешены прерывания по входу захвата. Соответствующее прерывание (вектор 003h) выполняется по сигналу захвата на выводе 11 (PD6/ICP). Во флаговом регистре TIFR устанавливается ("1") флаг захвата.

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


Бит 1 - TOIE0: Разрешение прерывания по переполнению таймера/счетчи­ка 0. Если этот бит установлен в 1, и бит I в регистре состояния уста­новлен в 1, разрешены прерывания по переполнению таймера/счетчика 0. При возникновении переполнения выполняется соответствующий вектор пре­рывания (006h). Флаг переполнения (TOV0) во флаговом регистре прерыва­ний (TIFR) таймеров/счетчиков устанавливается в 1.


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

 



 

РЕГИСТР ФЛАГОВ ПРЕРЫВАНИЙ ОТ ТАЙМЕРОВ/СЧЕТЧИКОВ – TIFR

 

TIFR

 

    38h(58h)

7

6

5

4

3

2

1

0

TOV1

OCF1

-

-

ICF1

-

TOV0

-

R\W

R\W

R\W

R\W

R\W

R\W

R\W

R\W

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

0

0

0

0

0

0

0

0



Бит 7 - TOV1: Флаг переполнения таймера/счетчика 1: Флаг TOV1 уста­навливается ("1") при возникновении переполнения таймера/счетчика 1. Флаг TOV1 сбрасывается аппаратно при выполнении соответствующего век­тора обработки прерывания. Кроме того, флаг можно сбросить, записав в него логическую единицу. Если установлены бит I в SREG и бит TOIE1 в TIMSK, при установке бита TOV1 выполняется прерывание по переполнению таймера/счетчика 1. В режиме ШИМ этот бит устанавливается, когда тай­мер/счетчик 1 изменяет направление счета при значении 0000h.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.