Главная  Микроконтроллеры 

[0] [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] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

$ЗА($5А)

INTF1 1

INTFO 1

- 1

1 - 1

1 - 1

1 - 1

- 1

1 - 1

ЧтУзап.

Нач. знач.

•> , Рис. 2.21. Общий регистр флагов прерываний GIFR

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

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

Биты 5...0 - в AT90S2313 зарезервированы и всегда читаются какО. , . > ...... : •<

iBHT 7654321 о

$39 ($59) I TOIE1 0С1Е1А - - [ TICIE1 - TOIE0 - TIMSK

Чт7зап. R/W R/W R R R/W R R/W R

Нач. знач. СООООООО

Рис. 2.22. Регистр маски прерываний от таймера/счетчика TIMCK

i Бит 7 - TOIE1: разрешение прерывания по переполнению таймера/счетчика I. Если установлены этот бит и бит разрешения прерываний в регистре состояния, разрешены прерывания по переполнению таймера/счетчика I. Соответствующее прерывание (вектор $005) выполняется при переполнении таймера/счетчика I. В регистре

вания выполняется переход по адресу $001 для выполнения подпрограммы обработки прерывания.

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



флагов таймеров/счетчиков (TIFR) устанавливается флаг переполнения. Если таймер/счетчик 1 работает в режиме широтно-импульсной модуляции (ШИМ), флаг переполнения устанавливается при изменении направления счета, при значении $0000.

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

Биты 5, 4 - в AT90S2313 зарезервированы и всегда читаются! какО.

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

Бит 2 - в AT90S2313 зарезервирован и всегда читается как 0.

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

Бит О - в AT90S2313 зарезервирован и всегда читается как 0.

Бит 7654321 О

$38 ($58) I TOV1 I OCF1A - - ICF1 - TOV0 - TIFR

Чт./зап. RMfRWR RRMRRMR

Нач. знач. 00000000

Рис. 2.23. Регистр флагов прерываний от таймеров/счетчиков TIFR

Бит 7 - TOV1: флаг переполнения таймера/счетчика 1. Флаг TOV1 устанавливается в 1 при возникновении переполнения таймера/счетчика 1. Флаг TOV1 сбрасывается аппаратно при выполнении соответствующего вектора обработки прерывания. Кроме того, флаг



можно сбросить, записав в него логическую единицу. Если установлены бит I в SREG и бит TOIE1 в Т1МСК, при установке бита T0V1 выполняется прерывание по переполнению таймера/счетчика 1. В режиме ШИМ этот бит устанавливается, когда таймер/счетчик 1 изменяет направление счета при значении $0000.

Бит 6 - OCF1A: флаг выхода совпадения 1 А. Флаг устанавливается в 1 если происходит совпадение значения таймера/счетчика 1 и данных в регистре OCR1A. Флаг очищается аппаратно при выполнении соответствующего вектора прерывания. Кроме того, флаг можно сбросить, записав в него логическую единицу. Если установлены бит I в SREG и бит 0CIE1А в TIMCK, при установке бита 0CF1А выполняется прерывание.

Биты 5,4 - в AT90S2313 зарезервированы и всегда читаются как 0.

Бит 3 - ICF1: флаг входа захвата 1. Бит устанавливается в 1 при возникновении события захвата по входу, он индицирует, что значение таймера/счетчика 1 скопировано в регистр захвата по входу ICR1. ICF1 очищается при выполнении соответствующего вектора обработки прерывания. Кроме того, флаг можно очистить, записав в него логическую единицу.

Бит 2 - в AT90S2313 зарезервирован и всегда читается как 0.

Бит 1 - TOV0: флаг переполнения таймера счетчика 1. Флаг TOV0 устанавливается при переполнении таймера/счетчика 0. Флаг сбрасывается аппаратно при выполнении соответствующего вектора прерывания. Кроме того, флаг можно очистить, записав в него логическую единицу. Если установлены бит I в SREG и бит TOIE0 в TIMCK, при установке бита TOV0 выполняется прерывание по пере- . полнению таймера/счетчика 0.

Бит О - в AT90S2313 зарезервирован и всегда читается как 0.

Внешние прерывания

Внешние прерывания управляются выводами INTO и INT1. Обратите внимание на то, что прерывания обрабатьтаются, даже когда выводы сконфигурированы как выходы. Это позволяет генерировать программные прерывания. Внешние прерывания могут возникать по спадающему или нарастающему фронту, а также по низкому уровню. Это устанавливается в регистре управления процессором MCUCR.



[0] [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] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

0.001