Реєстри TIMSK та TIFR

TOIE1OCIE1AOCIE1B-TICIE1-TOIE0-

Мал. 3.3. Структура регістра TIMSK мікроконтролерів AVR

TOV1OCF1AOCF1B-ICF1-TOV0-

Мал. 3.4. Структура регістру TIFR мікроконтролерів AVR

Коли розряд TOIE1 і розряд I у регістрі стану SREG встановлені в балку. 1, то можна переривання при переповненні Т/С1. У разі переповнення у регістрі TIFR встановлюється прапор TOV1.

Якщо розряд OCIE1A та розряд I у регістрі стану SREG встановлені в балку. 1, то дозволено переривання при збігу вмісту регістру порівняння А з поточним станом Т/С1. У разі збігу в регістрі TIFR встановлюється прапор OCF1 А.

Якщо розряд OCIE1B та розряд I у регістрі стану SREG встановлені в балку. 1, то дозволяється переривання при збігу вмісту регістру порівняння з поточним станом Т/С1. У разі збігу в регістрі TIFR встановлюється прапор OCF1B.

Якщо розряд TICIE1 та розряд I у регістрі стану SREG встановлені в балку. 1 то дозволяється переривання при виконанні умови захоплення. Коли виникає спрацювання із захоплення, у регістрі TIFR встановлюється прапор ICF1.

Якщо розряд TOIE0 і розряд I у регістрі стану SREG встановлені в балку. 1, дозволяється переривання при переповненні таймера/лічильника Т/СО. У такому випадку в регістрі TIFR встановлюється прапор TOV0.

Встановлення в балку. 1 одного з прапорів у регістрі TIFR призводить до переходу за відповідним вектором переривання. При вході в підпрограму обробки переривання прапор у регістрі TIFR апаратно скидається в балку. 0.

Скидання

Можливі наступні варіанти скидання:

скидання при включенні живлення;

зовнішнє скидання – сигнал скидання подається на відповідний висновок мікроконтролера;

скидання від сторожового таймера – мікроконтролер скидається після закінчення часу, заданого сторожовим таймером, якщо цей таймер було дозволено.

"Сплячі" режими процесора

Мікроконтролери AVR допускають перехід у "сплячий" режим, коли відбувається тимчасове відключення генератора тактових імпульсів. У такому режимі споживання енергії зведено до мінімуму, а вихід із нього здійснюється при отриманні запиту на переривання.

Перехід в "сплячий" режим реалізується по асемблерній команді sleep. У разі мікроконтролерів AVR, при цьому має бути попередньо встановлений у балку. 1 розряд SE (розряд 5) регістру управління MCUCR.

Для мікроконтролерів AVR може бути обраний один із двох "сплячих" режимів:

У режимі очікування (Idle Mode) робота процесора припиняється, але таймер/лічильник, сторожовий таймер, система переривань і тактування залишаються активними. Завдяки цьому центральний процесор може бути повернений у звичайний режим роботи за допомогою сторожового таймера, таймера/лічильника або зовнішнього переривання.

У режимі зниженого енергоспоживання (Power Down Mode) системний осцилятор (а отже, і весь мікроконтролер) перебуває у вимкненому стані. У такому режимі за допомогою внутрішнього RC-генератора коливань може включатися лише сторожовий таймер зі своїм власним тактовою частотою. Активний сторожовий таймер після закінчення часу затримки знову переводить мікроконтролер у нормальний стан. Якщо сторожовий таймер також вимкнено, то в нормальний стан його може перевести лише зовнішній сигнал скидання або зовнішнє переривання.

Вибір одного з "сплячих" режимівмікроконтролери AVR здійснюється за допомогою розряду SM (розряд 4) регістра управління MCUCR. Якщо розряд SM встановлено в балку. 1, то мікроконтролер переводиться в режим зниженого енергоспоживання наступною командою sleep, якщо розряд SM скинуто в балку. 0, то наступний мікроконтролер переводиться в режим очікування в тому випадку, якщо раніше в регістрі MCUCR був встановлений розряд SE.